Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 180 additions & 0 deletions .codebase-context/memory.json
Original file line number Diff line number Diff line change
Expand Up @@ -569,5 +569,185 @@
"scope": {
"kind": "global"
}
},
{
"id": "cbe8bd1377ba",
"type": "gotcha",
"category": "conventions",
"memory": "fix(analyzers): Recognize current React and Next patterns",
"reason": "Auto-extracted from git commit history",
"date": "2026-07-05T07:33:25.000Z",
"source": "git"
},
{
"id": "e3b009c312e8",
"type": "gotcha",
"category": "conventions",
"memory": "fix(reranker): Score passages with the supported tokenizer pair API",
"reason": "Auto-extracted from git commit history",
"date": "2026-07-05T14:43:29.000Z",
"source": "git"
},
{
"id": "449b60830c9b",
"type": "gotcha",
"category": "conventions",
"memory": "fix(eval): deduplicate blocked ContextBench rows",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-30T15:45:12.000Z",
"source": "git"
},
{
"id": "9dfaf21a0bc8",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): harden ContextBench schema cleanup",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T19:14:49.000Z",
"source": "git"
},
{
"id": "b8776a500ef5",
"type": "gotcha",
"category": "conventions",
"memory": "fix(eval): preserve ContextBench executor model provenance",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T19:04:04.000Z",
"source": "git"
},
{
"id": "a8b0f8664253",
"type": "gotcha",
"category": "conventions",
"memory": "fix(eval): harden ContextBench manifest checks",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T19:03:51.000Z",
"source": "git"
},
{
"id": "f84080651a19",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): relax zombie guard timeout jitter",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T18:24:56.000Z",
"source": "git"
},
{
"id": "3d7776af8a23",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): tolerate ContextBench runner cleanup races",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T18:21:18.000Z",
"source": "git"
},
{
"id": "6428cb02706e",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): tolerate ContextBench schema cleanup races",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T18:13:07.000Z",
"source": "git"
},
{
"id": "c1bd14e88de2",
"type": "gotcha",
"category": "conventions",
"memory": "fix(eval): align ContextBench harness evidence contracts",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T18:08:08.000Z",
"source": "git"
},
{
"id": "2f3db0023789",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): relax slow Windows integration timeouts",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T17:59:20.000Z",
"source": "git"
},
{
"id": "da039b1d0ff8",
"type": "gotcha",
"category": "conventions",
"memory": "fix(eval): harden ContextBench fixture verification",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T17:55:12.000Z",
"source": "git"
},
{
"id": "5e3bdcaa984c",
"type": "gotcha",
"category": "conventions",
"memory": "fix(git): scope local artifact ignores",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T17:50:47.000Z",
"source": "git"
},
{
"id": "861eb0bfb69f",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): relax slow Windows search timeouts",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T16:47:38.000Z",
"source": "git"
},
{
"id": "3614711e00a4",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): tolerate ContextBench temp cleanup races",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T16:29:24.000Z",
"source": "git"
},
{
"id": "c0cfb6599bcc",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): isolate ContextBench baseline Git env",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T16:25:08.000Z",
"source": "git"
},
{
"id": "084a0540558c",
"type": "gotcha",
"category": "conventions",
"memory": "fix(format): format ContextBench harness sources",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T16:06:53.000Z",
"source": "git"
},
{
"id": "0153743292c4",
"type": "gotcha",
"category": "conventions",
"memory": "fix(test): isolate ContextBench git fixtures",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-29T15:56:57.000Z",
"source": "git"
},
{
"id": "a5397b2ee20d",
"type": "gotcha",
"category": "conventions",
"memory": "fix(cli): lazy-load mcp runtime for direct commands",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-17T14:34:22.000Z",
"source": "git"
},
{
"id": "377e7c7c37b1",
"type": "gotcha",
"category": "conventions",
"memory": "fix(ci): unblock functional tests",
"reason": "Auto-extracted from git commit history",
"date": "2026-04-17T20:05:19.000Z",
"source": "git"
}
]
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ If you get `selection_required`, retry with one of the paths from `availableProj

## Language Support

10 languages with full symbol extraction via Tree-sitter: TypeScript, JavaScript, Python, Java, Kotlin, C, C++, C#, Go, Rust. 30+ languages with indexing and retrieval coverage, including PHP, Ruby, Swift, Scala, Shell, and config formats. Angular, React, and Next.js have dedicated analyzers; everything else uses the Generic analyzer with AST-aligned chunking when a grammar is available.
10 languages with full symbol extraction via Tree-sitter: TypeScript, JavaScript, Python, Java, Kotlin, C, C++, C#, Go, Rust. 30+ languages with indexing and retrieval coverage, including PHP, Ruby, Swift, Scala, Shell, and config formats. Angular, React, Next.js, and NestJS have dedicated analyzers; everything else uses the Generic analyzer with AST-aligned chunking when a grammar is available.

## Configuration

Expand All @@ -176,6 +176,19 @@ If you get `selection_required`, retry with one of the paths from `availableProj
| `CODEBASE_CONTEXT_PORT` | `3100` | HTTP server port override (same as `--port`; ignored in stdio mode) |
| `CODEBASE_CONTEXT_CONFIG_PATH` | `~/.codebase-context/config.json` | Override the server config file path |

Large projects can override the default 5,000 searchable-chunk safety limit per project:

```json
{
"projects": [
{
"root": "/path/to/large-project",
"parsing": { "maxChunks": 25000 }
}
]
}
```

## Performance

- **First indexing**: 2-5 minutes for ~30k files (embedding computation).
Expand Down
2 changes: 1 addition & 1 deletion docs/capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,6 @@ Reproducible evaluation is shipped as a CLI entrypoint backed by shared scoring/

- **Symbol refs are not a call-graph.** `get_symbol_references` counts identifier-node occurrences in the AST (comments/strings excluded via Tree-sitter). It does not distinguish call sites from type annotations, variable assignments, or imports. Full call-site-specific analysis (`call_expression` nodes only) is a roadmap item.
- **Impact is 2-hop max.** `computeImpactCandidates` walks direct importers then their importers. Full BFS reachability is on the roadmap.
- **Angular, React, and Next.js have dedicated analyzers.** All other languages go through the Generic analyzer (30+ languages, chunking + import graph, no framework-specific signal extraction).
- **Angular, React, Next.js, and NestJS have dedicated analyzers.** All other languages go through the Generic analyzer (30+ languages, chunking + import graph, no framework-specific signal extraction).
- **Default embedding model is `bge-small-en-v1.5` (512-token context).** Granite (8192 context) is opt-in via `EMBEDDING_MODEL`. OpenAI is opt-in via `EMBEDDING_PROVIDER=openai` — sends code externally.
- **Patterns are file-level frequency counts.** Not semantic clustering. Rising/Declining trend is derived from git commit recency for files using each pattern, not from usage semantics.
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@
"import": "./dist/analyzers/nextjs/index.js",
"types": "./dist/analyzers/nextjs/index.d.ts"
},
"./analyzers/nestjs": {
"import": "./dist/analyzers/nestjs/index.js",
"types": "./dist/analyzers/nestjs/index.d.ts"
},
"./analyzers/generic": {
"import": "./dist/analyzers/generic/index.js",
"types": "./dist/analyzers/generic/index.d.ts"
Expand Down Expand Up @@ -87,6 +91,7 @@
"windsurf",
"angular",
"react",
"nestjs",
"typescript",
"developer-tools",
"static-analysis",
Expand Down
Loading