Price terms as published

Each line is the vendor’s own wording, split from the price capture checked on 2026-10-03. Nothing here is rounded, converted or re-worded — the full sentences stay in the review below. Lines that carry only a price continue the plan named on the line above, in the vendor’s own order.

5 price terms for Graft
#Plan / termChecked
1Free (MIT open source)2026-10-03
2The vendor's commercial sibling Trail is a separate paid product (Free2026-10-03
3$20k2026-10-03
4$60k2026-10-03
5$150k per year) - Graft itself lists no paid tier2026-10-03

One-liner: Graft is a TypeScript CLI that parses your repository with tree-sitter and writes it out as a folder of linked markdown nodes plus a per-symbol code graph, then wires that graph into Claude Code, Cursor, Codex, Gemini, Kiro and Windsurf so each session starts with a map of the repo instead of grepping its way there again.

Verified facts (checked 2026-10-03)

Attribute Value Source
GitHub stars 9,503 trailhq/Graft via GitHub API, 2026-10-03
Forks 872 GitHub API
Open issues / open PRs 203 / 360 GitHub API + search API, same day
License MIT GitHub API license field + LICENSE file
Created 2026-07-03 GitHub API
Last push 2026-10-02 GitHub API
Primary language TypeScript GitHub API
npm package @nanonets/graft, latest 0.21.1 npm registry (published 2026-07-15, modified 2026-09-29)
npm downloads 88,838 in September 2026; 31,878 in the last 7 days npm downloads API, 2026-10-03
Install npm install -g @nanonets/graft then graft init README quick start
Languages 23 (tree-sitter tiers + opt-in LSP edges) README “Supported languages”
Price Free (MIT). No paid tier on the repo or the product page README + trailhq.com/graft, 2026-10-03
Official site trailhq.com/graft GitHub API homepage field

What it actually does

Graft’s pitch is that coding agents throw away expensive understanding after every task: they grep, they rebuild the picture, you pay for the rediscovery. Graft writes the picture down as markdown nodes the agent can just read.

Three design choices are worth naming, because they decide cost and privacy:

  • Two tiers. The structural tier (graft build) is pure tree-sitter - per-symbol wiring, per-file cards, call and reference edges across 23 languages - with no model call and no API key, and no source upload. The concept tier (graft build --deep) spends your key: file summaries, synthesized concept nodes, per-symbol summary and crux, cached by body hash. Provider-neutral via GRAFT_PROVIDER (openai, anthropic, litellm, orcarouter).
  • No vector store. No server, no database, no embeddings. The graph is plain files, and graft build adds graft/ to your .gitignore automatically - it is a local regenerable cache like node_modules, not something you commit. What you do commit is the wiring init drops into .claude/ and the marker-fenced AGENTS.md section.
  • Freshness as a loop, not an index. Every query checks the working tree against the last build’s fingerprint and rebuilds only what moved - structurally, at zero token cost - so answers include uncommitted edits.

Coverage and integration

Full-fidelity hand-written extractors: TypeScript/JavaScript (JSX, TSX), Python, Go, Java, Kotlin, PHP, Swift, R. Broad tier (symbols plus name-resolved call edges): Rust, C, C++, C#, Ruby, Scala, Elixir, Solidity, OCaml, Zig, Dart, Clojure, Nix, Lua. Opt-in graft build --lsp adds compiler-grade lsp_resolved edges when rust-analyzer, clangd, gopls, pyright or typescript-language-server is on PATH - best-effort, no server means no change. A file in an unsupported language is skipped, not indexed.

Claude Code gets the deepest treatment: a live statusline (graph size, % enriched, a stale warning), auto-sync on every query, per-prompt context pulls, and blast-radius surfacing when you edit a file. Six MCP tools are exposed for other agents; Cursor, Copilot, Gemini, Kiro and Windsurf get rule files.

The benchmark, and what it is worth

Graft publishes two harnesses. The first is its own: 162 runs across two repos, Claude Sonnet 5, three variants (cold / push / pull), correctness judged by Opus 4.8. Cold vs push: tokens 8,070 -> 4,650 (+42%), tool calls 4.2 -> 2.3 (+46%), wall clock 39.8s -> 15.8s (+60%), correctness 93% -> 93% (equal). The pull variant traded most of that speed for correctness 98%, +5 points.

The second is SWE-bench Verified with the official swebench 4.1.0 grader, 50 instances, same model both arms: 27/50 (54%) -> 33/50 (66%), +12 points, with 23% fewer tokens, 25% fewer tool calls and 32% less wall clock.

Both caveats matter. 50 instances graded once is a small sample, and the first harness is the vendor measuring its own mechanism. An independent write-up (Wavect, reviewed 2026-09-02) makes the same point from the other side: the viral claim that the map travels through git and the whole team inherits it is wrong - Graft’s own docs say the graph is a local cache, so what you are rolling out is a shared convention and a cheap rebuild, not a shared document.

The caveats

  • Vendor benchmarks. Both harnesses are Graft’s. There is no independent replication of the SWE-bench result.
  • Pre-1.0 churn. v0.21.1, 360 open PRs, 203 open issues, pushed the day before this check. Pin the version and test upgrades the way you would for any build tool.
  • Repo size. The repo itself is ~68 MB of source, and --deep runs are not free. Both are real costs on a large monorepo.
  • Telemetry. One batched anonymous usage ping (buckets and fixed labels only - the README says no code, paths, repo names, symbols or queries), plus a daily npm version check. Disable with graft telemetry disable or DO_NOT_TRACK=1.
  • Third-party runs disagree. Graft’s numbers are its own. At least one independent community run of context-graph approaches scored below a plain agent baseline, which is the same mechanism working in reverse. Measure on one repo of your own before rolling it across a team.
  • Not a model upgrade. All of this is context plumbing. A weak underlying agent still produces weak work.

FAQ

Is Graft free? Yes - MIT, and neither the repo nor the product page lists a paid tier as of 2026-10-03. Trail, the vendor’s commercial agent-rules product next to Graft, is paid (Free tier, then $20k/$60k/$150k per year) but is a separate thing.

Does it need an API key? Only for the optional LLM layer. graft build, graft ask, graft callers, graft map, graft grep, graft blast and graft skeleton are deterministic tree-sitter with no key at all.

Do I commit the graph? No, and you should not. graft build gitignores graft/ for you. Commit the wiring graft init writes (.claude/, the AGENTS.md section, the MCP config); each clone regenerates its own graph in seconds.

Which agents does it support? Claude Code (deepest integration), plus Cursor, Codex CLI, Gemini CLI, GitHub Copilot, Kiro and Windsurf rule files, and any MCP-capable client through six MCP tools.

Sources

  1. https://github.com/trailhq/Graft - README full text (fetched 2026-10-03)
  2. https://api.github.com/repos/trailhq/Graft - stars, forks, issues, license, dates (2026-10-03)
  3. https://api.github.com/search/issues?q=repo:trailhq/Graft+is:pr - open PR count 360 (2026-10-03)
  4. https://registry.npmjs.org/@nanonets/graft - latest 0.21.1, license, publish dates (2026-10-03)
  5. https://api.npmjs.org/downloads/point/last-month/@nanonets/graft - 88,838 Sept 2026 downloads (2026-10-03)
  6. https://trailhq.com/graft - official product page, headline claims (extracted 2026-10-03)
  7. https://trailhq.com/pricing - Trail plans (Free / $20k / $60k / $150k per year), establishing Graft is separate and free (extracted 2026-10-03)
  8. wavect.io “Graft Review: Can an Agent Repo Map Be a Team Asset?” (Kevin Riedl, reviewed 2026-09-02) - independent pushback on the team-inheritance claim and on the graph being gitignored
  9. https://www.reddit.com/r/ClaudeAI/comments/1s1gooc/ - third-party SWE-bench note that context-graph approaches scored below agent baselines on that run (counter-evidence, not a Graft benchmark)