CLI (acctl)
acctl is the authoritative operator interface for Asset Core. It wraps the workflows you need to validate governance, perform diagnostics, replay state, and recover from failures when automation falls short.
Prerequisites
- Rust toolchain (stable)
- Asset Core binaries built (
cargo build --release)
Step 1 - Install acctl
Build the CLI from the repository:
cargo build --release -p acctl
The binary is at target/release/acctl.
Step 2 - View available commands
acctl --help
The command list below is a reference. For task-focused guidance, see the ACCTL Operator Guide.
Available commands:
| Command | Description |
|---|---|
adapters | Launch protocol adapters (MCP/OpenAI/Gemini) |
auth | Authenticate, inspect permissions, and manage tokens |
run | Launch daemons with config discovery and bootstrap |
namespaces | List, provision, and update namespaces |
read-stream | Stream read daemon commits via SSE |
tail | Stream envelopes from the envelope log |
replay | Replay envelopes offline for analysis |
query-commits | Query commit history via read daemon |
query-container-commits | Commit history for a container |
list-containers | List containers with filters |
get-container-contents | Fetch balances, slots, or grid contents |
get-container-grid | Inspect grid occupancy (optional region) |
find-grid-free | Find free grid anchors for a shape |
list-instances | List instances with filters |
get-instance | Fetch instance metadata |
owner-summary | Aggregate data for an owner |
snapshot | Create or restore snapshots |
diag | Run environment diagnostics and endpoint checks |
bundle-debug | Create debug archive for incidents |
Step 3 - Run diagnostics
Check your environment and configuration:
acctl diag --print-config
This validates:
- Configuration file paths
- Commit log accessibility
- Toolchain versions
Step 4 - Tail the envelope log
Stream events as they’re committed:
acctl tail --envelope-log /path/to/envelope.log
Options:
| Flag | Description |
|---|---|
--follow | Continue streaming new events |
--format | Output format: json or summary |
--from | Start from specific sequence |
Step 5 - Replay for analysis
Replay events offline to analyze state:
acctl replay \
--envelope-log /path/to/envelope.log \
--from 0 \
--to 1000
Replay produces deterministic summaries without running the full daemon.
Step 6 - Create snapshots
Export current state as a JSON snapshot:
acctl snapshot create \
--envelope-log /path/to/envelope.log \
--output snapshot.json
Restore from snapshot:
acctl snapshot restore \
--input snapshot.json \
--envelope-log /path/to/envelope.log
Step 7 - Launch adapters
Start the MCP server for AI tool integration:
acctl adapters \
--config /path/to/write.toml \
--read-config /path/to/read.toml \
--transport stdio
Options:
| Flag | Description |
|---|---|
--transport | Protocol: stdio or sse |
--port | SSE listen port (SSE only) |
Step 8 - Create debug bundles
Package artifacts for incident triage:
acctl bundle-debug \
--config /path/to/write.toml \
--output debug-bundle.tar.gz
The bundle includes:
- Configuration files
- Commit log segments
- Checkpoints
- Prometheus metrics scrape
- Manifest with timestamps
Troubleshooting
”Config file not found”
Specify the full path to your configuration:
acctl run --config /absolute/path/to/config.toml
“Commit log not accessible”
Check file permissions and that the path exists:
ls -la /path/to/commit_log.log
“Adapter binary not found”
Build the adapters first:
cargo build --release -p assetcore-adapters
Environment variables
acctl respects these environment variables:
| Variable | Description |
|---|---|
ASSETCORE_WRITE_URL | Override write daemon URL |
ASSETCORE_READ_URL | Override read daemon URL |
ACCTL_ALLOW_PLAINTEXT_TOKEN_STORE | Allow plaintext token storage when keyring is unavailable |
ASSETCORE_BASE_DIR | Override base directory for resolved paths |
Next steps
- Deployment Basics - Running daemons in production
- Health and Metrics - Monitoring endpoints
- Tooling Guide - Canonical adapter tooling surface