Development checks
Runscripts/setup.sh once per clone to install the Lefthook checks for staged Rust, dashboard and website TypeScript, and OpenAPI contract changes. Run the documentation checks below for MDX changes.
apps/dashboard:
Dashboard UI
The dashboard uses the stock shadcn/uibase-nova preset initialized with shadcn CLI 4.19.0, Tailwind CSS v4, Base UI primitives, CSS-variable theming, Geist, and Lucide icons. apps/dashboard/components.json is the registry configuration.
Add UI primitives through the current CLI from apps/dashboard:
@/components/ui and Tailwind utilities in routes. Keep product composition in app or non-ui components, and avoid restoring global element styles that override the stock shadcn component variants.
Documentation checks run from apps/docs:
Keep contracts synchronized
deploy/contract/governance.openapi.yaml is canonical for the Control API. After changing it:
openapi/next.yaml snapshot.
After changing SQLx queries, run scripts/prepare-sqlx.sh; scripts/check-sqlx-queries.sh enforces that the offline metadata remains current. Exercise cross-service journeys with tests/e2e/run.sh smoke or tests/e2e/run.sh full.
See the repository’s CONTRIBUTING.md for the issue-first workflow, Conventional Commit and PR naming, and CLA requirements.
Publish a documentation version
Update the Cargo workspace and OpenAPI versions, finish theNext documentation, then run:
apps/docs/<version> directory, OpenAPI snapshot, and docs.json update. A release doesn’t need a documentation snapshot; make one only when you want a frozen docs version. Run npm run check:release -- <version> to confirm it still matches Next.
Extend the product
Adding a harness requires a common harness variant, a single-writer configuration adapter, detection metadata, and gateway wiring. Adding a gateway requires a compiledGatewayAdapter plus any provider-specific proxy and credential lifecycle support; harness writers should not contain gateway-specific selection logic.
See Harness adapter architecture for the version-range contract, operation-set ownership, package compatibility, and required boundary tests.
See Gateway adapter architecture for the compiled registry, service and harness ownership boundaries, provisioning choices, proxy changes, and end-to-end verification.