Setting up each track
You can read every chapter without running anything. To run a part's labs, clone its repository at the revision the book shows. Later revisions may differ from the text.
Checking out the pinned revisions
These commands are generated from the book's lock file:
git clone https://github.com/cognokratos/arktos-wallet.git && git -C arktos-wallet checkout --detach 92650a0347993622cbb3e5eeac2c908069c67fd6 # main
git clone https://github.com/cognokratos/etf-research-agent.git && git -C etf-research-agent checkout --detach 493a67a721ef56ee64151e66e6e47c974552a23f # main
git clone https://github.com/cognokratos/simple-agent-template.git && git -C simple-agent-template checkout --detach c66ce19d7b0c5c88c41b6860c78f66075485a07a # main
git clone https://github.com/cognokratos/sophos-agent.git && git -C sophos-agent checkout --detach 8d9fe52182d8441454916ec8a6ab13c0773228e2 # main
git clone https://github.com/cognokratos/tauros-revenue.git && git -C tauros-revenue checkout --detach facbbc927eb4b9090937524ca02486c026f1f025 # main
To follow a project's current development instead, check out the branch shown
in the comment (main for every project). Expect differences from the book.
The labs run code from those repositories. Treat them like any other code you download: read the Makefiles and scripts before you run them, and use the scratch locations each part recommends. The book itself never runs anything from these repositories.
Part I — simple-agent-template
| Need | Version / note |
|---|---|
| Docker with Compose v2 | about 8 GB of VM memory; PII masking adds about 600 MB |
make, bash, Python 3 | host tooling for the make targets |
| Node | 22 or newer, for UI checks |
| Rust | 1.88 or newer, for labs 03 and 08 (changing the MCP server) |
| Model endpoint | any OpenAI-compatible API; default local Ollama with qwen3:8b; on a hosted endpoint also set LLM_GUARD_MODEL |
| Ports | loopback 3000, 8082, 5000, 4318, 13133 |
Start with make env, make pull-models, make dev, make wait, make open-ui,
and sign in as agent / agent. Approvals are off by default; lab 09
enables them. → Lab 01 · Run the agent
Part II — sophos-agent
| Need | Version / note |
|---|---|
| Node | 24, with Corepack (pnpm) |
| Ollama | with qwen3 pulled |
npx, uv/uvx | the stdio MCP servers download from npm and PyPI on first start |
curl, jq, sqlite3, lsof, pgrep/pkill | used throughout the labs |
| Docker Compose v2 | only for part of lesson R8 |
| Network | the Fetch labs need internet access |
The labs run node --env-file=.env build on 127.0.0.1:5174 against
data/lab/. → Lab environment
Part III — etf-research-agent
| Need | Version / note |
|---|---|
| Rust | 1.85 or newer; the first cargo test compiles dependencies |
| Python 3 | for the deterministic labs |
| Compose stack + model | for the live labs (A5, A6, lesson 08 and parts of A3–A4), as in Part I; sign in as researcher / researcher |
make rules-explain prints one fund's evaluation and accepts in-memory
overrides, so most experiments never touch data/. Caution: make rules-test
rewrites the committed deterministic baseline. Use a scratch checkout.
Part IV — arktos-wallet
| Need | Version / note |
|---|---|
rustup | the pinned toolchain 1.97.1 installs itself |
C compiler, make, perl | to build the bundled SQLCipher and OpenSSL (slow first build) |
curl, python3, sqlcipher CLI | for the server-based labs (from C3; mostly C6–C8) |
| Port 8080 | fixed in code |
Run from a checkout without a .env file (the Makefile loads it and would
override the lab variables), with lab keys in a scratch directory.
→ Lab setup
Part V — tauros-revenue
| Need | Version / note |
|---|---|
| Erlang / Elixir | 29.1.1 / 1.20.4-otp-29 (.tool-versions) |
| PostgreSQL | 15 or newer (docs use 17) at localhost:5432, user and password postgres |
curl, jq | for the MCP lessons |
| Shell | use bash for the MCP helper script; it may misbehave under zsh |
mix setup (network) seeds an approver, an agent and proposals to review.
mix phx.server serves http://localhost:4000. Sign in as demo@tauros.local
with the password given in the course setup. mix test runs every lesson's
guarantees. → The course
Building the book itself
Building this book needs none of the above: only git, Python 3.11 or newer and
the pinned mdBook binary that make bootstrap downloads and verifies. See the
book repository's README.