First run
This assumes the server and a worker are up (npx azhi doctor is green). If you work on Azhi itself from a
checkout, see the contributor sequence at the bottom.
Run the CI digest example
Section titled “Run the CI digest example”-
Register the example’s tools and store the Slack token.
Terminal window npx azhi apply examples/ci-digest/azhi.config.yamlnpx azhi secret set slack-bot-token --value xoxb-... -
Run it and wait for the result.
Terminal window npx azhi run examples/ci-digest -i team=payments --wait -
Inspect it: state, attempts, usage and the action ledger.
Terminal window npx azhi inspect <run-id>
Without a Slack workspace, point the server at a fake Slack API for local runs:
AZHI_SLACK_API_URL=http://127.0.0.1:<port>/api (see src/testing/fake-slack.ts).
Run the flagship: weekly quality report
Section titled “Run the flagship: weekly quality report”The flagship needs a knowledge dataset and, for real model calls, a provider key and model.
npx azhi apply examples/quality-report/azhi.config.yamlnpx azhi dataset create quality-guidelinesnpx azhi dataset add quality-guidelines examples/quality-report/knowledgenpx azhi dataset publish quality-guidelines --tag approvednpx azhi secret set anthropic-api-key --value sk-ant-...export AZHI_ANTHROPIC_MODEL=<model id> # set on the server; profiles say `name: default`npx azhi plan examples/quality-report # capabilities, coverage, taint paths, blockersnpx azhi test-node metrics examples/quality-report --fixture fixtures/metrics.jsonnpx azhi run examples/quality-report -i team=payments --waitnpx azhi inspect <run-id> --context analyseThe example profile uses Anthropic. To use OpenAI, set model: {provider: openai, name: default} in
profiles/quality-analyst@1.yaml and use openai-api-key and AZHI_OPENAI_MODEL.
What to look at
Section titled “What to look at”| Command | What it shows |
|---|---|
azhi plan | Every requirement marked, every policy’s coverage, the taint path analyse → report → post and its gate, and any blockers |
azhi test-node | One node on fixture outputs with writes mocked (a test run) |
azhi inspect <run> --context analyse | The context manifest: what the model saw on each turn |
azhi open <run> | A link to the run page with graph, timeline, ledger, policy coverage and usage |
The alpha demo
Section titled “The alpha demo”export AZHI_DEMO_DATABASE_URL=postgres://azhi:<password>@localhost:5432/azhi # admin connectionexport AZHI_TEMPORAL_ADDRESS=localhost:7233npm run demo # checks 2 to 6, with a scripted model unless ANTHROPIC_API_KEY is setnpm run demo -- --install # also check 1: runs deploy/install.sh on this host and times itThe six checks: install, plan, scheduled run with citations, crash mid-post (exactly one message), a trust refusal for an untrusted author, and a 30-fixture executor comparison.
Contributor sequence (run the server from a checkout)
Section titled “Contributor sequence (run the server from a checkout)”npm installnpm run build:webdocker compose -f deploy/docker-compose.yml up -d --waitexport AZHI_DATABASE_URL=postgres://azhi:azhi@localhost:5432/azhiexport AZHI_TEMPORAL_ADDRESS=localhost:7233npx azhi server start # terminal 1npx azhi worker start # terminal 2Tests: npm run typecheck, then npm run test:local (vitest on PGlite).