Skip to content

Getting Started

Two commands set Trurlic up; everything else is a conversation with your agent. Trurlic is a single static binary with no runtime dependencies — the CLI, MCP server, and map are fully offline and need no API key.

Terminal window
curl -fsSL https://raw.githubusercontent.com/trurlic-labs/trurlic/master/install.sh | bash

Or with Rust: cargo install trurlic (requires Rust 1.88+). Pre-built binaries for Linux, macOS, and Windows are on the Releases page.

Terminal window
cd your-project
trurlic init # create .trurlic/ in the project root
trurlic install --ide claude-code # wire up your coding agent over MCP

init creates the git-tracked .trurlic/ graph and adds .trurlic/.state/ to .gitignore. install writes the MCP config for your agent — see Connect Your IDE for all supported targets.

That’s the whole setup. From here, three paths:

Ask your agent to map it:

Bootstrap the architecture with Trurlic.

The agent reads your source and records components, decisions, and patterns autonomously — each flagged agent · unreviewed for you to promote or revise later. See Bootstrap.

Talk it through:

Let’s design the rate limiter. Walk me through it with Trurlic.

The agent runs a Socratic conversation in interactive mode — asking, reasoning, recording each decision as you agree on it — then implements against the constraints it just captured. See Design Conversations.

Just say what you want:

Add per-key rate limiting to the auth service.

Before writing a line, the agent pulls the component’s brief, generates code that respects every decision, and verifies compliance before committing.

You don’t need an agent for a straightforward choice — record it directly:

Terminal window
trurlic decide auth \
--choice "JWT with DPoP binding" \
--reason "Stateless, no session store needed" \
--alternative "Session cookies — rejected: requires server-side state"

This writes a TOML file to .trurlic/decisions/ and rebuilds the graph index atomically. Every write validates the full graph first — an invalid state (dangling edge, cycle, schema violation) is refused, never committed.

Terminal window
trurlic map # interactive graph in your browser
trurlic status # component/decision counts and open issues