Skip to content

Commit bb4149a

Browse files
thegdsksCopilot
andauthored
fix: cleanup deduplicate comparison tables (#17)
* fix: remove em dashes, deduplicate comparison tables * Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update COMPARISON.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update COMPARISON.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent edf2b98 commit bb4149a

2 files changed

Lines changed: 9 additions & 22 deletions

File tree

COMPARISON.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# AI Codebase Context Tools Comparison
1+
# AI Codebase Context Tools - Comparison
22

33
> How do you give AI agents codebase context? Here's every approach compared.
44
>
55
> Last updated: 2026-04-10 | [Submit corrections](https://github.com/glincker/stacklit/issues)
66
77
## The Problem
88

9-
AI coding agents (Claude Code, Cursor, Copilot, Aider) need to understand your codebase before they can help. Without context, they waste thousands of tokens exploring reading files, grepping, globbing just to figure out your project structure.
9+
AI coding agents (Claude Code, Cursor, Copilot, Aider) need to understand your codebase before they can help. Without context, they waste thousands of tokens exploring - reading files, grepping, globbing - just to figure out your project structure.
1010

1111
Different tools solve this differently. Some dump everything. Some build knowledge graphs. Some generate compressed maps. Here's how they compare.
1212

@@ -34,7 +34,7 @@ Different tools solve this differently. Some dump everything. Some build knowled
3434
Concatenate all source files into one big prompt. Simple, works everywhere, but:
3535
- Burns 50k-500k tokens on medium repos
3636
- Often exceeds context windows entirely
37-
- No structural intelligence agent still has to parse everything
37+
- No structural intelligence - agent still has to parse everything
3838
- Repomix's `--compress` mode uses tree-sitter to reduce output, but remains per-file (no cross-file dependency analysis)
3939

4040
Best for: Small repos (<5k lines), one-shot conversations, pasting into ChatGPT.
@@ -46,15 +46,15 @@ Build a queryable graph of your codebase, served over MCP:
4646
- Rich structural data (call graphs, blast radius, community detection)
4747
- Requires running a server process
4848
- Each query costs tokens (tool call overhead)
49-
- No committable artifact the knowledge lives in the server
49+
- No committable artifact - the knowledge lives in the server
5050

5151
Best for: Large codebases, long interactive sessions, teams with infra capacity.
5252

5353
### Structural Index (Stacklit)
5454

5555
Parses code with tree-sitter, builds a module-level dependency graph, outputs a compact navigation map:
5656
- **~250 tokens** for the compact map (vs 50k-500k for dumpers)
57-
- Static artifact commit `stacklit.json` to your repo
57+
- Static artifact - commit `stacklit.json` to your repo
5858
- Self-contained HTML visualization
5959
- Auto-configures Claude Code, Cursor, Aider via `stacklit setup`
6060
- Git hook keeps the index fresh
@@ -124,7 +124,7 @@ Repomix counts estimated from file sizes. Stacklit counts measured directly.
124124
## Install
125125

126126
```bash
127-
# npm (easiest downloads the right binary automatically)
127+
# npm (easiest - downloads the right binary automatically)
128128
npm i -g stacklit
129129

130130
# From source

README.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,13 @@ modules:
151151
<details>
152152
<summary>Configure manually instead</summary>
153153

154-
**Claude Code** add to `CLAUDE.md`:
154+
**Claude Code** - add to `CLAUDE.md`:
155155

156156
```
157157
Read stacklit.json before exploring files. Use modules to locate code, hints for conventions.
158158
```
159159

160-
**Claude Desktop / Cursor (MCP)** add to MCP config:
160+
**Claude Desktop / Cursor (MCP)** - add to MCP config:
161161

162162
```json
163163
{
@@ -172,7 +172,7 @@ Read stacklit.json before exploring files. Use modules to locate code, hints for
172172

173173
MCP server exposes 7 tools: `get_overview`, `get_module`, `find_module`, `list_modules`, `get_dependencies`, `get_hot_files`, `get_hints`.
174174

175-
**Any other agent** `stacklit.json` is a plain JSON file. Any tool that reads files can use it.
175+
**Any other agent** - `stacklit.json` is a plain JSON file. Any tool that reads files can use it.
176176

177177
</details>
178178

@@ -292,19 +292,6 @@ html = "stacklit.html"
292292

293293
[Full comparison with 7 tools →](https://github.com/glincker/stacklit/discussions/13)
294294

295-
## Compared to alternatives
296-
297-
| | Stacklit | Repomix | Aider repo-map | Codebase Memory MCP |
298-
|---|---|---|---|---|
299-
| Output | ~4k token index | 500k+ token dump | Ephemeral text | SQLite DB |
300-
| Committed to repo | Yes | Too large | No | No |
301-
| Dependency graph | Yes | No | Yes | Yes |
302-
| Visual output | HTML (4 views) | No | No | No |
303-
| MCP server | Yes (7 tools) | No | No | Yes |
304-
| Monorepo aware | Yes | No | No | No |
305-
| Languages | 11 (tree-sitter) | N/A | Many | 66 |
306-
| Runtime needed | No | No | Yes (Python) | Yes (C server) |
307-
308295
## Monorepo support
309296

310297
Auto-detects: pnpm, npm, yarn workspaces, Go workspaces, Turborepo, Nx, Lerna, Cargo workspaces, and convention directories (`apps/`, `packages/`, `services/`).

0 commit comments

Comments
 (0)