> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rkat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Meerkat is a library-first agent engine built in Rust. Provider-agnostic, modular, fast.

Meerkat is an agent engine, not an agent product. Claude Code and Codex CLI are finished applications -- Meerkat is what you'd build them on.

It's a set of modular Rust crates that handle the hard parts of agentic systems: state machines, retries, budgets, streaming, tool dispatch, MCP, multi-agent coordination. You bring your own prompts, tools, and opinions. Meerkat handles execution.

## Why Meerkat

* **Fast.** Rust from the ground up. Lean native binaries and embeddable libraries, \<10ms cold start in the core path, and no VM/runtime dependency stack.
* **Provider-agnostic.** Same session/config model across Anthropic, OpenAI, and Gemini, with capability-gated differences where model support diverges.
* **Modular.** A workspace of focused crates, all opt-in. Need just the agent loop? Pull in `meerkat-core`. Need session persistence? Add `meerkat-store`. Need inter-agent comms? Add `meerkat-comms`. Your binary includes only what you use. Disabled features return typed errors, not panics.
* **Stable.** Deterministic state machine with defined transitions. Typed errors with compile-time guarantees. Every error code maps to a stable string across JSON-RPC, REST, and CLI exit codes.
* **Controlled.** Hard budget limits on tokens, wall-clock time, and tool calls. Eight hook points for guardrails and audit. Shell security with allow/deny lists.
* **Multi-agent native.** Independent agents communicate over Ed25519-signed channels, can be organized into mobs, and can keep working as compaction + semantic memory absorb conversations that exceed any single context window.

### How it compares

|                 | Meerkat                                        | Claude Code / Codex CLI / Gemini CLI |
| --------------- | ---------------------------------------------- | ------------------------------------ |
| **Design**      | Library-first, modular crates                  | CLI-first, SDK bolted on             |
| **Modularity**  | Compose only what you need                     | Monolithic, all-or-nothing           |
| **Performance** | Single 5MB binary, \<10ms startup, \~20MB RAM  | Runtime + dependencies               |
| **Languages**   | Rust core + Python & TypeScript SDKs           | TypeScript or Python                 |
| **Surfaces**    | CLI, REST, JSON-RPC, MCP server, language SDKs | Rich interactive TUI                 |
| **Multi-agent** | Native Ed25519-authenticated P2P messaging     | No                                   |
| **Memory**      | HNSW semantic indexing + auto-compaction       | File-based context                   |

Those tools excel at interactive development with rich terminal UIs. Meerkat has no TUI -- it's for automated pipelines, embedded agents, multi-agent systems, and anywhere you need programmatic control over an agent engine.

## Use it from anywhere

<CardGroup cols={3}>
  <Card title="Rust SDK" icon="code" href="/rust/overview">
    Embed as a library.
  </Card>

  <Card title="Python SDK" icon="python" href="/sdks/python/overview">
    Drive from Python.
  </Card>

  <Card title="TypeScript SDK" icon="js" href="/sdks/typescript/overview">
    Drive from TypeScript.
  </Card>

  <Card title="CLI" icon="terminal" href="/cli/commands">
    Run from the terminal.
  </Card>

  <Card title="REST API" icon="globe" href="/api/rest">
    HTTP endpoints.
  </Card>

  <Card title="JSON-RPC" icon="plug" href="/api/rpc">
    Stateful stdio for IDEs.
  </Card>
</CardGroup>

## Get started

The intended onboarding spine is:

`Introduction -> Quickstart -> Examples gallery -> choose a surface or workflow -> Concepts as needed`

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Get to a first successful run as fast as possible.
  </Card>

  <Card title="Examples gallery" icon="code" href="/examples/gallery">
    The central real-code hub for choosing a language, surface, or workflow.
  </Card>

  <Card title="Auth setup" icon="key" href="/guides/auth">
    Configure credentials and bindings when you need more than the env-var fast path.
  </Card>
</CardGroup>

## Choose your path

<CardGroup cols={3}>
  <Card title="Rust embedding" icon="code" href="/rust/overview">
    Start here if Meerkat is part of your Rust application.
  </Card>

  <Card title="Python / TypeScript" icon="terminal" href="/sdks/python/overview">
    Start here if you want an SDK-backed product layer.
  </Card>

  <Card title="CLI / APIs" icon="plug" href="/cli/commands">
    Start here if you are operating Meerkat as a practical surface first.
  </Card>

  <Card title="Multi-agent systems" icon="users" href="/examples/mobs">
    Jump here if your main interest is orchestration and long-lived identity-first agents.
  </Card>

  <Card title="Self-hosting models" icon="microchip" href="/guides/self-hosting-models">
    Start here if your first concern is local or self-managed models.
  </Card>

  <Card title="Architecture" icon="layer-group" href="/reference/architecture">
    Start here if you need ownership, rationale, or internal structure first.
  </Card>
</CardGroup>
