run-tests
The run-tests command executes project tests using a tiered approach that first identifies and runs tests affected by recent code changes, then proceeds to the full unit test suite and integration tests if earlier phases pass. Use this command during development to quickly validate changes before committing, leveraging framework detection for Node.js, Python, Go, and Rust projects with detailed failure analysis and flaky test identification.
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/CloudAI-X/claude-workflow-v2/HEAD/commands/run-tests.md -o ~/.claude/commands/run-tests.mdrun-tests.md
# Run Tests Run tests efficiently with tiered approach: affected tests first, then full suite. ## Phase 1: Detect Test Framework Identify testing setup: ```bash # Node.js cat package.json | grep -E '"(jest|vitest|mocha|ava|tap)"' # Python ls pytest.ini pyproject.toml setup.cfg 2>/dev/null | head -1 # Go ls *_test.go 2>/dev/null | head -1 # Rust ls Cargo.toml 2>/dev/null ``` ## Phase 2: Identify Affected Tests Based on git diff, find related tests: ```bash # Get changed files git diff --name-only HEAD~1 # Find corresponding test files # Convention: foo.ts -> foo.test.ts or foo.spec.ts ``` ## Phase 3: Run Tests (Tiered Approach) ### Tier 1: Affected Tests Only (Fast) ```bash # Node.js with Jest/Vitest npm test -- --findRelatedTests [changed files] npx vitest run --changed # Python with pytest pytest [specific test files] -x --tb=short # Go go test -run [TestName] ./... ``` ### Tier 2: Full Unit Test Suite If Tier 1 passes: ```bash npm test pytest tests/unit/ go test ./... cargo test ``` ### Tier 3: Integration Tests If Tier 2 passes: ```bash npm run test:integration pytest tests/integration/ go test -tags=integration ./... ``` ## Phase 4: Analyze Failures For each failure: 1. Parse error message 2. Identify failing assertion 3. Trace to source code 4. Suggest fix ## Output Format ``` ## Test Results: [PASS/FAIL] ### Summary - Total: X tests - Passed: Y - Failed: Z - Skipped: W - Duration: [time] ### Failed Tests 1. **test_name** - `file:line` - Expected: [value] - Actual: [value] - Likely cause: [analysis] - Suggested fix: [fix] ### Flaky Test Detection - [Any tests that passed on retry] ### Coverage (if available) - Lines: X% - Branches: Y% - Functions: Z% ### Recommendation [SAFE TO COMMIT / FIX REQUIRED / INVESTIGATE FLAKY] ``` ## Continue Until Green If tests fail: 1. Report the failure clearly 2. Attempt to fix the failing code (not just the test) 3. Re-run tests 4. Repeat until green or max 3 attempts ## Usage This command ships with the project-starter plugin. Invoke with: `/project-starter:run-tests`
Expert code review specialist. Use PROACTIVELY after writing or modifying code, before commits, when asked to review changes, PR review, code quality check, lint, or standards audit. Focuses on quality, security, performance, and maintainability.
Expert debugging specialist for errors, test failures, crashes, segmentation faults, memory leaks, timeouts, race conditions, deadlocks, and unexpected behavior. Use PROACTIVELY when encountering any error, exception, or failing test. Performs systematic root cause analysis.
Technical documentation specialist. Use for creating README files, API documentation, architecture docs, inline comments, user guides, changelogs, migration guides, release notes, FAQs, and troubleshooting docs. MUST BE USED when documentation is needed or when code changes require doc updates.
Master coordinator for complex multi-step tasks. Use PROACTIVELY when a task involves 2+ modules, requires delegation to specialists, needs architectural planning, or involves GitHub PR workflows. MUST BE USED for open-ended requests like "improve", "enhance", "build", "scale", "refactor", "add feature", "system design", "architecture", "complex task", or when implementing features from GitHub issues.
Code refactoring specialist for improving code quality, reducing technical debt, eliminating code smells, reducing complexity, and applying design patterns. Use PROACTIVELY when code needs restructuring, simplification, tech debt reduction, or when applying DRY/SOLID principles.
Security specialist for vulnerability detection, secure coding review, and security hardening. Use PROACTIVELY when handling authentication, authorization, encryption, secrets, credentials, OAuth, JWT, CORS, headers, user input, API keys, or sensitive data. Checks for OWASP Top 10 and common vulnerabilities.
Testing strategy specialist for designing test suites, writing tests, and ensuring comprehensive coverage. Use PROACTIVELY when adding new features, fixing bugs, improving test coverage, creating test plans, mocking strategies, handling flaky tests, or writing integration/E2E tests.
Add tests for recently changed files or specified code