Skip to content

Official Demo

The repository includes a demo project that intentionally violates a simple layer rule so you can show the full ArchSpine workflow in minutes.

Scenario

src/api/handler.ts imports directly from src/infra/database.ts, which violates the rule declared under .spine/rules/arch.yml.

Governance fix demo

bash
npm run build
cd examples/demo-project
rm -rf .spine/index .spine/atlas
rm -f .spine/cache.db .spine/cache.db-shm .spine/cache.db-wal .spine/manifest.json .spine/languages.json .spine/.lock
node ../../dist/cli/index.js llm --project set provider mock
node ../../dist/cli/index.js sync
node ../../dist/cli/index.js check
node ../../dist/cli/index.js fix

Expected outcome

  • sync rebuilds the demo .spine/ state from a clean baseline
  • check reports the API -> Infra violation in src/api/handler.ts
  • fix reads the recorded active violation and enters the fix flow

The governance acceptance test in tests/demo-governance.test.ts exercises that exact offline path so regressions break CI before they break the public demo.

Project capability demo

If you want the non-governance walkthrough instead:

bash
npm run build
node dist/cli/index.js sync --hook
node dist/cli/index.js info
node dist/cli/index.js scan --dry-run

Recording assets

The governance tape now renders to the committed examples/demo-project/demo.gif. The project-capability GIF remains available when you want a shorter, non-governance walkthrough.

If you need a real provider instead of the offline mock, configure it with spine llm setup first and make sure any required proxy variables are set.

Real-provider recording checklist:

  • required: spine llm set provider, spine llm set api-key
  • optional: spine llm set model, spine llm set base-url
  • proxies when needed: HTTPS_PROXY, HTTP_PROXY, ALL_PROXY
  • expect drift in latency, wording, and patch shape across providers and model versions

English is the primary docs tree; zh-CN mirrors shipped behavior.