Skip to main content
Runs the project health checks from one command. It runs the workspace gate first, runs read-only checks concurrently, optionally runs the end-to-end suite last, and prints either a grouped terminal report or JSON.

Usage

Examples

Run the default project checks:
Run only API checks:
Skip front-end checks:
Include the opt-in end-to-end suite:
Print a JSON report for CI:

Options

Checks

--only and --skip accept check names such as workspace, security, coverage, issues, and hygiene. They also accept categories: foundation, architecture, api, data, runtime, frontend, quality, supply-chain, and process. outdated and e2e are opt-in checks. Use --outdated or --e2e, or name them in --only, to run them.

Execution

The workspace check runs first. Coverage runs after the workspace gate. The other non-serial checks run concurrently. The end-to-end check runs last because it runs the e2e workspace task.

Caching

Cacheable check results are stored under var/cache/project/<check>.json. The command also stores memoized file hashes in var/cache/project/filehashes.json. --no-cache disables reading and writing these cache files. The workspace, coverage, end-to-end, security, outdated, git, commits, and branches checks are not cached by project:check.

Output

The terminal report groups checks by category, prints non-passing details and hints, and ends with a verdict. With --json, the report contains root, durationMs, status counts, and a checks array with each check id, title, category, status, cached flag, summary, details, hints, and duration.

Exit codes

The command exits non-zero when any check fails. With --strict, warnings are converted to failures.