mx
A Swiss army knife for Claude Code and multi-agent toolkits.
mx is a Rust CLI providing encoded git operations, a SurrealDB-backed knowledge graph, session archival, GitHub sync, and emotional state tensors. Designed for use with Claude Code, but works with any multi-agent workflow that needs persistent memory, encoded commits, or session management.
Quick links
Getting Started – install mx and make your first encoded commit
Commit – encoded git commits
Log – decoded git log
Memory – knowledge graph operations
Codex – session archival
KV – local key-value store
State – emotional state tensors (deprecated)
Sync – GitHub sync
PR – pull request merge
GitHub – GitHub operations
Convert – conversion utilities
Features
Encoded commits
mx commit wraps git commit but encodes
the message using base-d. The commit title
is hashed and the body is compressed, each encoded through a
randomly selected dictionary. The result looks like hieroglyphs in
git log but decodes cleanly with
mx log.
mx commit "fix session export crash on empty JSONL" -a
mx logKnowledge graph
The memory system is a knowledge graph backed by SurrealDB (embedded SurrealKV or network WebSocket). The schema is applied automatically on every connection in both modes. Entries have categories, tags, resonance levels, embeddings, and relationships.
mx memory search "session bootstrap"
mx memory search "how to handle state" --semantic
mx memory add --category pattern --title "Retry pattern" \
--content "Use exponential backoff..." --tags "reliability"Session archival
The codex archives Claude session JSONL files to permanent storage with transcripts, extracted images, and manifests.
mx codex archive
mx codex list
mx codex read <archive-id> --cleanLocal key-value store
KV provides fast per-agent state: counters, strings, lists, and history with time-based queries and structured data filtering.
mx kv set session.goal "ship the docs"
mx kv get session.goal
mx kv push decisions "chose Typst over markdown" # prints: kv-A3fB (1)
mx kv get shipped --id kv-A3fB
mx kv get shipped --id 35-64
mx kv push puns "the joke" --create history # auto-adds key to schema
mx kv push projects "palmtop DSI fix" \
--data '{"tags":["palmtop","i915"],"status":"active"}'
mx kv search projects --where status=active
mx kv push decisions "adopted memory links" --memory kn-abc123
mx kv set decisions --id 17 --memory kn-abc123
mx kv last projects --count 5 --json | jq '.[].data.status'Installation
From crates.io:
cargo install mxOr from source:
git clone https://github.com/coryzibell/mx.git
cd mx
cargo install --path .Requires Rust 2024 edition.
Configuration
Everything mx writes lives under a single base directory:
$MX_HOME, which defaults to ~/.mx/. See Filesystem Layout for the full reference.
Start here
New to mx? Start with Getting Started for a hands-on walkthrough of installation, your first encoded commit, and a tour of the subsystems.