codebase-context 1.6.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +417 -282
- package/dist/analyzers/angular/index.d.ts.map +1 -1
- package/dist/analyzers/angular/index.js +91 -40
- package/dist/analyzers/angular/index.js.map +1 -1
- package/dist/analyzers/generic/index.d.ts +1 -0
- package/dist/analyzers/generic/index.d.ts.map +1 -1
- package/dist/analyzers/generic/index.js +94 -14
- package/dist/analyzers/generic/index.js.map +1 -1
- package/dist/cli-formatters.d.ts +47 -0
- package/dist/cli-formatters.d.ts.map +1 -0
- package/dist/cli-formatters.js +803 -0
- package/dist/cli-formatters.js.map +1 -0
- package/dist/cli-memory.d.ts +5 -0
- package/dist/cli-memory.d.ts.map +1 -0
- package/dist/cli-memory.js +218 -0
- package/dist/cli-memory.js.map +1 -0
- package/dist/cli.d.ts +3 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +317 -88
- package/dist/cli.js.map +1 -1
- package/dist/constants/codebase-context.d.ts +13 -0
- package/dist/constants/codebase-context.d.ts.map +1 -1
- package/dist/constants/codebase-context.js +13 -0
- package/dist/constants/codebase-context.js.map +1 -1
- package/dist/core/auto-refresh.d.ts +16 -0
- package/dist/core/auto-refresh.d.ts.map +1 -0
- package/dist/core/auto-refresh.js +25 -0
- package/dist/core/auto-refresh.js.map +1 -0
- package/dist/core/file-watcher.d.ts +15 -0
- package/dist/core/file-watcher.d.ts.map +1 -0
- package/dist/core/file-watcher.js +59 -0
- package/dist/core/file-watcher.js.map +1 -0
- package/dist/core/index-meta.d.ts +27 -0
- package/dist/core/index-meta.d.ts.map +1 -0
- package/dist/core/index-meta.js +212 -0
- package/dist/core/index-meta.js.map +1 -0
- package/dist/core/indexer.d.ts.map +1 -1
- package/dist/core/indexer.js +324 -26
- package/dist/core/indexer.js.map +1 -1
- package/dist/core/reranker.d.ts.map +1 -1
- package/dist/core/reranker.js +3 -0
- package/dist/core/reranker.js.map +1 -1
- package/dist/core/search-quality.js +2 -2
- package/dist/core/search-quality.js.map +1 -1
- package/dist/core/search.d.ts +1 -0
- package/dist/core/search.d.ts.map +1 -1
- package/dist/core/search.js +79 -11
- package/dist/core/search.js.map +1 -1
- package/dist/core/symbol-references.d.ts +20 -0
- package/dist/core/symbol-references.d.ts.map +1 -0
- package/dist/core/symbol-references.js +186 -0
- package/dist/core/symbol-references.js.map +1 -0
- package/dist/embeddings/index.d.ts +8 -0
- package/dist/embeddings/index.d.ts.map +1 -1
- package/dist/embeddings/index.js +17 -2
- package/dist/embeddings/index.js.map +1 -1
- package/dist/embeddings/openai.d.ts +1 -1
- package/dist/embeddings/openai.d.ts.map +1 -1
- package/dist/embeddings/openai.js +3 -1
- package/dist/embeddings/openai.js.map +1 -1
- package/dist/embeddings/transformers.d.ts +6 -0
- package/dist/embeddings/transformers.d.ts.map +1 -1
- package/dist/embeddings/transformers.js +12 -5
- package/dist/embeddings/transformers.js.map +1 -1
- package/dist/embeddings/types.d.ts +1 -0
- package/dist/embeddings/types.d.ts.map +1 -1
- package/dist/embeddings/types.js +7 -1
- package/dist/embeddings/types.js.map +1 -1
- package/dist/eval/harness.d.ts +5 -0
- package/dist/eval/harness.d.ts.map +1 -0
- package/dist/eval/harness.js +153 -0
- package/dist/eval/harness.js.map +1 -0
- package/dist/eval/types.d.ts +59 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +2 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/grammars/manifest.d.ts +26 -0
- package/dist/grammars/manifest.d.ts.map +1 -0
- package/dist/grammars/manifest.js +64 -0
- package/dist/grammars/manifest.js.map +1 -0
- package/dist/index.d.ts +16 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +181 -1300
- package/dist/index.js.map +1 -1
- package/dist/patterns/semantics.d.ts +2 -1
- package/dist/patterns/semantics.d.ts.map +1 -1
- package/dist/patterns/semantics.js +0 -2
- package/dist/patterns/semantics.js.map +1 -1
- package/dist/preflight/evidence-lock.d.ts +6 -0
- package/dist/preflight/evidence-lock.d.ts.map +1 -1
- package/dist/preflight/evidence-lock.js +33 -1
- package/dist/preflight/evidence-lock.js.map +1 -1
- package/dist/storage/index.d.ts +4 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +2 -2
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/lancedb.d.ts +11 -1
- package/dist/storage/lancedb.d.ts.map +1 -1
- package/dist/storage/lancedb.js +45 -11
- package/dist/storage/lancedb.js.map +1 -1
- package/dist/storage/types.d.ts +4 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js.map +1 -1
- package/dist/tools/detect-circular-dependencies.d.ts +5 -0
- package/dist/tools/detect-circular-dependencies.d.ts.map +1 -0
- package/dist/tools/detect-circular-dependencies.js +117 -0
- package/dist/tools/detect-circular-dependencies.js.map +1 -0
- package/dist/tools/get-codebase-metadata.d.ts +5 -0
- package/dist/tools/get-codebase-metadata.d.ts.map +1 -0
- package/dist/tools/get-codebase-metadata.js +53 -0
- package/dist/tools/get-codebase-metadata.js.map +1 -0
- package/dist/tools/get-indexing-status.d.ts +5 -0
- package/dist/tools/get-indexing-status.d.ts.map +1 -0
- package/dist/tools/get-indexing-status.js +44 -0
- package/dist/tools/get-indexing-status.js.map +1 -0
- package/dist/tools/get-memory.d.ts +5 -0
- package/dist/tools/get-memory.d.ts.map +1 -0
- package/dist/tools/get-memory.js +89 -0
- package/dist/tools/get-memory.js.map +1 -0
- package/dist/tools/get-style-guide.d.ts +5 -0
- package/dist/tools/get-style-guide.d.ts.map +1 -0
- package/dist/tools/get-style-guide.js +151 -0
- package/dist/tools/get-style-guide.js.map +1 -0
- package/dist/tools/get-symbol-references.d.ts +5 -0
- package/dist/tools/get-symbol-references.d.ts.map +1 -0
- package/dist/tools/get-symbol-references.js +70 -0
- package/dist/tools/get-symbol-references.js.map +1 -0
- package/dist/tools/get-team-patterns.d.ts +5 -0
- package/dist/tools/get-team-patterns.d.ts.map +1 -0
- package/dist/tools/get-team-patterns.js +147 -0
- package/dist/tools/get-team-patterns.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +41 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/refresh-index.d.ts +5 -0
- package/dist/tools/refresh-index.d.ts.map +1 -0
- package/dist/tools/refresh-index.js +40 -0
- package/dist/tools/refresh-index.js.map +1 -0
- package/dist/tools/remember.d.ts +5 -0
- package/dist/tools/remember.d.ts.map +1 -0
- package/dist/tools/remember.js +101 -0
- package/dist/tools/remember.js.map +1 -0
- package/dist/tools/search-codebase.d.ts +5 -0
- package/dist/tools/search-codebase.d.ts.map +1 -0
- package/dist/tools/search-codebase.js +745 -0
- package/dist/tools/search-codebase.js.map +1 -0
- package/dist/tools/types.d.ts +223 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types/index.d.ts +79 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/ast-chunker.d.ts +71 -0
- package/dist/utils/ast-chunker.d.ts.map +1 -0
- package/dist/utils/ast-chunker.js +453 -0
- package/dist/utils/ast-chunker.js.map +1 -0
- package/dist/utils/chunking.d.ts.map +1 -1
- package/dist/utils/chunking.js +10 -3
- package/dist/utils/chunking.js.map +1 -1
- package/dist/utils/language-detection.d.ts.map +1 -1
- package/dist/utils/language-detection.js +26 -1
- package/dist/utils/language-detection.js.map +1 -1
- package/dist/utils/tree-sitter.d.ts +28 -0
- package/dist/utils/tree-sitter.d.ts.map +1 -0
- package/dist/utils/tree-sitter.js +422 -0
- package/dist/utils/tree-sitter.js.map +1 -0
- package/dist/utils/usage-tracker.d.ts +30 -40
- package/dist/utils/usage-tracker.d.ts.map +1 -1
- package/dist/utils/usage-tracker.js +66 -8
- package/dist/utils/usage-tracker.js.map +1 -1
- package/docs/capabilities.md +183 -92
- package/docs/cli.md +196 -0
- package/grammars/.gitkeep +0 -0
- package/grammars/tree-sitter-c.wasm +0 -0
- package/grammars/tree-sitter-c_sharp.wasm +0 -0
- package/grammars/tree-sitter-cpp.wasm +0 -0
- package/grammars/tree-sitter-go.wasm +0 -0
- package/grammars/tree-sitter-java.wasm +0 -0
- package/grammars/tree-sitter-javascript.wasm +0 -0
- package/grammars/tree-sitter-kotlin.wasm +0 -0
- package/grammars/tree-sitter-python.wasm +0 -0
- package/grammars/tree-sitter-rust.wasm +0 -0
- package/grammars/tree-sitter-tsx.wasm +0 -0
- package/grammars/tree-sitter-typescript.wasm +0 -0
- package/package.json +153 -157
package/docs/cli.md
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# CLI Gallery (Human-readable)
|
|
2
|
+
|
|
3
|
+
`codebase-context` exposes its MCP tools as a local CLI so humans can:
|
|
4
|
+
|
|
5
|
+
- Onboard themselves onto an unfamiliar repo
|
|
6
|
+
- Debug what the MCP server is doing
|
|
7
|
+
- Use outputs in CI/scripts (via `--json`)
|
|
8
|
+
|
|
9
|
+
> Output depends on the repo you run it against. The examples below are illustrative (paths, counts, and detected frameworks will vary).
|
|
10
|
+
|
|
11
|
+
## How to run
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Run from a repo root, or set CODEBASE_ROOT explicitly:
|
|
15
|
+
CODEBASE_ROOT=/path/to/repo npx -y codebase-context status
|
|
16
|
+
|
|
17
|
+
# Every command supports --json (machine output). Human mode is default.
|
|
18
|
+
npx -y codebase-context patterns --json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### ASCII fallback
|
|
22
|
+
|
|
23
|
+
If your terminal doesn’t render Unicode box-drawing cleanly:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
CODEBASE_CONTEXT_ASCII=1 npx -y codebase-context patterns
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Commands
|
|
30
|
+
|
|
31
|
+
- `metadata` — tech stack overview
|
|
32
|
+
- `patterns` — team conventions + adoption/trends
|
|
33
|
+
- `search --query <q>` — ranked results; add `--intent edit` for a preflight card
|
|
34
|
+
- `refs --symbol <name>` — concrete reference evidence
|
|
35
|
+
- `cycles` — circular dependency detection
|
|
36
|
+
- `status` — index status/progress
|
|
37
|
+
- `reindex` — rebuild index (full or incremental)
|
|
38
|
+
- `style-guide` — find style guide sections in docs
|
|
39
|
+
- `memory list|add|remove` — manage team memory (stored in `.codebase-context/memory.json`)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## `metadata`
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx -y codebase-context metadata
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Example output:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
┌─ codebase-context [monorepo] ────────────────────────────────────────┐
|
|
53
|
+
│ │
|
|
54
|
+
│ Framework: Angular unknown Architecture: mixed │
|
|
55
|
+
│ 130 files · 24,211 lines · 1077 components │
|
|
56
|
+
│ │
|
|
57
|
+
│ Dependencies: @huggingface/transformers · @lancedb/lancedb · │
|
|
58
|
+
│ @modelcontextprotocol/sdk · @typescript-eslint/typescript-estree · │
|
|
59
|
+
│ chokidar · fuse.js (+14 more) │
|
|
60
|
+
│ │
|
|
61
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## `patterns`
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx -y codebase-context patterns
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Example output (truncated):
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
┌─ Team Patterns ──────────────────────────────────────────────────────┐
|
|
74
|
+
│ │
|
|
75
|
+
│ UNIT TEST FRAMEWORK │
|
|
76
|
+
│ USE: Vitest – 96% adoption │
|
|
77
|
+
│ alt CAUTION: Jest – 4% minority pattern │
|
|
78
|
+
│ │
|
|
79
|
+
│ STATE MANAGEMENT │
|
|
80
|
+
│ PREFER: RxJS – 63% adoption │
|
|
81
|
+
│ alt Redux-style store – 25% │
|
|
82
|
+
│ │
|
|
83
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## `search`
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npx -y codebase-context search --query "file watcher" --intent edit --limit 3
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Example output (truncated):
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
┌─ Search: "file watcher" ─── intent: edit ────────────────────────────┐
|
|
96
|
+
│ Quality: ok (1.00) │
|
|
97
|
+
│ Ready to edit: YES │
|
|
98
|
+
│ │
|
|
99
|
+
│ Best example: index.ts │
|
|
100
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
101
|
+
|
|
102
|
+
1. src/core/file-watcher.ts:44-74
|
|
103
|
+
confidence: ██████████ 1.18
|
|
104
|
+
typescript module in file-watcher.ts: startFileWatcher :: (...)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## `refs`
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
npx -y codebase-context refs --symbol "startFileWatcher" --limit 10
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Example output (truncated):
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
┌─ startFileWatcher ─── 11 references ─── static analysis ─────────────┐
|
|
117
|
+
│ │
|
|
118
|
+
│ startFileWatcher │
|
|
119
|
+
│ │ │
|
|
120
|
+
│ ├─ file-watcher.test.ts:5 │
|
|
121
|
+
│ │ import { startFileWatcher } from '../src/core/file-watcher.... │
|
|
122
|
+
│ │
|
|
123
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## `cycles`
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npx -y codebase-context cycles --scope src
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Example output:
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
┌─ Circular Dependencies ──────────────────────────────────────────────┐
|
|
136
|
+
│ │
|
|
137
|
+
│ No cycles found · 98 files · 260 edges · 2.7 avg deps │
|
|
138
|
+
│ │
|
|
139
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## `status`
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npx -y codebase-context status
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Example output:
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
┌─ Index Status ───────────────────────────────────────────────────────┐
|
|
152
|
+
│ │
|
|
153
|
+
│ State: ready │
|
|
154
|
+
│ Root: /path/to/repo │
|
|
155
|
+
│ │
|
|
156
|
+
│ → Run `reindex` to re-index (`--incremental` skips unchanged). │
|
|
157
|
+
│ │
|
|
158
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## `reindex`
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
npx -y codebase-context reindex
|
|
165
|
+
npx -y codebase-context reindex --incremental --reason "changed watcher logic"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
> **MCP server mode**: if you're running codebase-context as an MCP server (long-running process), the index auto-refreshes via a file watcher — you don't need to call `reindex` between edits. Use `reindex` for one-shot CLI runs or to force a full rebuild.
|
|
169
|
+
|
|
170
|
+
## `style-guide`
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
npx -y codebase-context style-guide --query "naming"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Example output:
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
No style guides found.
|
|
180
|
+
Hint: Try broader terms like 'naming', 'patterns', 'testing', 'components'
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## `memory`
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
npx -y codebase-context memory list
|
|
187
|
+
npx -y codebase-context memory list --query "watcher"
|
|
188
|
+
|
|
189
|
+
npx -y codebase-context memory add \
|
|
190
|
+
--type gotcha \
|
|
191
|
+
--category tooling \
|
|
192
|
+
--memory "Use pnpm, not npm" \
|
|
193
|
+
--reason "Workspace support and speed"
|
|
194
|
+
|
|
195
|
+
npx -y codebase-context memory remove <id>
|
|
196
|
+
```
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,158 +1,154 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "codebase-context",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Second brain for AI agents working on your codebase - team coding patterns detection, persistent memory,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/lib.js",
|
|
7
|
-
"types": "./dist/lib.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": "./dist/lib.js",
|
|
11
|
-
"types": "./dist/lib.d.ts"
|
|
12
|
-
},
|
|
13
|
-
"./server": {
|
|
14
|
-
"import": "./dist/index.js",
|
|
15
|
-
"types": "./dist/index.d.ts"
|
|
16
|
-
},
|
|
17
|
-
"./analyzers/angular": {
|
|
18
|
-
"import": "./dist/analyzers/angular/index.js",
|
|
19
|
-
"types": "./dist/analyzers/angular/index.d.ts"
|
|
20
|
-
},
|
|
21
|
-
"./analyzers/generic": {
|
|
22
|
-
"import": "./dist/analyzers/generic/index.js",
|
|
23
|
-
"types": "./dist/analyzers/generic/index.d.ts"
|
|
24
|
-
},
|
|
25
|
-
"./embeddings": {
|
|
26
|
-
"import": "./dist/embeddings/index.js",
|
|
27
|
-
"types": "./dist/embeddings/index.d.ts"
|
|
28
|
-
},
|
|
29
|
-
"./storage": {
|
|
30
|
-
"import": "./dist/storage/index.js",
|
|
31
|
-
"types": "./dist/storage/index.d.ts"
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
"bin": {
|
|
35
|
-
"codebase-context": "./dist/index.js"
|
|
36
|
-
},
|
|
37
|
-
"files": [
|
|
38
|
-
"dist",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"mcp
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"code-
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"ai-
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"claude
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
"
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
"
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"@
|
|
121
|
-
"@
|
|
122
|
-
"@
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
"
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
"overrides": {
|
|
155
|
-
"@modelcontextprotocol/sdk>ajv": "8.18.0"
|
|
156
|
-
}
|
|
157
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "codebase-context",
|
|
3
|
+
"version": "1.8.0",
|
|
4
|
+
"description": "Second brain for AI agents working on your codebase - team coding patterns detection, persistent memory, edit readiness checks, and hybrid search with evidence scoring. Local-first MCP server",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/lib.js",
|
|
7
|
+
"types": "./dist/lib.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/lib.js",
|
|
11
|
+
"types": "./dist/lib.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./server": {
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./analyzers/angular": {
|
|
18
|
+
"import": "./dist/analyzers/angular/index.js",
|
|
19
|
+
"types": "./dist/analyzers/angular/index.d.ts"
|
|
20
|
+
},
|
|
21
|
+
"./analyzers/generic": {
|
|
22
|
+
"import": "./dist/analyzers/generic/index.js",
|
|
23
|
+
"types": "./dist/analyzers/generic/index.d.ts"
|
|
24
|
+
},
|
|
25
|
+
"./embeddings": {
|
|
26
|
+
"import": "./dist/embeddings/index.js",
|
|
27
|
+
"types": "./dist/embeddings/index.d.ts"
|
|
28
|
+
},
|
|
29
|
+
"./storage": {
|
|
30
|
+
"import": "./dist/storage/index.js",
|
|
31
|
+
"types": "./dist/storage/index.d.ts"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"bin": {
|
|
35
|
+
"codebase-context": "./dist/index.js"
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist",
|
|
39
|
+
"grammars",
|
|
40
|
+
"README.md",
|
|
41
|
+
"LICENSE",
|
|
42
|
+
"docs/cli.md",
|
|
43
|
+
"docs/capabilities.md"
|
|
44
|
+
],
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=18.0.0"
|
|
47
|
+
},
|
|
48
|
+
"keywords": [
|
|
49
|
+
"mcp",
|
|
50
|
+
"mcp-server",
|
|
51
|
+
"model-context-protocol",
|
|
52
|
+
"codebase-context",
|
|
53
|
+
"code-intelligence",
|
|
54
|
+
"code-patterns",
|
|
55
|
+
"team-conventions",
|
|
56
|
+
"pattern-detection",
|
|
57
|
+
"semantic-search",
|
|
58
|
+
"vector-search",
|
|
59
|
+
"hybrid-search",
|
|
60
|
+
"retrieval",
|
|
61
|
+
"reranking",
|
|
62
|
+
"rrf",
|
|
63
|
+
"cross-encoder",
|
|
64
|
+
"context-engineering",
|
|
65
|
+
"local-first",
|
|
66
|
+
"privacy-first",
|
|
67
|
+
"embeddings",
|
|
68
|
+
"preflight",
|
|
69
|
+
"evidence-scoring",
|
|
70
|
+
"golden-files",
|
|
71
|
+
"ai-coding",
|
|
72
|
+
"ai-agents",
|
|
73
|
+
"llm",
|
|
74
|
+
"claude",
|
|
75
|
+
"claude-code",
|
|
76
|
+
"cursor",
|
|
77
|
+
"copilot",
|
|
78
|
+
"windsurf",
|
|
79
|
+
"angular",
|
|
80
|
+
"react",
|
|
81
|
+
"typescript",
|
|
82
|
+
"developer-tools",
|
|
83
|
+
"static-analysis",
|
|
84
|
+
"code-quality",
|
|
85
|
+
"team-memory",
|
|
86
|
+
"second-brain",
|
|
87
|
+
"code-search",
|
|
88
|
+
"codebase-intelligence"
|
|
89
|
+
],
|
|
90
|
+
"repository": {
|
|
91
|
+
"type": "git",
|
|
92
|
+
"url": "git+https://github.com/PatrickSys/codebase-context.git"
|
|
93
|
+
},
|
|
94
|
+
"bugs": {
|
|
95
|
+
"url": "https://github.com/PatrickSys/codebase-context/issues"
|
|
96
|
+
},
|
|
97
|
+
"homepage": "https://github.com/PatrickSys/codebase-context#readme",
|
|
98
|
+
"author": {
|
|
99
|
+
"name": "Patrick Rosselló",
|
|
100
|
+
"email": "rossellocolompatrick@gmail.com",
|
|
101
|
+
"url": "https://github.com/PatrickSys"
|
|
102
|
+
},
|
|
103
|
+
"license": "MIT",
|
|
104
|
+
"dependencies": {
|
|
105
|
+
"@huggingface/transformers": "^3.8.1",
|
|
106
|
+
"@lancedb/lancedb": "^0.4.0",
|
|
107
|
+
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
108
|
+
"@typescript-eslint/typescript-estree": "^7.0.0",
|
|
109
|
+
"chokidar": "^3.6.0",
|
|
110
|
+
"fuse.js": "^7.0.0",
|
|
111
|
+
"glob": "^10.3.10",
|
|
112
|
+
"hono": "^4.12.2",
|
|
113
|
+
"ignore": "^5.3.1",
|
|
114
|
+
"typescript": "^5.3.3",
|
|
115
|
+
"uuid": "^9.0.1",
|
|
116
|
+
"web-tree-sitter": "^0.25.10",
|
|
117
|
+
"zod": "^4.3.4"
|
|
118
|
+
},
|
|
119
|
+
"devDependencies": {
|
|
120
|
+
"@eslint/js": "^9.39.2",
|
|
121
|
+
"@types/glob": "^8.1.0",
|
|
122
|
+
"@types/node": "^20.11.24",
|
|
123
|
+
"@types/uuid": "^9.0.8",
|
|
124
|
+
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
125
|
+
"@typescript-eslint/parser": "^8.51.0",
|
|
126
|
+
"eslint": "^9.0.0",
|
|
127
|
+
"eslint-config-prettier": "^10.1.8",
|
|
128
|
+
"eslint-plugin-import": "^2.32.0",
|
|
129
|
+
"globals": "^17.0.0",
|
|
130
|
+
"prettier": "^3.7.4",
|
|
131
|
+
"tree-sitter-wasms": "^0.1.13",
|
|
132
|
+
"tsx": "^4.21.0",
|
|
133
|
+
"typescript-eslint": "^8.51.0",
|
|
134
|
+
"vitest": "^4.0.16"
|
|
135
|
+
},
|
|
136
|
+
"scripts": {
|
|
137
|
+
"preinstall": "npx only-allow pnpm",
|
|
138
|
+
"sync:grammars": "node scripts/sync-grammars.mjs",
|
|
139
|
+
"prebuild": "pnpm run sync:grammars",
|
|
140
|
+
"build": "tsc",
|
|
141
|
+
"pretest": "pnpm run sync:grammars",
|
|
142
|
+
"start": "node dist/index.js",
|
|
143
|
+
"dev": "tsx src/index.ts",
|
|
144
|
+
"watch": "tsc -w",
|
|
145
|
+
"test": "vitest run",
|
|
146
|
+
"test:watch": "vitest",
|
|
147
|
+
"lint": "eslint \"src/**/*.ts\"",
|
|
148
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
149
|
+
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
150
|
+
"type-check": "tsc --noEmit",
|
|
151
|
+
"mcp:inspect": "npx -y @modelcontextprotocol/inspector node dist/index.js .",
|
|
152
|
+
"eval": "pnpm run build && node scripts/run-eval.mjs"
|
|
153
|
+
}
|
|
158
154
|
}
|