node cli.cjs is the single entry point for running nth Labs yourself, from a copy of the repository or from a script. You do not need it on console.nthlabs.dev.
Before you start
node cli.cjs help
That prints the full, current list of commands. Each one runs against the product you set up with init, or against --target <url> when you pass one. After npm link, labs <command> is the same as node cli.cjs <command>.
A command marked as needing a key calls a model, and needs an API key for the model you run: see AI and your plan.
Checking your product
Command
What it does
Key
checkup
The Quick check: Page health, AI compatibility, Data saving, Regression check and the Report, in one pass.
No
vitals
Page health: accessibility and Core Web Vitals, measured in a real browser.
No
assist
AI compatibility: whether an AI assistant acting for a person can use the product.
No
trips
Data saving: types a marked value, saves it, comes back and reads it out.
No
explore
Site mapping: uses every screen and form like a first-time visitor, and maps the product.
No
guard
Regression check: turns every finding you confirmed into a standing check, runs them all in a real browser, and files a ship-blocker when a fixed bug is back.
No
changes
Every page against the accepted baseline for this branch. Only what changed is queued for review.
No
compare --against <url>
Staging vs live: the same pages on two addresses, compared.
No
brief
Report: what changed, what is open, what to do next.
No
report
One shareable HTML document assembling everything found.
No
audit
Site review: one first visit, read closely.
Yes
wander
User simulation: one tester free-roams the product, thinking aloud.
Yes
sweep
Full check: the Quick check plus Site review, in one pass.
Yes
validate
The Readiness report: the free checks, then the simulated panel and the user walkthroughs, then the four answers and the verdict.
For the panel and walkers
Findings and verdicts
Command
What it does
actions list
Every open finding, with its severity, confidence and id. actions all adds the closed ones.
actions why <id>
The evidence behind a finding’s confidence and its rank.
actions prompt <id>
Its fix prompt, ready to paste.
actions confirm <id>
Real problem.
actions wontfix <id> [note]
Won’t fix: real, and you are not fixing it.
actions reject <id> [note]
Not a problem. The only verdict that counts as nth Labs being wrong.
actions done <id>
Mark it resolved on your word. Not counted as a proved fix.
actions drop <id>
Take it off the list with no verdict. actions open <id> reopens it.
verify <id>
Verify fix: drive it again, and close it only on a confident yes. Give several ids to verify them in turn.
The command line uses the engine’s words for severity: critical is Ship-blocking, medium is Worth fixing and low is Polish.
$ node cli.cjs actions list
ID COST ST CONF SEEN AGE TITLE
539a73 Blocks the main path open 65% 1x today A form cannot be submitted at all: its required “company” field is hidden (landing)
a26ada Blocks the main path open 65% 1x today A form cannot be submitted at all: its required “company” field is hidden (pricing)
46e6cc Breaks trust open 65% 1x today A password field is sent without encryption (login)
094d09 Loses money open 65% 1x today A secret key is visible in your website's code (landing)
0c3c60 Loses money open 65% 1x today A secret key is visible in your website's code (pricing)
0337c3 Loses money open 65% 1x today A secret key is visible in your website's code (login)
a3924d Blocks the main path open 65% 1x today The main button does nothing when pressed (landing)
…
Knowing where you stand
Command
What it does
coverage
How much of the product the runs reach. Free.
map
Walks the product as a visitor and as a signed-in user, and saves the map later runs read. Free.
scope <ref>
Which pages a run would cover if it were scoped to what changed since a git ref, and why. Starts nothing.
memory
What nth Labs has learned about your product. memory reset wipes it.
calibration
Whether the confidence figures hold up against your verdicts. Free.
list
Recent runs across every check.
models
Every model you can run, its price, and whether its key is set.
In a pipeline
Command
What it does
ci
The Deploy gate: runs against a preview address, writes a summary for the pull request, and exits non-zero on new ship-blockers. Needs a key by default; Running it in CI has the free version.
pr --base main
The pull-request check: compares only the pages the diff can reach against the base branch. No key.
watch [check]
Runs again every time you save. Defaults to Page health.
Setup and upkeep
Command
What it does
init
The first-run wizard: points nth Labs at your product and writes its profile.
doctor
Checks the setup against the real product before you spend anything. Exits non-zero when something is broken.
session
Imports a signed-in browser session, so runs get past Google, SSO or two-factor sign-in.
ui
The console on your own machine, at http://localhost:4317. Only your machine can reach it, unless you host it with LABS_MODE=hosted, which needs a password.