Skip to content
Agent Memory
MCP

stacklit

Ships with stacklit: Stop making your AI re-read your codebase. Stacklit maps your repo once and keeps the map fresh. In a 450-session test, agents ran 82% fewer grep and glob searches. Free, MIT, one…

From plugin
stacklit
1311 skill1 MCP

Claude Code

> /plugin marketplace add glincker/stacklit
> /plugin install stacklit@stacklit

Security report

Info

Not enough data

  • Known flaws

    Not published

  • Signed build

    Not published

  • Maintained

    Nov 9, 2026

    Last push

  • Licence

    MIT

  • Runs as

    Local process

    On your machine

  • Deprecated

    Not published

Signals from public registries, not an audit. Checked Nov 15, 2026.

stacklit README

Stacklit

CI

Release

npm version

npm downloads

Go reference

MIT license

stacklit init in a terminal

Stacklit maps your codebase once and keeps the map fresh. It parses your repo with tree-sitter and writes stacklit.json: modules, exports, dependency edges and hints. Commit it, and your coding agent reads a few hundred tokens instead of crawling your files, then uses a few commands (query, slice, impact) to go straight to the right file. Free and MIT, no paid tier. One Go binary, local and deterministic, no LLM, and the CLI makes no network calls. (The map page can load language icons from thesvg.org; STACKLIT_MAP_ICONS=off removes that.)

Install

npx stacklit init                                   # scan, write the index, open the map
stacklit setup                                      # wire up the assistants it detects
git add stacklit.json && git commit -m "add stacklit index"

Also: brew install glincker/tap/stacklit, npm install -g stacklit, go install github.com/glincker/stacklit/cmd/stacklit@latest, or a binary from Releases.

See it

Visual map of a repo

Copy-ready prompts for an agent

Flow steps through a codebase

Output

stacklit derive prints a compact map for a prompt (gin v1.10.0, 137 tokens, module list trimmed here):

gin | go | 8 modules | 19,537 lines | Gin, GitHub Actions, net/http
test: go test ./... | env: PORT

modules:
  binding             binding | depends: bytesconv, json
  internal/bytesconv  bytesconv | depended-by: binding, render, root
  render              render | depends: bytesconv, json
  root                root package | depends: binding, bytesconv, json, render
do-not-touch: .github/

stacklit query returns a token-budgeted slice of the symbol graph (output trimmed here):

$ stacklit query "how is the symbol graph built" --budget 600
internal/cli/graphcmds.go
  50-63 func buildSymbolGraph(root string, includeTests ...bool) (*graph.SymGraph, error)
      calls BuildSymbols E0.95
internal/graph/resolve.go
  955-961 func BuildSymbols(root string, files []string, eo ExtractOptions) *SymGraph

What you get

Indexstacklit.json, a Mermaid diagram (DEPENDENCIES.md by default, set with output.mermaid) and an interactive stacklit.html map
Languages48 languages and formats indexed; symbol graph for 20 (list)
Queriesquery, explain, impact, path, hubs, slice, each with a hard --budget
MCPstacklit serve: 15 tools, or --profile minimal for 4 (about 230 tokens of schema)
Hooksgit post-commit refresh; optional Claude Code hook that points a grepped identifier to its definition
CIexport (graphml, cypher, dot, mermaid and more), check architecture rules, status freshness, merge-graphs, a GitHub Action
Deterministicsame repo, same bytes. A committed index only changes when the code does
Privacyno telemetry, no upload. The map loads language logos from thesvg.org unless STACKLIT_MAP_ICONS=off (details)

Assistants

Claude Code  Cursor  Codex  Gemini CLI  GitHub Copilot  Windsurf  Zed 

Amp

stacklit setup sets up 25 assistants, including Aider, Cline, Continue, OpenCode, Roo Code and Kiro, plus a generic AGENTS.md (stacklit setup --list shows all 26 targets). Anything else can read stacklit.json directly.

Languages

Stacklit indexes 48 languages and formats (full table). Symbol graph and call edges (query, slice, impact) cover 20 of them.

Symbol graph and call edges (20)

Index only (modules, exports and imports, no call edges)

@glincker
Ships withstacklit
1311 skill1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
131
Star history of glincker/stacklit on GitHub, a chart by star-history.com

More MCP servers from other plugins.

cmem

cmem

MCP

Ships with claude-mem: Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions,…

claude-memtoday117k
@thedotmack@thedotmackInstall MCP
mempalace

mempalace

MCP

Ships with mempalace: Local-first AI memory. Verbatim storage, pluggable backend, 96.6% R@5 raw on LongMemEval — zero API calls.

@mempalace@mempalaceInstall MCP
mempalace

mempalace

MCP

Ships with mempalace: Local-first AI memory. Verbatim storage, pluggable backend, 96.6% R@5 raw on LongMemEval — zero API calls.

@milla-jovovich@milla-jovovichInstall MCP
ai-memory

ai-memory

MCP

Ships with ai-memory: Solution for long term memory for agent coding CLIs and to facilitate handoff between different agent…

@akitaonrails@akitaonrailsInstall MCP

Questions about stacklit.

Which coding agents can use stacklit?
stacklit works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
How do I add stacklit to Claude Code?
Run these in order, one at a time. 1. In Claude Code: /plugin marketplace add glincker/stacklit 2. In Claude Code: /plugin install stacklit@stacklit