| name | project-validation |
| description | Validates project after initialization. Checks static files, endpoints, CSS, health.
Use when: after rust-project-init, before TDD loop.
Triggers: "validate project", "check project", "verify init".
|
Project Validation Skill
Validates that a project is correctly initialized and ready for development.
When to Use
- After
Task[rust-project-init] completes
- Before starting TDD loop in /ship
- When something doesn't work and you need to diagnose
Validation Checks
1. Build Check
cargo build 2>&1 | tail -10
2. Health Endpoint
cargo run &
APP_PID=$!
sleep 3
curl -sf http://127.0.0.1:3000/health
kill $APP_PID 2>/dev/null
3. Static Files (fullstack only)
curl -sI http://127.0.0.1:3000/static/styles.css | head -1
4. Index Page
curl -s http://127.0.0.1:3000/ | grep -q "<html"
5. HTMX Endpoints
grep -rh "hx-get\|hx-post\|hx-delete" templates/ 2>/dev/null | \
grep -oE '"[^"]*"' | tr -d '"' | sort -u
6. CSS Animation Safety
grep -n "opacity.*0" static/styles.css
grep -n "animation-fill-mode" static/styles.css
7. Dependencies
grep "tower-http" Cargo.toml | grep -q "fs"
Script Usage
python3 scripts/validate_project.py --path /path/to/project
Output:
## Project Validation: /path/to/project
[PASS] Build succeeds
[PASS] Health endpoint responds
[PASS] Static files served
[PASS] Index returns HTML
[WARN] Endpoint /tags not implemented (expected by templates)
[PASS] CSS animations safe
Result: 5/6 checks passed, 1 warning
Issues to fix:
- Add handler for GET /tags
Integration
Called automatically in:
rust-project-init.md → Post-Init Validation section
ship.md → Phase 2.5: Project Validation