安装
npx skills add https://github.com/laurigates/claude-plugins --skill 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
- 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.ts
- or
- .js
- )
- globals: true
- configured for compatibility
- environment
- set appropriately (jsdom, happy-dom, node)
- Coverage configured with
- @vitest/coverage-v8
- or
- @vitest/coverage-istanbul
- Watch mode exclusions configured
- Jest:
- Config file exists (
- jest.config.js
- or
- .ts
- )
- testEnvironment
- configured
- Coverage configuration present
- Transform configured for TypeScript/JSX
- Module path aliases configured
- pytest:
- pyproject.toml
- has
- [tool.pytest.ini_options]
- section
- testpaths
- configured
- addopts
- includes useful flags (
- -v
- ,
- --strict-markers
- )
- markers
- defined for test categorization
- pytest-cov
- installed
- cargo-nextest:
- .nextest.toml
- exists
- 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
- :
- ""
- components
- :
- tests
- :
- "2025.1"
- tests_framework
- :
- ""
- 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
← 返回排行榜