Skip to content

Operations

AI-UI runs locally. Every command reads files from disk and writes results to ai-ui-output/. The only network activity is Playwright connecting to localhost during probe and runtime-effects.

Typical run times:

  • atlas — under 1 second for most projects
  • probe — 5-30 seconds depending on route count
  • diff — under 1 second
  • graph + design-map — under 2 seconds
  • runtime-effects — 10-60 seconds depending on trigger count

Three verbosity levels:

LevelFlagWhat you see
Silent(none)Only errors
Normal(default)Summary output + final report
Verbose--verboseDetailed step-by-step output

Errors always print to stderr with structured format: code, message, hint.

No secrets are ever logged. AI-UI doesn’t handle credentials — there’s nothing to redact.

ResourceUsage
CPULow (text processing). Probe uses one Chromium process.
RAM~100-200MB for Playwright. Pipeline processing is negligible.
Diskai-ui-output/ grows with project size. Typically under 1MB.
Networklocalhost only. Zero external connections.
Terminal window
ai-ui stage0
ai-ui graph
ai-ui verify --strict --gate minimum --min-coverage 60

Exit codes:

  • 0 — pass
  • 1 — user error (coverage below threshold, must-surface items found)
  • 2 — runtime error (missing files, broken config)
- name: Design audit
run: |
npx ai-ui stage0
npx ai-ui graph
npx ai-ui verify --strict --gate minimum --min-coverage 60
Terminal window
# Save baseline on main branch
ai-ui baseline --write
# Compare on feature branches
ai-ui baseline --compare

Baselines let you detect regressions: if a PR removes a button that was the only path to a documented feature, the baseline comparison catches it.

  1. Run with verbose: ai-ui <command> --verbose
  2. Check the output directory: ls ai-ui-output/
  3. Check the config: cat ai-ui.config.json
  4. Verify the dev server: curl http://localhost:5173 (or whatever your baseUrl is)
Error codeMeaningFix
CONFIG_NOT_FOUNDNo ai-ui.config.json in current directoryCreate one (see Configuration)
PROBE_TIMEOUTDev server didn’t respondStart your dev server first
ATLAS_NO_DOCSNo files matched docs.globsCheck your glob patterns
IO_READCan’t read an input fileRun the prerequisite command first
IO_WRITECan’t write to ai-ui-output/Check directory permissions
  • Is the dev server running?
  • Does baseUrl point to the right port?
  • Are the routes correct? Try visiting them in a real browser.
  • Does the app require authentication? Probe runs unauthenticated.
  • Is JavaScript rendering? Some SSR apps need client-side hydration.
  • Did atlas find features? Check atlas.json.
  • Did probe find triggers? Check probe.jsonl.
  • Are feature names very different from UI text? Try adding featureAliases.
  • Is the diff matching threshold too strict? Check if features are nearly matching by reading diff.md.

Triggers matching deny patterns are skipped for safety:

  • Labels containing “delete,” “remove,” “destroy,” “reset,” “logout,” “revoke,” “disable,” “unsubscribe,” or “billing”
  • Override with data-aiui-safe attribute on the element
  • Use --dry-run to see what would be clicked without clicking

There is no telemetry. AI-UI collects nothing, sends nothing, phones home to nobody. This is stated in SECURITY.md and it’s the truth.

FailureImpactRecovery
Dev server crashes during probePartial probe.jsonlRestart server, re-run probe
Playwright can’t launchNo probe dataInstall Playwright: npx playwright install chromium
Disk fullWrite failuresClear old ai-ui-output/ directories
Node.js < 20Import errorsUpgrade Node.js