From devflow
Execute all project validations using parallel subagents: tests, linting, type checking, and build
npx claudepluginhub docutray/docutray-claude-code-plugins --plugin devflow# Check Command Execute all project validations in parallel using specialized subagents, providing structured reporting of results. ## Usage ## Objective Execute all critical project validations in parallel: - π§ͺ **Tests**: Run complete test suite - π **Linting**: Verify code quality - π **Type Checking**: Validate types (language-specific) - ποΈ **Build**: Compile complete project (optional with --fast) Optional (repo-specific): - π **OPSX**: Verify and/or archive an OPSX change before opening a PR **Note**: Specific commands are configured per project in `.claude/details/comman...
/checkRuns project validation checks like lint/test across JavaScript/TypeScript, Python, Go, Rust, Ruby and auto-fixes errors without committing changes.
/checkRuns project validation checks like lint/test across JavaScript/TypeScript, Python, Go, Rust, Ruby and auto-fixes errors without committing changes.
/checkDetects drift between SPEC.md and codebase for invariants (Β§V), interfaces (Β§I), and tasks (Β§T). Produces severity-grouped report with classifications, evidence, and remedy hints. Read-only.
/checkSpawns task-check agent to verify task completion given task ID, location (file path or CLI command), work summary, and optional attempt number.
/checkRuns myfy doctor for app validation, ruff linting, ty type checking, and pytest tests. Summarizes PASS/FAIL results with fix guidance on failures.
/checkChecks status of Gateway API resources (GatewayClass, Gateway) in Kubernetes/OpenShift cluster, optionally in a namespace. Outputs summary of counts, conditions, addresses, listeners, and errors.
Execute all project validations in parallel using specialized subagents, providing structured reporting of results.
/check # Execute all validations
/check --fast # Only tests, linting, and type checking (skip build)
/check --verbose # Show full output from each task
Execute all critical project validations in parallel:
Optional (repo-specific):
Note: Specific commands are configured per project in .claude/details/commands/check.md
IMPORTANT - Parallel execution with subagents
.claude/details/commands/check.md for project-specific commandsCRITICAL: Before executing, read project-specific commands from:
.claude/details/commands/check.md
This file must define:
{
"validations": {
"tests": {
"command": "npm run test",
"description": "Run test suite",
"enabled": true
},
"lint": {
"command": "npm run lint",
"description": "Code quality validation",
"enabled": true
},
"typecheck": {
"command": "npm run type-check",
"description": "Type validation",
"enabled": true
},
"build": {
"command": "npm run build",
"description": "Project compilation",
"enabled": true,
"skip_on_fast": true
}
}
}
If the repo uses OPSX (i.e., it has openspec/config.yaml or openspec/ directory), you can include OPSX validations in .claude/details/commands/check.md.
Common pattern: derive the change name from the current branch and run openspec status and/or openspec workflow verify.
Example validations:
{
"validations": {
"opsx_status": {
"command": "CHANGE=$(git branch --show-current | sed 's|.*/||'); test -d openspec/changes/$CHANGE && openspec status --change $CHANGE",
"description": "Check OPSX change status for current branch",
"enabled": false
},
"opsx_verify": {
"command": "CHANGE=$(git branch --show-current | sed 's|.*/||'); test -d openspec/changes/$CHANGE && openspec workflow verify $CHANGE",
"description": "Verify implementation matches specs (pre-PR gate)",
"enabled": false
}
}
}
Notes:
openspec/changes/.command accordingly./opsx:verify and /opsx:archive slash commands for interactive verification and archiving.Framework Examples:
TypeScript/JavaScript:
{
"validations": {
"tests": {"command": "npm run test"},
"lint": {"command": "npm run lint"},
"typecheck": {"command": "npx tsc --noEmit"},
"build": {"command": "npm run build"}
}
}
Python:
{
"validations": {
"tests": {"command": "pytest"},
"lint": {"command": "flake8 . && black --check ."}
}
}
Go:
{
"validations": {
"tests": {"command": "go test ./..."},
"lint": {"command": "golangci-lint run"},
"build": {"command": "go build ./..."}
}
}
# Show process start
echo "π STARTING PROJECT VALIDATIONS"
echo ""
echo "π Scheduled validations:"
# List enabled validations from config
echo ""
echo "β³ Executing in parallel..."
echo ""
CRITICAL: Use Task tool to execute ALL subagents in parallel in a single invocation:
Use the Task tool with multiple concurrent calls:
For each enabled validation in config:
- <validation-name>-runner subagent: "Execute <command> and provide structured JSON report"
Example for TypeScript project:
- test-runner subagent: "Execute npm run test and provide structured JSON report"
- lint-runner subagent: "Execute npm run lint and provide structured JSON report"
- typecheck-runner subagent: "Execute npx tsc --noEmit and provide structured JSON report"
- build-runner subagent: "Execute npm run build and provide structured JSON report" (unless --fast)
IMPORTANT: Launch all subagents in a SINGLE message with multiple Task tool calls for parallel execution.
Subagent Response Format: Each subagent should return JSON:
{
"validation": "tests",
"status": "success|warning|error",
"duration": 12.3,
"summary": "145 tests passed",
"details": "Full output...",
"errors": [],
"warnings": []
}
Once all JSON responses received:
Parse JSON responses from each subagent
Calculate total metrics:
Generate consolidated report
During Execution
π STARTING PROJECT VALIDATIONS
π Scheduled validations:
π§ͺ Tests - Running test suite
π Linting - Verifying code quality
π Type Checking - Type validation
ποΈ Build - Compiling project
β³ Executing in parallel...
β
Linting completed (3.4s)
β
Type Checking completed (8.5s)
β
Tests completed (12.3s)
β
Build completed (45.2s)
Final Report - Success Case
β
ALL VALIDATIONS COMPLETED
π Executive Summary:
βββββββββββββββββββ¬ββββββββββ¬ββββββββββ¬βββββββββββββββββββββββ
β Validation β Status β Time β Result β
βββββββββββββββββββΌββββββββββΌββββββββββΌβββββββββββββββββββββββ€
β π§ͺ Tests β β
OK β 12.3s β 145 passed β
β π Linting β β οΈ WARNβ 3.4s β 3 warnings β
β π Type Check β β
OK β 8.5s β No type errors β
β ποΈ Build β β
OK β 45.2s β Success β
βββββββββββββββββββ΄ββββββββββ΄ββββββββββ΄βββββββββββββββββββββββ
β±οΈ Total time: 45.2s (executed in parallel)
π― General status: β
SUCCESS
Validations completed successfully. Project is ready.
Final Report - Failure Case
β VALIDATIONS FAILED
π Executive Summary:
βββββββββββββββββββ¬ββββββββββ¬ββββββββββ¬βββββββββββββββ
β Validation β Status β Time β Result β
βββββββββββββββββββΌββββββββββΌββββββββββΌβββββββββββββββ€
β π§ͺ Tests β β FAIL β 8.1s β 12 failed β
β π Linting β β
OK β 3.4s β No issues β
β π Type Check β β FAIL β 5.2s β 5 errors β
β ποΈ Build β β FAIL β 15.7s β Build failed β
βββββββββββββββββββ΄ββββββββββ΄ββββββββββ΄βββββββββββββββ
β±οΈ Total time: 15.7s (executed in parallel)
π― General status: β ERRORS FOUND
π§ Recommended actions:
β’ Review failed tests in test suite
β’ Resolve type errors
β’ Fix build problems
For complete details, use: /check --verbose
If --verbose specified, also show:
π COMPLETE DETAILS
π§ͺ TESTS:
[Raw output from test-runner subagent]
π LINTING:
[Raw output from lint-runner subagent]
π TYPE CHECKING:
[Raw output from typecheck-runner subagent]
ποΈ BUILD:
[Raw output from build-runner subagent]
Real-time During Execution
π STARTING PROJECT VALIDATIONS
β³ Executing tests, linting, type checking and build in parallel...
β
Linting completed (3.1s)
β
Type Checking completed (7.2s)
β
Tests completed (8.7s)
β
Build completed (45.2s)
π Generating final report...
Possible States per Task
REQUIRED: Each project MUST configure validation commands in:
.claude/details/commands/check.md
This file should include:
Example for TypeScript/Node.js:
{
"validations": {
"tests": {
"command": "npm run test",
"description": "Jest test suite",
"enabled": true
},
"lint": {
"command": "npm run lint",
"description": "ESLint validation",
"enabled": true
},
"typecheck": {
"command": "npx tsc --noEmit",
"description": "TypeScript strict validation",
"enabled": true
},
"build": {
"command": "npm run build",
"description": "Next.js build",
"enabled": true,
"skip_on_fast": true
}
}
}
Example for Python:
{
"validations": {
"tests": {
"command": "pytest -v",
"description": "Pytest suite",
"enabled": true
},
"lint": {
"command": "flake8 . && black --check . && isort --check .",
"description": "Code quality (flake8, black, isort)",
"enabled": true
},
"typecheck": {
"command": "mypy .",
"description": "Type checking with mypy",
"enabled": true
}
}
}
Projects must configure this file during /devflow-setup
Execute the command /check based on content of $ARGUMENTS and strictly follow this process.