/dev-verify
Validate integrated build pipeline and running services with health checks and smoke tests.
Overview
Answers the single question: "Does my project work?" Combines build verification (compile, type-check, auto-fix) and runtime verification (health checks, contract validation, smoke tests) into one command. Reads tech.md to detect your stack, then runs a three-phase pipeline: analysis, build verification, and runtime verification.
Supports Node.js/TypeScript, PHP, and Go out of the box. Handles monorepos (Turborepo, pnpm workspaces), ORM generate steps (Prisma, Drizzle), Docker Compose services, and database/cache health checks.
Usage
/dev-verify
/dev-verify --build-only
/dev-verify --runtime-only
/dev-verify --skip-smoke --skip-fix
/dev-verify --port 4000
| Flag | Description |
|---|---|
--build-only | Skip runtime verification. Only compile/type-check. |
--runtime-only | Skip build verification. Only health checks. |
--skip-smoke | Skip smoke tests in runtime phase. |
--skip-fix | Report build errors without auto-fixing. |
--port PORT | Override default port for a service. |
When run without flags, executes the full pipeline (build + runtime).
What It Produces
Files at $JAAN_OUTPUTS_DIR/dev/verify/{id}-{slug}/:
| File | Content |
|---|---|
{id}-{slug}.md | Verification report with build results, health check results, and recommendations |
What It Asks
| Question | When | Why |
|---|---|---|
| Verification strategy approval | After Phase 1 analysis | Confirm detected stack and planned checks |
| Build-only / Runtime-only | At HARD STOP | User may want to narrow scope |
| Write endpoint approval | Before smoke-testing POST/PUT/DELETE | Prevent unintended data changes |
Three-Phase Workflow
Phase 1 — Analysis (Read-Only)
- Reads
tech.mdto detect backend, frontend, package manager, ORM, database, and cache - Reads integration manifest (if available from
dev-output-integrate) - Discovers project state: dependency manifests, monorepo structure, ORM configs
- Discovers API contracts (OpenAPI specs)
- Presents verification plan at HARD STOP for approval
Phase 2 — Build Verification
- Installs dependencies
- Runs ORM generate (Prisma, Drizzle, sqlc, wire) if applicable
- Runs type/compile check (tsc, phpstan, go vet)
- Categorizes errors into generic categories
- Auto-fixes safe errors (missing deps, export mismatches, config gaps)
- Re-runs build pipeline to verify fixes
Build error categories:
| Category | Auto-Fix? |
|---|---|
missing-dependency | Yes |
export-import-mismatch | Yes |
type-mismatch | Conditional (simple casts only) |
schema-drift | No (report only) |
config-mismatch | Yes |
Phase 3 — Runtime Verification
- Checks port availability for each service
- Runs HTTP health checks against detected endpoints
- Runs database/cache health commands (pg_isready, redis-cli PING, etc.)
- Validates API responses against OpenAPI contract (if spec found). When Spectral and/or Prism are available locally, enhanced contract validation runs automatically: Spectral lints the spec for style conformance and Prism validates response payloads against schema definitions
- Runs smoke tests on GET endpoints (write endpoints require approval)
- Cross-validates build and runtime results
Workflow Chain
/dev-output-integrate + /dev-project-assemble
|
v
/dev-verify (build + runtime)
|
v
/devops-deploy-activate
Example
Input:
/dev-verify
Output:
Mode: Full (build + runtime)
Build: PASS (3 errors found, 3 auto-fixed)
Runtime: PASS (4/4 services healthy)
Contract: PASS (12 endpoints validated)
Smoke Tests: PASS (8 GET endpoints tested)
Report: jaan-to/outputs/dev/verify/42-my-project-verify/42-my-project-verify.md
Tips
- Run after
dev-output-integrateordev-project-assembleto verify everything works together - Use
--build-onlyfor fast compile checks during development - Use
--runtime-onlywhen services are already running and you just need health validation - Use
--skip-fixto get a report without any auto-modifications - Keep services running before invoking — this skill does not start or stop services
curlis restricted to localhost only — no external requests
Related Skills
- /dev-output-integrate - Copy generated outputs into project
- /dev-project-assemble - Wire scaffolds into runnable project
- /devops-deploy-activate - Activate deployment pipeline
- /backend-scaffold - Generate backend code
- /frontend-scaffold - Generate frontend components