CLI commands
The sibyl binary is a read-only project inspector with one explicit remote
synchronization command. Local commands inspect metadata and a local registry
snapshot; they do not execute project code or install dependencies.
Initialize metadata
sibyl init [--path <PROJECT>] [--force]
--path defaults to .. The command detects package.json, Cargo.toml,
pyproject.toml, go.mod, and composer.json, plus supplementary workspace,
Astro, and Docusaurus evidence. It creates .agent/config.json, rules.md,
skills.json, memories.json, and context.ignore. Existing owned files are
not replaced without --force.
Check local policy
sibyl check [--path <PROJECT>] [--registry <SNAPSHOT>] [--json]
--path defaults to .. --registry takes precedence over
SIBYL_REGISTRY_SNAPSHOT; remote registry URLs are rejected. Human output
includes package, severity, reason, and approved replacement. --json emits
machine-readable diagnostics without ANSI escapes.
Add a memory
sibyl memory add <TITLE> <CONTENT> --category <CATEGORY> [--path <PROJECT>] [--force] [--json]
The path defaults to .. The command validates the entry, appends it in stable
order, and preserves malformed existing documents when refusing an update. It
makes no network request.
Explicit synchronization
sibyl sync --payload <PAYLOAD>
sync requires SIBYL_SYNC_ENDPOINT=https://..., authorization in
SIBYL_SYNC_AUTH_TOKEN, and a schema 1.0 payload of kind episodic-memory
or ast-skeleton. Endpoints cannot contain credentials. Payloads cannot
contain credentials, private keys, or executable directives. Timeout and retry
behavior is bounded, and success is reported only after a successful response.
Build a release binary with:
cargo build -p sibyl-cli --release --locked
The output is target/release/sibyl. Only sync may contact a remote service;
the other commands remain local even when synchronization configuration is
present.