Installation
The published CLI package is dent8-cli and the installed binary is dent8 (the dent8
crate name is the library facade, for cargo add dent8). The current release is 0.8.0.
crates.io
Section titled “crates.io”Install the stock binary from crates.io:
cargo install dent8-cli --lockeddent8 --versionFor a reproducible install pinned to this release:
cargo install dent8-cli --version 0.8.0 --lockedThe stock binary includes the file dev store, embedded SQLite, signed identity, witness commands, MCP, the local Unix-socket daemon, and the normal CLI surfaces. Optional feature builds are available when you need heavier integrations:
cargo install dent8-cli --features postgres --lockedcargo install dent8-cli --features export --lockedcargo install dent8-cli --features postgres,export --lockedpostgres adds the transactional Postgres backend selected by DENT8_STORE_URL=postgres://....
export adds the Parquet export lane for DuckDB analysis.
GitHub Release Binaries
Section titled “GitHub Release Binaries”Each tagged release publishes prebuilt archives for:
aarch64-apple-darwinx86_64-apple-darwinaarch64-unknown-linux-gnux86_64-unknown-linux-gnux86_64-pc-windows-msvc
The archives are built with postgres,sqlite; Parquet export remains a cargo feature build
because the Arrow/Parquet stack is large and less common.
Example for macOS/Linux:
version=v0.8.0target=aarch64-apple-darwinbase="https://github.com/xyzzylabs/dent8/releases/download/$version"
curl -LO "$base/dent8-$version-$target.tar.gz"curl -LO "$base/dent8-$version-$target.tar.gz.sha256"shasum -a 256 -c "dent8-$version-$target.tar.gz.sha256"tar -xzf "dent8-$version-$target.tar.gz"mkdir -p "$HOME/.local/bin"install -m 0755 "dent8-$version-$target/dent8" "$HOME/.local/bin/dent8"dent8 --versionFor Windows, download dent8-v0.8.0-x86_64-pc-windows-msvc.zip and its .sha256, verify
the checksum, then put dent8.exe on PATH.
First Project
Section titled “First Project”For one local project, initialize a signed SQLite-backed setup:
dent8 init --store sqlite --identity --source source:ownerset -a. .dent8/env. .dent8/identity-owner.envset +adent8 doctor --write-checkFor an agent profile, let dent8 create the signed identity and patch the MCP config:
dent8 init --agent codex --store sqlite --install-mcpdent8 doctor --agent codex --write-checkKnown profiles are codex, claude-code, cursor, gemini, grok-build, cascade, and
hecate.
One Belief Base, Many Agents
Section titled “One Belief Base, Many Agents”The recommended v0 multi-agent setup is one globally installed dent8 binary and one shared
backend, with one stdio MCP server subprocess per agent identity:
dent8 init --agent codex --store sqlite --install-mcpdent8 agent add --agent claude-codedent8 agent add --agent cursordent8 doctor --all-agents --write-checkEach agent gets its own source key/grant and project-local MCP config (for example
.codex/config.toml, .mcp.json, .cursor/mcp.json, .grok/config.toml), but all profiles
point at the same DENT8_STORE_URL, authority registry, trust registry, active-grant
registry, and grant log. Keep those MCP entries project-scoped so other workspaces do not
attach this store. Use SQLite for local no-server dogfooding; use Postgres for heavier
concurrency or team deployments.
The local daemon is a second v0 shape for many local processes that share one source identity:
set -a. .dent8/env. .dent8/identity-codex.envset +adent8 daemon serveIn another shell:
set -a. .dent8/env. .dent8/identity-codex.envset +aexport DENT8_DAEMON_SOCKET="${XDG_RUNTIME_DIR:-${TMPDIR:-/tmp}}/dent8/dent8.sock"dent8 daemon statusdent8 assert person:alice favorite_drink teaFor a stdio-only MCP client that should use the running daemon instead of launching its own store-backed server, use the bridge command:
dent8 mcp proxyKnown agent configs can be patched to use that bridge:
dent8 mcp install --agent codex --use-daemon# or pin a non-default daemon socket:dent8 mcp install --agent codex --daemon-socket /path/to/dent8.sockmcp proxy reads/writes normal stdio MCP on one side, authenticates to the daemon using the
current DENT8_GRANT / DENT8_IDENTITY_KEY, and forwards frames over the daemon socket.
After installing a proxy config, dent8 doctor --agent <profile> --write-check probes that
daemon socket with the generated agent identity and prints the exact
dent8 daemon serve --socket ... command to run if the daemon is not reachable.
Authenticated daemon connections can write through the same firewall and receive
offline-verifiable write attestations. The daemon is still per-user and single-source in v0:
use separate stdio MCP subprocesses, or separate daemon instances, when distinct agent
provenance matters. Remote HTTP/streamable MCP is future work, not part of the 0.8.0
release.