Code graph and memory for your coding agents, in one Rust program. For Claude Code, Codex, Cursor and any MCP client.
Rust
0
2 commits
updated Oct 14, 2026
Graphicle maps your repository into a code graph, remembers your project's docs, decisions and past agent sessions,
and gives your coding agent cited excerpts from both: the exact files and lines. It runs on your machine: no API key needed, no account, no telemetry.
Works with Claude Code · Cursor · Codex · VS Code · Claude Desktop · any MCP client
Quick start · How it works · Benchmarks · Docs · Coming from Graphify? · Discussions
brew install graphicle-ai/tap/graphicle
cd your-repo
graphicle setup
No Homebrew? curl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | sh · Release archives · Other ways to install
Windows: no native build yet; under WSL2 the Linux install should work (not yet tested). Native Windows support is planned.
graphicle setup indexes the repository, builds its code graph and connects the coding agents it finds. It also turns on session
capture, points Claude Code's searches to the code graph first, adds a short section to AGENTS.md and installs Git hooks that keep the project current. It lists every file it changes and
backs each one up first; graphicle disconnect undoes it all.
Then ask your agent to "use graphicle to find where failed requests are retried", or ask from the terminal:
$ graphicle ask "where is tax added to prices?"
Evidence for "where is tax added to prices?"
4 excerpts · 598 of 3,000 tokens
[1] shop/pricing.py:1-7 price_with_tax()
"""Prices and tax."""
TAX_RATE = 0.2
def price_with_tax(price):
"""A price with the sales tax added."""
return round(price * (1 + TAX_RATE), 2)
Real output, cut after the first excerpt. With no model configured, ask shows the evidence; graphicle config set model anthropic (or openai, ollama) adds written answers.
Paste this into Claude Code, Codex or Cursor:
Install Graphicle with `brew install graphicle-ai/tap/graphicle` (or, without Homebrew,
`curl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | sh`),
then run `graphicle setup --yes` in this repository and list every file it changed.
| You want to | Run |
|---|---|
| Give your coding agent the code graph and your project's memory | graphicle setup in the repository |
| Ask a question from the terminal | graphicle ask "how are failed requests retried?" |
| Browse the graph, the sources and the memory | graphicle open |
| See what a change to a symbol touches | graphicle graph extract . --code-only, then graphicle graph affected "retry()" |
| Check that everything works | graphicle doctor |
| Undo everything setup did | graphicle disconnect |
| Move from Graphify, or run a server for a team | Moving from Graphify · Team server |
graphicle graph searches it, explains a symbol,
traces a path and exports an interactive HTML graph. After graphicle graph extract . --code-only, graphicle graph affected "retry()" lists what depends on a symbol.graphicle context and the MCP tools return excerpts with their sources, within a token budget, without calling a model.graphicle mcp serves the code-graph tools, under Graphify's tool names such as query_graph, get_neighbors and shortest_path, next to the memory tools.graphicle call graph.doc_links lists them).graphicle context --workspace, or the workspace MCP endpoint.graphicle open shows the graph, the sources and the memory in your browser. It is where you approve memories.graphicle setup connects every client it finds over MCP. Each file is backed up once as <file>.graphicle-bak, and graphicle disconnect removes what it added.
| Client | Where setup connects it | Session capture |
|---|---|---|
| Claude Code | .mcp.json in the repository | hooks in .claude/settings.local.json |
| Codex | ~/.codex/config.toml | hooks in ~/.codex/hooks.json (Codex asks you to trust them) |
| Cursor | ~/.cursor/mcp.json | |
| VS Code | .vscode/mcp.json in the repository | |
| Claude Desktop | claude_desktop_config.json in Claude's settings folder | |
| Any other MCP client | a short JSON entry (MCP) |
.gitignore and skips secrets), keeps a versioned copy of each source and builds the code graph.| A code-graph tool + a memory server | Graphicle | |
|---|---|---|
| Install | Two tools, often on different runtimes, and often a database server | One install |
| Connect your agents | Configure each tool in each agent | graphicle setup connects the agents it finds; graphicle disconnect undoes it |
| MCP servers in your agent | Two, configured separately | One, with the graph and the memory tools |
| Storage | Graph files plus the memory server's database | One SQLite file in one data folder |
| Code structure: calls, imports, impact | The graph tool | graphicle graph |
| Docs, decisions, past sessions | The memory server | Built in |
| Citations and review | Varies | A file and its lines on every excerpt; agent memories wait for approval |
Speed. The chart above: Kubernetes (31k files), the 0.1.0 engine (a Linux test build of the release source) against Graphify 0.9.88, one exploratory run each, both building the same graph (Kubernetes run). Earlier, on Django, a pre-release build ran a code-only extract in 7.5 s against 72.8 s for Graphify 0.9.77 (medians of five alternating runs, one shared Linux host, 8 workers), both building the same graph (the 8 October record).
Memory. In a comparison with seven memory systems, registered before any answer was scored and run with one open model as every system's reader and judge, a pre-release build of Graphicle trails none on three development sets. Every score, with its method and caveats.
~/Library/Application Support/Graphicle on macOS, ~/.local/share/graphicle on Linux. graphicle graph extract writes its graph file to .graphicle/ in the project.graphicle graph extract
(it sends documents and images to the LLM whose API key it finds), the GitHub CLI for graphicle graph add, clone and the graph server's pull-request tools, and graphicle update with a feed you name.
A build from source also downloads the parser sources once. Detailssync respects .gitignore and skips .env files, keys and credentials. Session capture drops <private>…</private> spans and redacts credentials.No, for most of it. The code graph (with --code-only), sync, context, the MCP server, session capture and the app work without one.
A model writes the answers of graphicle ask, proposes memories from sources and reads documents and images in a full graphicle graph extract.
Local models through Ollama or any OpenAI-compatible server work (configuration).
The code-graph engine is a Rust port of Graphify, kept in step with Graphify's releases and credited in its file headers and in NOTICE. The parity checks name the release it follows.
The memory, the memory tools, the app and session capture are not part of Graphify. Coming from Graphify? graphicle setup offers to switch a repository,
backs up each file and never deletes graphify-out/ (Moving from Graphify).
By default a project can hold up to 100,000 text files and 1 GiB of text; you can raise both (see Limits in docs/configuration.md). A very large file is analysed in part or kept as searchable text instead of stopping a sync.
Graphicle is free and open source under Apache-2.0, for individuals and teams alike. A commercial edition for teams is in private preview. To talk to us, start a discussion: https://github.com/graphicle-ai/graphicle/discussions, or chat with us on Discord.
Graphicle is Apache-2.0: free to use, change and ship, commercially too. Third-party parts keep their own licences, listed in NOTICE.
More answers: FAQ · Troubleshooting · or run graphicle doctor.
Quick start · Agents · MCP · Install · Configuration · Team server · Moving from Graphify · Benchmarks · FAQ · Changelog
The code: crates/graphicle/ (the program: command line, app, HTTP and MCP server), crates/graphicle-graph/ (the code-graph engine),
crates/graphicle-memory/ (the memory library), SDKs for Python and TypeScript,
and a team server recipe in deploy/. Each crate builds on its own (building from source).
Contributions are welcome under the Apache License 2.0, with a Developer Certificate of Origin sign-off (git commit -s) and no CLA.
See CONTRIBUTING.md. To report a security problem, follow SECURITY.md rather than opening a public issue.
Graphicle is licensed under the Apache License 2.0. Copyright 2026 KarLex AI, Inc.
The code-graph engine is a Rust port of Graphify by Safi Shamsi and the Graphify
contributors, licensed under Apache-2.0, with portions that remain available under the MIT License. Thank you.
NOTICE, NOTICE.md and the licenses/ folders hold the attributions and the licences of every adapted project and third-party component.
If Graphicle saves your agent a search, star the repository so other developers find it.
Try it · Report a bug · Contribute · Discord
Built by KarLex AI
Code graph and memory for your coding agents, in one Rust program. For Claude Code, Codex, Cursor and any MCP client.
Rust
0
2 commits
updated Oct 14, 2026
Graphicle maps your repository into a code graph, remembers your project's docs, decisions and past agent sessions,
and gives your coding agent cited excerpts from both: the exact files and lines. It runs on your machine: no API key needed, no account, no telemetry.
Works with Claude Code · Cursor · Codex · VS Code · Claude Desktop · any MCP client
Quick start · How it works · Benchmarks · Docs · Coming from Graphify? · Discussions
brew install graphicle-ai/tap/graphicle
cd your-repo
graphicle setup
No Homebrew? curl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | sh · Release archives · Other ways to install
Windows: no native build yet; under WSL2 the Linux install should work (not yet tested). Native Windows support is planned.
graphicle setup indexes the repository, builds its code graph and connects the coding agents it finds. It also turns on session
capture, points Claude Code's searches to the code graph first, adds a short section to AGENTS.md and installs Git hooks that keep the project current. It lists every file it changes and
backs each one up first; graphicle disconnect undoes it all.
Then ask your agent to "use graphicle to find where failed requests are retried", or ask from the terminal:
$ graphicle ask "where is tax added to prices?"
Evidence for "where is tax added to prices?"
4 excerpts · 598 of 3,000 tokens
[1] shop/pricing.py:1-7 price_with_tax()
"""Prices and tax."""
TAX_RATE = 0.2
def price_with_tax(price):
"""A price with the sales tax added."""
return round(price * (1 + TAX_RATE), 2)
Real output, cut after the first excerpt. With no model configured, ask shows the evidence; graphicle config set model anthropic (or openai, ollama) adds written answers.
Paste this into Claude Code, Codex or Cursor:
Install Graphicle with `brew install graphicle-ai/tap/graphicle` (or, without Homebrew,
`curl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | sh`),
then run `graphicle setup --yes` in this repository and list every file it changed.
| You want to | Run |
|---|---|
| Give your coding agent the code graph and your project's memory | graphicle setup in the repository |
| Ask a question from the terminal | graphicle ask "how are failed requests retried?" |
| Browse the graph, the sources and the memory | graphicle open |
| See what a change to a symbol touches | graphicle graph extract . --code-only, then graphicle graph affected "retry()" |
| Check that everything works | graphicle doctor |
| Undo everything setup did | graphicle disconnect |
| Move from Graphify, or run a server for a team | Moving from Graphify · Team server |
graphicle graph searches it, explains a symbol,
traces a path and exports an interactive HTML graph. After graphicle graph extract . --code-only, graphicle graph affected "retry()" lists what depends on a symbol.graphicle context and the MCP tools return excerpts with their sources, within a token budget, without calling a model.graphicle mcp serves the code-graph tools, under Graphify's tool names such as query_graph, get_neighbors and shortest_path, next to the memory tools.graphicle call graph.doc_links lists them).graphicle context --workspace, or the workspace MCP endpoint.graphicle open shows the graph, the sources and the memory in your browser. It is where you approve memories.graphicle setup connects every client it finds over MCP. Each file is backed up once as <file>.graphicle-bak, and graphicle disconnect removes what it added.
| Client | Where setup connects it | Session capture |
|---|---|---|
| Claude Code | .mcp.json in the repository | hooks in .claude/settings.local.json |
| Codex | ~/.codex/config.toml | hooks in ~/.codex/hooks.json (Codex asks you to trust them) |
| Cursor | ~/.cursor/mcp.json | |
| VS Code | .vscode/mcp.json in the repository | |
| Claude Desktop | claude_desktop_config.json in Claude's settings folder | |
| Any other MCP client | a short JSON entry (MCP) |
.gitignore and skips secrets), keeps a versioned copy of each source and builds the code graph.| A code-graph tool + a memory server | Graphicle | |
|---|---|---|
| Install | Two tools, often on different runtimes, and often a database server | One install |
| Connect your agents | Configure each tool in each agent | graphicle setup connects the agents it finds; graphicle disconnect undoes it |
| MCP servers in your agent | Two, configured separately | One, with the graph and the memory tools |
| Storage | Graph files plus the memory server's database | One SQLite file in one data folder |
| Code structure: calls, imports, impact | The graph tool | graphicle graph |
| Docs, decisions, past sessions | The memory server | Built in |
| Citations and review | Varies | A file and its lines on every excerpt; agent memories wait for approval |
Speed. The chart above: Kubernetes (31k files), the 0.1.0 engine (a Linux test build of the release source) against Graphify 0.9.88, one exploratory run each, both building the same graph (Kubernetes run). Earlier, on Django, a pre-release build ran a code-only extract in 7.5 s against 72.8 s for Graphify 0.9.77 (medians of five alternating runs, one shared Linux host, 8 workers), both building the same graph (the 8 October record).
Memory. In a comparison with seven memory systems, registered before any answer was scored and run with one open model as every system's reader and judge, a pre-release build of Graphicle trails none on three development sets. Every score, with its method and caveats.
~/Library/Application Support/Graphicle on macOS, ~/.local/share/graphicle on Linux. graphicle graph extract writes its graph file to .graphicle/ in the project.graphicle graph extract
(it sends documents and images to the LLM whose API key it finds), the GitHub CLI for graphicle graph add, clone and the graph server's pull-request tools, and graphicle update with a feed you name.
A build from source also downloads the parser sources once. Detailssync respects .gitignore and skips .env files, keys and credentials. Session capture drops <private>…</private> spans and redacts credentials.No, for most of it. The code graph (with --code-only), sync, context, the MCP server, session capture and the app work without one.
A model writes the answers of graphicle ask, proposes memories from sources and reads documents and images in a full graphicle graph extract.
Local models through Ollama or any OpenAI-compatible server work (configuration).
The code-graph engine is a Rust port of Graphify, kept in step with Graphify's releases and credited in its file headers and in NOTICE. The parity checks name the release it follows.
The memory, the memory tools, the app and session capture are not part of Graphify. Coming from Graphify? graphicle setup offers to switch a repository,
backs up each file and never deletes graphify-out/ (Moving from Graphify).
By default a project can hold up to 100,000 text files and 1 GiB of text; you can raise both (see Limits in docs/configuration.md). A very large file is analysed in part or kept as searchable text instead of stopping a sync.
Graphicle is free and open source under Apache-2.0, for individuals and teams alike. A commercial edition for teams is in private preview. To talk to us, start a discussion: https://github.com/graphicle-ai/graphicle/discussions, or chat with us on Discord.
Graphicle is Apache-2.0: free to use, change and ship, commercially too. Third-party parts keep their own licences, listed in NOTICE.
More answers: FAQ · Troubleshooting · or run graphicle doctor.
Quick start · Agents · MCP · Install · Configuration · Team server · Moving from Graphify · Benchmarks · FAQ · Changelog
The code: crates/graphicle/ (the program: command line, app, HTTP and MCP server), crates/graphicle-graph/ (the code-graph engine),
crates/graphicle-memory/ (the memory library), SDKs for Python and TypeScript,
and a team server recipe in deploy/. Each crate builds on its own (building from source).
Contributions are welcome under the Apache License 2.0, with a Developer Certificate of Origin sign-off (git commit -s) and no CLA.
See CONTRIBUTING.md. To report a security problem, follow SECURITY.md rather than opening a public issue.
Graphicle is licensed under the Apache License 2.0. Copyright 2026 KarLex AI, Inc.
The code-graph engine is a Rust port of Graphify by Safi Shamsi and the Graphify
contributors, licensed under Apache-2.0, with portions that remain available under the MIT License. Thank you.
NOTICE, NOTICE.md and the licenses/ folders hold the attributions and the licences of every adapted project and third-party component.
If Graphicle saves your agent a search, star the repository so other developers find it.
Try it · Report a bug · Contribute · Discord
Built by KarLex AI