- Context
- Project files: !
- find . -maxdepth 1 ( -name 'pyproject.toml' -o -name 'package.json' -o -name 'Cargo.toml' -o -name 'go.mod' )
- Playwright config: !
- find . -maxdepth 1 -name 'playwright.config.*'
- Vitest config: !
- find . -maxdepth 1 ( -name 'vitest.config.' -o -name 'vite.config.' )
- Jest config: !
- find . -maxdepth 1 -name 'jest.config.*'
- Pytest config: !
- grep -l "pytest" pyproject.toml setup.cfg
- Package.json exists: !
- find . -maxdepth 1 -name 'package.json' -type f
- Parameters
- $1
- (required): Test file path or pattern (e.g.,
- login.spec.ts
- ,
- tests/e2e/auth.spec.ts
- )
- --serial
-
- Force sequential execution with single worker (useful for WebGL, database tests)
- --debug
- Run in debug/headed mode for visual debugging Your task Run a single test file in fail-fast mode for rapid development iteration. Stop immediately on first failure to minimize feedback time. 1. Detect test framework and construct command Playwright (if playwright.config.* exists):
Standard fail-fast
bunx playwright test " $FILE " --max-failures = 1 --reporter = line
With --serial (WebGL, shared state)
bunx playwright test " $FILE " --max-failures = 1 --workers = 1 --reporter = line
With --debug
bunx playwright test " $FILE " --max-failures = 1 --headed --debug Vitest (if vitest.config. or vite.config. exists):
Standard fail-fast
bunx vitest run " $FILE " --bail = 1 --reporter = dot
With --serial
bunx vitest run " $FILE " --bail = 1 --pool = forks --poolOptions.threads.singleThread --reporter = dot
With --debug
bunx vitest run " $FILE " --bail = 1 --inspect-brk Jest (if jest.config.* exists):
Standard fail-fast
bunx jest " $FILE " --bail --silent
With --serial
bunx jest " $FILE " --bail --runInBand --silent
With --debug
bunx jest " $FILE " --bail --runInBand pytest (Python projects):
Standard fail-fast
python -m pytest " $FILE " -x -v --tb = short
With --serial (already serial by default)
python -m pytest " $FILE " -x -v --tb = short
With --debug
python -m pytest " $FILE " -x -v --tb = long -s Cargo test (Rust projects):
Standard fail-fast
cargo test --test " $FILE " -- --test-threads = 1
With --debug
cargo test --test " $FILE " -- --test-threads = 1 --nocapture Go test :
Standard fail-fast
go test -v -failfast " $FILE "
With --debug
go test -v -failfast " $FILE " -count = 1 2. Execute the test Run the constructed command. Capture and display output. 3. Analyze results If the test passes :
Duration: Xs Ready for next iteration or file. If the test fails :
Duration: Xs First failure: Test: [test name] Error: [brief error message] Location: [file:line] Quick actions: - Fix the issue and re-run: /test:focus [same file] - Debug visually: /test:focus file --debug - See full output: /test:run file 4. Provide rerun command Always show the exact command to rerun: Rerun: /test:focus $FILE Time savings context Focused testing dramatically reduces feedback time: Approach Typical Duration Use Case /test:focus 2-30 seconds Iterating on single file /test:quick 30 seconds Unit tests after changes /test:full 5-30 minutes Before commit/PR Agentic optimizations Context Flags Playwright fast --max-failures=1 --reporter=line Playwright WebGL --max-failures=1 --workers=1 --reporter=line Vitest fast --bail=1 --reporter=dot Jest fast --bail --silent pytest fast -x -v --tb=short Error handling If file not found: List similar test files with glob and suggest corrections If framework not detected: Show available package.json scripts containing "test" If test times out: Suggest --serial flag or increasing timeout