Validate Build
Validates project build process. Run after changes to ensure the project compiles/transpiles correctly.
Validate Build
Validate that the project builds successfully. Run BEFORE commits to catch build failures early.
Phase 1: Detect Build System
Identify the project's build system:
# Check for common build configurations
ls package.json Makefile setup.py pyproject.toml go.mod Cargo.toml CMakeLists.txt 2>/dev/null
Phase 2: Run Build Commands
Based on detected system:
Node.js/TypeScript
npm run build 2>&1 || yarn build 2>&1 || pnpm build 2>&1 || bun run build 2>&1
Python
python -m py_compile **/*.py
# or for packages:
pip install -e . --dry-run
Go
go build ./...
Rust
cargo build
Phase 3: Verify Build Artifacts
Check that expected outputs exist:
dist/orbuild/directory for JS/TS- Compiled binaries for Go/Rust
- No missing dependencies
# Example for Node.js
ls -la dist/ build/ 2>/dev/null
Phase 4: Check for Warnings
Parse build output for:
- Deprecation warnings
- Unused variables/imports
- Performance warnings
- Type coercion warnings
Output Format
## Build Validation: [PASS/FAIL]
### Build Command
[command used]
### Result
- Exit code: [0/non-zero]
- Duration: [time if available]
### Artifacts
- [x] Output directory created
- [x] Expected files present
- [ ] Source maps generated (if applicable)
### Warnings
- [List any build warnings]
### Errors (if failed)
- [Parse and list specific errors]
- [Suggested fixes for each]
Auto-Fix Suggestions
If build fails, suggest:
- Missing dependency installation commands
- Type errors with file:line locations
- Syntax errors with context
- Configuration issues
Usage
Copy to your project:
cp templates/subagents/validate-build.md .claude/commands/
Invoke with: /project:validate-build