configure-tests
/configure:tests
Check and configure testing frameworks against best practices (Vitest, Jest, pytest, cargo-nextest).
When to Use This Skill
| Use this skill when... | Use another approach when... |
|---|---|
| Setting up testing infrastructure | Just running tests (use /test:run skill) |
| Checking test framework configuration | Tests already properly configured |
| Migrating to modern test frameworks (Vitest, pytest, nextest) | Writing individual tests (write tests directly) |
| Validating coverage configuration | Debugging failing tests (check test output) |
| Ensuring test best practices | Simple project with no testing needed |
Context
- Package.json: !
find . -maxdepth 1 -name \'package.json\' - Pyproject.toml: !
find . -maxdepth 1 -name \'pyproject.toml\' - Cargo.toml: !
find . -maxdepth 1 -name \'Cargo.toml\' - Test config files: !
find . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'jest.config.*' -o -name 'pytest.ini' -o -name '.nextest.toml' \) - Pytest in pyproject: !
grep -c 'tool.pytest' pyproject.toml - Test directories: !
find . -maxdepth 2 -type d \( -name 'tests' -o -name '__tests__' -o -name 'test' \) - Test scripts in package.json: !
grep -m5 -o '"test[^"]*"' package.json - Coverage config: !
grep -l 'coverage' vitest.config.* jest.config.* - Project standards: !
find . -maxdepth 1 -name '.project-standards.yaml' -type f
Modern testing stack preferences:
- JavaScript/TypeScript: Vitest (preferred) or Jest
- Python: pytest with pytest-cov
- Rust: cargo-nextest for improved performance
Parameters
Parse these from $ARGUMENTS:
| Flag | Description |
|---|---|
--check-only |
Report status without offering fixes |
--fix |
Apply all fixes automatically without prompting |
--framework <framework> |
Override framework detection (vitest, jest, pytest, nextest) |
Version Checking
CRITICAL: Before flagging outdated versions, verify latest releases:
- Vitest: Check vitest.dev or GitHub releases
- Jest: Check jestjs.io or npm
- pytest: Check pytest.org or PyPI
- cargo-nextest: Check nexte.st or GitHub releases
Use WebSearch or WebFetch to verify current versions before reporting outdated frameworks.
Execution
Execute this testing framework compliance check:
Step 1: Detect framework
Identify the project language and existing test framework:
| Indicator | Language | Detected Framework |
|---|---|---|
vitest.config.* |
JavaScript/TypeScript | Vitest |
jest.config.* |
JavaScript/TypeScript | Jest |
pyproject.toml [tool.pytest] |
Python | pytest |
pytest.ini |
Python | pytest |
Cargo.toml |
Rust | cargo test |
.nextest.toml |
Rust | cargo-nextest |
If --framework flag is provided, use that value instead.
Step 2: Analyze current state
Read the detected framework's configuration and check completeness. For each framework, verify:
Vitest:
- Config file exists (
vitest.config.tsor.js) globals: trueconfigured for compatibilityenvironmentset appropriately (jsdom, happy-dom, node)- Coverage configured with
@vitest/coverage-v8or@vitest/coverage-istanbul - Watch mode exclusions configured
Jest:
- Config file exists (
jest.config.jsor.ts) testEnvironmentconfigured- Coverage configuration present
- Transform configured for TypeScript/JSX
- Module path aliases configured
pytest:
pyproject.tomlhas[tool.pytest.ini_options]sectiontestpathsconfiguredaddoptsincludes useful flags (-v,--strict-markers)markersdefined for test categorizationpytest-covinstalled
cargo-nextest:
.nextest.tomlexists- Profile configurations (default, ci)
- Retry policy configured
- Test groups defined if needed
Step 3: Report results
Print a compliance report with:
- Detected framework and version
- Configuration check results for each item
- Test organization (unit/integration/e2e directories)
- Package scripts status (test, test:watch, test:coverage)
- Overall issue count and recommendations
If --check-only, stop here.
Step 4: Apply fixes (if --fix or user confirms)
Install dependencies and create configuration using templates from REFERENCE.md:
- Missing config: Create framework config file from template
- Missing dependencies: Install required packages
- Missing coverage: Add coverage configuration with 80% threshold
- Missing scripts: Add test scripts to package.json
- Missing test directories: Create standard test directory structure
Step 5: Set up test organization
Create standard test directory structure for the detected language. See directory structure patterns in REFERENCE.md.
Step 6: Configure CI/CD integration
Check for test commands in GitHub Actions workflows. If missing, add CI test commands using the CI templates from REFERENCE.md.
Step 7: Handle migration (if upgrading)
If migrating between frameworks (e.g., Jest to Vitest, unittest to pytest), follow the migration guide in REFERENCE.md.
Step 8: Update standards tracking
Update .project-standards.yaml:
standards_version: "2025.1"
last_configured: "<timestamp>"
components:
tests: "2025.1"
tests_framework: "<vitest|jest|pytest|nextest>"
tests_coverage_threshold: 80
tests_ci_integrated: true
For detailed configuration templates, migration guides, CI/CD integration examples, and directory structure patterns, see REFERENCE.md.
Agentic Optimizations
| Context | Command |
|---|---|
| Detect test framework | find . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'jest.config.*' -o -name 'pytest.ini' \) 2>/dev/null |
| Check coverage config | grep -l 'coverage' package.json pyproject.toml 2>/dev/null |
| List test files | find . \( -path '*/tests/*' -o -path '*/test/*' -o -name '*.test.*' -o -name '*.spec.*' \) 2>/dev/null | head -n 10 |
| Quick compliance check | /configure:tests --check-only |
| Auto-fix configuration | /configure:tests --fix |
Error Handling
- No package.json found: Cannot configure JS/TS tests, skip or error
- Conflicting frameworks: Warn about multiple test configs, require manual resolution
- Missing dependencies: Offer to install required packages
- Invalid config syntax: Report parse error, offer to replace with template
See Also
/configure:coverage- Configure coverage thresholds and reporting/configure:all- Run all compliance checks/test:run- Universal test runner/test:setup- Comprehensive testing infrastructure setup- Vitest documentation: https://vitest.dev
- pytest documentation: https://docs.pytest.org
- cargo-nextest documentation: https://nexte.st