What it does
Defines Test Environment Requirements for one environment (components/versions, config, baseline data state, virtualized dependencies, supported levels, risk coverage), provisions reproducible isolated artifacts (docker-compose/env/seed/mocks), and runs a readiness checklist that gates the env READY only if every item passes. Owns environment provisioning, not data factories.
When to use it
Setting up, documenting, or verifying a test environment.
Prerequisites
qa.config.yml (run /qa:qa-init first); a framework under paths.tests_dir (run /qa:scaffold if none). Honors paths.*, tooling.*, ci.*, environments[], risk_areas, test_data.*.
Output
Test Environment Requirements -> paths.docs_dir/environments/<name>.md plus provisioning artifacts under paths.tests_dir (29119-3 Test Environment Requirements).
Mechanics
How it works
- Config guard, then read paths/tooling/ci/environments/risk_areas/test_data
- Resolve the target environment from arguments or environments[] (default to a single ci env if absent)
- Define Test Environment Requirements: components/versions, config, baseline data state, virtualized deps, supported levels, risk coverage
- Provision reproducible, isolated, parallel-safe artifacts (docker-compose/env/seed hooks/mock servers) under paths.tests_dir
- Run the readiness checklist (PASS/FAIL) and a smoke check; gate READY only if every item passes
- Write the requirements doc and a coverage summary; reference secrets via test_data.secrets_store only
Why it works
The theory behind it
Test implementation — environment setup so testware can execute (CTFL v4.0 §1.4, §6; CT-TAE). Controlled environments make results reproducible and defects diagnosable; declares the required data state while /qa:test-data builds the factories.
CTFL v4.0 §1.4 · §6 · CT-TAE
Example
See it in use
> /qa:test-env qa✓ Correct when It documents the qa environment (URL, data, config) from the environments list and gates readiness PASS/FAIL.
Related commands
Used by