Skip to main content
Run every command from the repository root. The scripts are defined in the root package.json; if a command on this page does not match the actual script, package.json wins.

Routine checks

It runs check:rust, check:frontend, check:licenses, check:ui-widget-layering, check:ui-component-ratchet, and check:ui-visual in order, covering Rust quality gates, frontend types and lint, third-party licenses, UI layering, component coexistence, and visual baselines. Individual subcommands:

Build gates

Validates the desktop, mobile, and Relay build graph. It is not the same as a signed release package. Targeted desktop checks:

Smoke tests

The repository provides many deterministic smoke scripts:
The pnpm check:acp, pnpm check:code-workbench, pnpm check:terminal, and pnpm check:all commands that appeared in older documentation do not exist. ACP, the code workbench, and the terminal are covered by the smoke:* scripts above.

Release builds

After you push a tag, .github/workflows/release.yml builds artifacts for every platform. Before a release, read docs/operations/release.md and docs/operations/release-packaging-matrix.md in the repository.

Contracts to watch when you run tests

  • Insufficient permission must return a structured error; the UI must not guess success.
  • A cursor / generation gap must trigger resync_required.
  • File writes use content revisions / CAS so they do not overwrite external edits.
  • Terminal and attachment streams must be established after authorization and closed on revocation.
  • Restart, disconnect, and stale states must be reproducible.

Before you commit

Commands can generate local evidence or capture files. Check .gitignore and the script notes, and do not commit artifacts that contain credentials, prompts, paths, diffs, or terminal content. Installers, runtime binaries, Release APKs, and signing material are build or release artifacts; do not commit them as source code.