Getting Started
Build the current codebase, run the CLI, and launch an agent quickly.
1. Build the CLI first
The infotheory binary is feature-gated, so the reliable first build is:
git clone --recursive https://github.com/turtle261/infotheory
cd infotheory
cargo build --release --features cli --bin infotheory
That gives you the current CLI surface under ./target/release/infotheory.
Code references
2. Understand what ships by default
The crate defaults already include the main backend families, but the CLI itself still needs the cli feature. VM-backed environments are a separate optional build because they depend on the Nyx stack and Linux/KVM-oriented infrastructure.
For most documentation and benchmarking work, start with the native CLI build above and only add VM support when you explicitly want Nyx-backed environments.
Code references
3. Run a few primitives
./target/release/infotheory mi file1.txt file2.txt 8
./target/release/infotheory nte file1.txt file2.txt --rate-backend ctw
./target/release/infotheory ncd a.bin b.bin --compression-backend rate-ac --rate-backend fac-ctw --method 16
The CLI can switch backend families without changing the outer command shape. That is the main idea to keep in mind when reading the rest of the docs: most of the tooling is one binary with backend selection rather than many separate tools.
Code references
4. Launch an agent
The agent entrypoint is:
./target/release/infotheory aixi aixi_confs/ui_coin_flip.json
Use planner: "mc-aixi" for the tree-search planner or planner: "aiqi" for the return-prediction planner. The same command is used for both.
See Agents for the planner-specific details and Benchmarks for reproduction against PyAIXI and MC-AIXI C++.
Code references
5. Python bindings exist too
The repository also ships a Python extension crate. That matters for benchmarking, scripting, and parity checks with external baselines, even if the Rust CLI remains the primary interface.