Skip to content

Installation

Ziggurat is distributed as source, not as a published npm package. Its package.json keeps "private": true, so do not depend on the ziggurat package name.

  • Node.js 22 or newer for the core package. The documentation site requires Node.js 22.12.0 or newer. Continuous integration is configured for Node.js 22 and 24 on Linux, macOS, and Windows.
  • Git, to clone the repository.

Clone this repository, then from the checkout root:

Terminal window
npm ci
npm run build

npm run build compiles TypeScript to dist/. The CLI entry point is dist/src/cli/main.js.

Terminal window
npm run check
node dist/src/cli/main.js --help

npm run check cleans, rebuilds, and runs the full compiled test suite. See the CLI reference for command purposes. In the help text below, ‘immutable’ means no-overwrite creation with detectable mutation, not filesystem immutability.

Ziggurat: Models propose. Humans decide what persists.
Usage: ziggurat <command> [options]
Commands:
init Initialize a vault with an empty human trust policy
ingest Capture immutable Bronze evidence
refine Stage an evidence-backed Silver proposal
review Render staged Silver proposals for human review
build Rebuild isolated indexes; unsigned content stays out of Gold
query Query authorized Gold
mcp Start the read-only Gold MCP server
check Audit clean-room and key-material policy
eval Run conformance checks

Documentation uses the shorter ziggurat binary name. From a source checkout, either substitute node dist/src/cli/main.js, or create a development-only global link:

Terminal window
npm link

npm link is a local convenience for a source checkout. It does not publish anything.

Create a vault in Your first vault.

The site has its own dependencies and lockfile; root npm ci does not install them.

Terminal window
cd site
npm ci
npm run check