# Raggie Code (raggiecode.com) > Raggie Code is an open-source autonomous AI coding agent for large codebases. It builds a semantic code index with tree-sitter, walks call graphs before it edits, plans multi-step work behind an approval gate, runs each step in an isolated subagent, and hands over to a fresh session when the LLM context window fills up. It runs locally, respects .gitignore and .aiignore, and works with any OpenAI-compatible LLM, local or cloud. Current version: 1.0.1. License: Apache 2.0. ## Documentation - [Docs home](https://raggiecode.com/docs/): Overview of all documentation pages. - [Getting started](https://raggiecode.com/docs/getting-started): Install through the VS Code extension (recommended) or `pip install raggiecode`, run `raggie setup`, first session, `@file:line` references, `/undo`. - [Commands](https://raggiecode.com/docs/commands): CLI commands (`raggie [dir]`, `setup`, `keys`, `roles`, `skill`, `mcp`, `config`) and in-chat commands (`/undo`, `/redo`, `/thinkingMode`, `/model`, `/reasoningEffort`, `/windowSize`, `/reindex`, `/health`, `/skills`, `/use`, `/whitelist` and more). - [Configuration](https://raggiecode.com/docs/configuration): `~/.config/raggie/` layout, `keys.json`, `roles.json` fields, the provider list, `AGENTS.md`, `.gitignore` and `.aiignore`, per-project `.raggie/` data. - [Local models](https://raggiecode.com/docs/local-models): Ollama, vLLM, LM Studio, llama.cpp and other local servers. - [Planning and subagents](https://raggiecode.com/docs/planning-and-subagents): Thinking modes, subagents, todo lists, context handover, crash recovery. - [Tools](https://raggiecode.com/docs/tools): The 32 built-in tools by category and the permission model for files and shell commands. - [Skills](https://raggiecode.com/docs/skills): On-demand instruction sets, the Agent Skills format (`SKILL.md`), auto-discovery. - [Code indexing](https://raggiecode.com/docs/code-indexing): Supported languages, frontend indexing, what is skipped, project detection, performance. - [Undo and history](https://raggiecode.com/docs/undo-and-history): The snapshot repo in `.raggie/git`, `/undo`, `/redo`, the `ViewChanges` tool, crash safety. - [Code health](https://raggiecode.com/docs/code-health): Function complexity score, class bloat score, the `/health` report. - [Web UI](https://raggiecode.com/docs/web-ui): The built-in web UI (`raggie code --web`) and its JSON-RPC API. - [ACP](https://raggiecode.com/docs/acp): Running Raggie as an Agent Client Protocol agent for Zed and other editors. - [MCP](https://raggiecode.com/docs/mcp): Connecting external Model Context Protocol tool servers. - [Architecture](https://raggiecode.com/docs/architecture): Source layout, agent loop, events, storage, building and tests. - [FAQ](https://raggiecode.com/docs/faq): Privacy, models, data location, recovery, editors. ## Blog - [Blog home](https://raggiecode.com/blog/): Technical writing about AI coding agents and context-window management. - [I Stopped Compacting Coding-Agent Conversations and Started Handing Work to a Fresh Agent](https://raggiecode.com/blog/coding-agent-context-handover): Why context compaction fails for coding tasks and how structured session handover addresses it. - [Context Compaction vs. Agent Handover for Long Coding Tasks](https://raggiecode.com/blog/context-compaction-vs-handover): A comparison across continuity, token cost, correctness, failure modes and implementation complexity. ## Main site - [Homepage](https://raggiecode.com/): Product overview, features, interfaces, how it works, comparison, install instructions and FAQ. - [GitHub](https://github.com/Hussein-L-AlMadhachi/RaggieCode): Source code, issues and releases. ## Key facts - **Interfaces**: VS Code extension (recommended, installs the Python package for you), built-in web UI (`raggie code --web`), terminal (`raggie code .`), and ACP for editors such as Zed (`raggie --acp-stdio`). All share the same chats, index and snapshots. - **15 indexed languages**: Python, Go, C#, JavaScript, TypeScript, TSX, Rust, Zig, Elixir, C, C++, PHP, Dart, Java, Kotlin. HTML, CSS, Vue and Svelte files are indexed as frontend structure (components, markup, selectors, events, bindings). - **Code index**: tree-sitter parsing into symbols, imports and dependencies, stored in local SQLite. Incremental: only changed files and their dependents are re-parsed. - **Call graph traversal**: breadth-first walk from any function with cycle detection, default depth 5. - **32 built-in tools**: code exploration, file editing (including `EditSymbol`, which replaces a function or class by name), shell and background services, web search and fetch, subagent dispatch, skills, and todo lists. 30 are enabled by default. - **Planning**: todo lists require user approval before any task runs. Tasks run sequentially, each in its own subagent. - **Thinking modes**: Zen (depth 1), Serious (2), Extreme (4), Feral (8), Insane (16). They set the maximum subagent nesting depth. Set with `/thinkingMode`. - **Context handover**: when remaining context drops below min(90,000 tokens, half the window), the agent writes a handover document for the current task and continues in a fresh session. - **Crash recovery**: messages are saved as they happen. Unanswered tool calls are re-run on resume, and subagents resume their existing sessions. - **Undo and redo**: every turn is snapshotted to a private git repo in `.raggie/git`, separate from the project's own repository. `/undo` and `/redo`. - **Permissions**: shell commands ask for approval unless read-only or whitelisted. Ignored files and paths outside the project need explicit permission. - **Providers**: DeepSeek, OpenAI, z.ai, Grok, Qwen, Moonshot, OpenCode Go and Zen, LiteLLM, plus local servers (Ollama, LM Studio, llama.cpp, vLLM, text-generation-webui, Jan, GPT4All). Any other OpenAI-compatible endpoint works through a custom base URL. - **MCP**: client for external MCP servers over stdio and Streamable HTTP. Tools appear as `mcp____`. - **Skills**: named instruction sets stored per project and loaded on demand. Compatible with the Agent Skills format. - **Code health**: function complexity and class bloat scores computed from the syntax tree, reported after each response. - **Local-first**: the code index, chat history and snapshots never leave the machine. Only LLM API calls go to the configured provider. - **Requirements**: Python 3.10+.