configure-tests

Check and configure testing frameworks against best practices (Vitest, Jest, pytest, cargo-nextest).

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "configure-tests" with this command: npx skills add laurigates/claude-plugins/laurigates-claude-plugins-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.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: "<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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ruff linting

No summary provided by upstream source.

Repository SourceNeeds Review
General

imagemagick-conversion

No summary provided by upstream source.

Repository SourceNeeds Review
General

jq json processing

No summary provided by upstream source.

Repository SourceNeeds Review