codeseeker 1.8.0 → 1.8.2

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/README.md CHANGED
@@ -1,468 +1,524 @@
1
- # CodeSeeker
2
-
3
- **Graph-powered code intelligence for Claude Code.** CodeSeeker builds a knowledge graph of your codebase—not just embeddings—so Claude understands how your code actually connects.
4
-
5
- [![npm version](https://img.shields.io/npm/v/codeseeker.svg)](https://www.npmjs.com/package/codeseeker)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
7
- [![TypeScript](https://img.shields.io/badge/TypeScript-100%25-blue.svg)](https://www.typescriptlang.org/)
8
-
9
- > **What is CodeSeeker?** An MCP server that gives AI assistants semantic code search and knowledge graph traversal. Works with **Claude Code**, **GitHub Copilot**, **Cursor**, and **Claude Desktop**.
10
-
11
- > **⚠️ NOT A VS CODE EXTENSION:** CodeSeeker is installed via `npm`, not the VS Code marketplace. It's an MCP server that enhances AI assistants, not a standalone extension.
12
-
13
- ## Installation
14
-
15
- > **🚨 Important:** CodeSeeker is **NOT a VS Code extension**. It's an **MCP server** (Model Context Protocol) that works WITH AI assistants like Claude Code and GitHub Copilot. Don't look for it in the VS Code marketplace—install via the methods below.
16
-
17
- ### ⚡ One-Line Install (Easiest)
18
-
19
- Copy/paste ONE command - auto-detects your system and configures everything:
20
-
21
- **macOS/Linux:**
22
- ```bash
23
- curl -fsSL https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.sh | sh
24
- ```
25
-
26
- **Windows (PowerShell):**
27
- ```powershell
28
- irm https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.ps1 | iex
29
- ```
30
-
31
- Restart your IDE and you're done!
32
-
33
- ### 📦 Package Managers (Advanced)
34
-
35
- **Linux (Snap) - All Distributions:**
36
- ```bash
37
- sudo snap install codeseeker
38
- codeseeker install --vscode # or --cursor, --windsurf
39
- ```
40
- > ⚠️ **Snap limitation:** Due to strict confinement, the snap can only access projects in your home directory (`~/`). For projects outside `~/`, use npm or Homebrew instead.
41
-
42
- **macOS/Linux (Homebrew):**
43
- ```bash
44
- brew install jghiringhelli/codeseeker/codeseeker
45
- codeseeker install --vscode # or --cursor, --windsurf
46
- ```
47
-
48
- **Windows (Chocolatey):**
49
- ```powershell
50
- choco install codeseeker
51
- codeseeker install --vscode # or --cursor, --windsurf
52
- ```
53
-
54
- **Cross-platform (npm):**
55
- ```bash
56
- npm install -g codeseeker
57
- codeseeker install --vscode # or --cursor, --windsurf
58
- ```
59
-
60
- ### 🚀 No Install Required (npx)
61
-
62
- Run without installing:
63
- ```bash
64
- npx codeseeker init
65
- npx codeseeker -c "how does authentication work?"
66
- ```
67
-
68
- ### 🔌 Claude Code Plugin
69
-
70
- If you use Claude Code CLI, you can install as a plugin:
71
-
72
- ```bash
73
- /plugin install codeseeker@github:jghiringhelli/codeseeker#plugin
74
- ```
75
-
76
- This gives you auto-sync hooks and slash commands (`/codeseeker:init`, `/codeseeker:reindex`).
77
-
78
- ### ☁️ Devcontainer / GitHub Codespaces
79
-
80
- CodeSeeker auto-installs in devcontainers! Just add `.devcontainer/devcontainer.json`:
81
-
82
- ```json
83
- {
84
- "name": "My Project",
85
- "image": "mcr.microsoft.com/devcontainers/javascript-node:18",
86
- "postCreateCommand": "npm install -g codeseeker && codeseeker install --vscode"
87
- }
88
- ```
89
-
90
- Or use our pre-configured devcontainer (already included in this repo).
91
-
92
- ### ✅ Verify Installation
93
-
94
- Ask your AI assistant: *"What CodeSeeker tools do you have?"*
95
-
96
- You should see: `search`, `search_and_read`, `show_dependencies`, `read_with_context`, `standards`, etc.
97
-
98
- ---
99
-
100
- ## The Problem
101
-
102
- Claude Code is powerful, but it navigates your codebase like a tourist with a phrasebook:
103
- - **Grep searches** find text matches, not semantic meaning
104
- - **File reads** show code in isolation, missing the bigger picture
105
- - **No memory** of your project's patterns—every session starts fresh
106
-
107
- The result? Claude asks you to explain code relationships it should already know. It writes validation logic that doesn't match your existing patterns. It misses dependencies and breaks things.
108
-
109
- ## How CodeSeeker Fixes This
110
-
111
- CodeSeeker builds a **knowledge graph** of your codebase:
112
-
113
- ```
114
- ┌─────────────┐ imports ┌─────────────┐
115
- │ auth.ts │ ───────────────▶ │ user.ts │
116
- └─────────────┘ └─────────────┘
117
- │ │
118
- │ calls │ extends
119
- ▼ ▼
120
- ┌─────────────┐ implements ┌─────────────┐
121
- │ session.ts │ ◀─────────────── │ BaseUser.ts │
122
- └─────────────┘ └─────────────┘
123
- ```
124
-
125
- When you ask "add password reset to authentication", Claude doesn't just find files containing "auth"—it traverses the graph to find:
126
- - What `auth.ts` imports and exports
127
- - Which services call authentication functions
128
- - What patterns exist in related code
129
- - How your project handles similar flows
130
-
131
- This is **Graph RAG** (Retrieval-Augmented Generation), not just vector search.
132
-
133
- ## Advanced Installation Options
134
-
135
- <details>
136
- <summary><b>📋 Manual MCP Configuration</b> (if auto-install doesn't work)</summary>
137
-
138
- ### VS Code (Claude Code & GitHub Copilot)
139
-
140
- Add to `.vscode/mcp.json` in your project:
141
-
142
- ```json
143
- {
144
- "mcpServers": {
145
- "codeseeker": {
146
- "command": "npx",
147
- "args": ["-y", "codeseeker", "serve", "--mcp"],
148
- "env": {
149
- "CODESEEKER_STORAGE_MODE": "embedded"
150
- }
151
- }
152
- }
153
- }
154
- ```
155
-
156
- ### Cursor
157
-
158
- Add to `.cursor/mcp.json` in your project:
159
-
160
- ```json
161
- {
162
- "mcpServers": {
163
- "codeseeker": {
164
- "command": "npx",
165
- "args": ["-y", "codeseeker", "serve", "--mcp"],
166
- "env": {
167
- "CODESEEKER_STORAGE_MODE": "embedded"
168
- }
169
- }
170
- }
171
- }
172
- ```
173
-
174
- ### Claude Desktop
175
-
176
- Add to your `claude_desktop_config.json`:
177
-
178
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
179
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
180
-
181
- ```json
182
- {
183
- "mcpServers": {
184
- "codeseeker": {
185
- "command": "npx",
186
- "args": ["-y", "codeseeker", "serve", "--mcp"],
187
- "env": {
188
- "CODESEEKER_STORAGE_MODE": "embedded"
189
- }
190
- }
191
- }
192
- }
193
- ```
194
-
195
- ### Global vs Project-Level Configuration
196
-
197
- ```bash
198
- # Apply to all projects (user-level)
199
- codeseeker install --vscode --global
200
-
201
- # Apply to current project only
202
- codeseeker install --vscode
203
- ```
204
-
205
- </details>
206
-
207
- <details>
208
- <summary><b>🖥️ CLI Standalone Usage</b> (without AI assistant)</summary>
209
-
210
- ```bash
211
- npm install -g codeseeker
212
- cd your-project
213
- codeseeker init
214
- codeseeker -c "how does authentication work in this project?"
215
- ```
216
-
217
- </details>
218
-
219
- ## What You Get
220
-
221
- Once configured, Claude has access to these MCP tools (used automatically):
222
-
223
- | Tool | What It Does |
224
- |------|--------------|
225
- | `search_code` | Hybrid search: vector + text + path with RRF fusion |
226
- | `find_and_read` | Search + Read in one step - returns file content directly |
227
- | `get_code_relationships` | Traverse the knowledge graph (imports, calls, extends) |
228
- | `get_file_context` | Read a file with its related code automatically included |
229
- | `get_coding_standards` | Your project's detected patterns (validation, error handling) |
230
- | `index_project` | Manually trigger indexing (rarely needed) |
231
- | `notify_file_changes` | Update index for specific files |
232
- | `manage_index` | Dynamically exclude/include files from the index |
233
-
234
- **You don't invoke these manually**—Claude uses them automatically when searching code or analyzing relationships.
235
-
236
- ## How Indexing Works
237
-
238
- **You don't need to manually index.** When Claude uses any CodeSeeker tool, the tool automatically checks if the project is indexed. If not, it indexes on first use.
239
-
240
- ```
241
- User: "Find the authentication logic"
242
-
243
-
244
- ┌─────────────────────────────────────┐
245
- │ Claude calls search_code() │
246
- │ │ │
247
-
248
- Project indexed? ──No──► Index now
249
- │ │ (auto) │
250
- Yes
251
- │◀───────────────────┘
252
-
253
- Return search results
254
- └─────────────────────────────────────┘
255
- ```
256
-
257
- First search on a new project takes 30 seconds to several minutes (depending on size). Subsequent searches are instant.
258
-
259
- ## What Makes It Different
260
-
261
- | Approach | How It Works | Strengths | Limitations |
262
- |----------|--------------|-----------|-------------|
263
- | **Grep/ripgrep** | Text pattern matching | Fast, universal | No semantic understanding |
264
- | **Vector search only** | Embedding similarity | Finds similar code | Misses structural relationships |
265
- | **LSP-based tools** | Language server protocol | Precise symbol definitions | No semantic search, no cross-file reasoning |
266
- | **CodeSeeker** | Knowledge graph + hybrid search | Semantic + structure + patterns | Requires initial indexing (30s-5min) |
267
-
268
- ### CodeSeeker's Unique Capabilities
269
-
270
- **What LSP tools can't do:**
271
- - *"Find code that handles errors like this"* → Semantic search finds similar patterns
272
- - *"What validation approach does this project use?"* → Auto-detected coding standards
273
- - *"Show me everything related to authentication"* → Graph traversal across indirect dependencies
274
-
275
- **What vector-only search misses:**
276
- - Direct import/export relationships
277
- - Class inheritance chains
278
- - Function call graphs
279
- - Which files actually depend on which
280
-
281
- CodeSeeker combines all three: **graph traversal** for structure, **vector search** for meaning, **text search** for precision—fused with Reciprocal Rank Fusion (RRF) for optimal results.
282
-
283
- ## Auto-Detected Coding Standards
284
-
285
- CodeSeeker analyzes your codebase and extracts patterns:
286
-
287
- ```json
288
- {
289
- "validation": {
290
- "email": {
291
- "preferred": "z.string().email()",
292
- "usage_count": 12,
293
- "files": ["src/auth.ts", "src/user.ts"]
294
- }
295
- },
296
- "react-patterns": {
297
- "state": {
298
- "preferred": "useState<T>()",
299
- "usage_count": 45
300
- }
301
- }
302
- }
303
- ```
304
-
305
- Detected pattern categories:
306
- - **validation**: Zod, Yup, Joi, validator.js, custom regex
307
- - **error-handling**: API error responses, try-catch patterns, custom Error classes
308
- - **logging**: Console, Winston, Bunyan, structured logging
309
- - **testing**: Jest/Vitest setup, assertion patterns
310
- - **react-patterns**: Hooks (useState, useEffect, useMemo, useCallback, useRef)
311
- - **state-management**: Redux Toolkit, Zustand, React Context, TanStack Query
312
- - **api-patterns**: Fetch, Axios, Express routes, Next.js API routes
313
-
314
- When Claude writes new code, it follows your existing conventions instead of inventing new ones.
315
-
316
- ## Managing Index Exclusions
317
-
318
- If Claude notices files that shouldn't be indexed (like Unity's Library folder, build outputs, or generated files), it can dynamically exclude them:
319
-
320
- ```typescript
321
- // Exclude Unity Library folder and generated files
322
- manage_index({
323
- action: "exclude",
324
- project: "my-unity-game",
325
- paths: ["Library/**", "Temp/**", "*.generated.cs"],
326
- reason: "Unity build artifacts"
327
- })
328
- ```
329
-
330
- Exclusions are persisted in `.codeseeker/exclusions.json` and automatically respected during reindexing.
331
-
332
- ## Language Support
333
-
334
- | Language | Parser | Relationship Extraction |
335
- |----------|--------|------------------------|
336
- | TypeScript/JavaScript | Babel AST | Excellent |
337
- | Python | Tree-sitter | Excellent |
338
- | Java | Tree-sitter | Excellent |
339
- | C# | Regex | Good |
340
- | Go | Regex | Good |
341
- | Rust, C/C++, Ruby, PHP | Regex | Basic |
342
-
343
- Tree-sitter parsers install automatically when needed.
344
-
345
- ## Keeping the Index in Sync
346
-
347
- ### With Claude Code Plugin
348
-
349
- The plugin installs **hooks** that automatically update the index:
350
-
351
- | Event | What Happens |
352
- |-------|--------------|
353
- | Claude edits a file | Index updated automatically |
354
- | Claude runs `git pull/checkout/merge` | Full reindex triggered |
355
- | You run `/codeseeker:reindex` | Manual full reindex |
356
-
357
- **You don't need to do anything**—the plugin handles sync automatically.
358
-
359
- ### With MCP Server Only (Cursor, Claude Desktop)
360
-
361
- - **Claude-initiated changes**: Claude can call `notify_file_changes` tool
362
- - **Manual changes**: Not automatically detected—ask Claude to reindex periodically
363
-
364
- ### Sync Summary
365
-
366
- | Setup | Claude Edits | Git Operations | Manual Edits |
367
- |-------|--------------|----------------|--------------|
368
- | **Plugin** (Claude Code) | Auto | Auto | Manual |
369
- | **MCP** (Cursor, Desktop) | Ask Claude | Ask Claude | Ask Claude |
370
- | **CLI** | Auto | Auto | Manual |
371
-
372
- ## When CodeSeeker Helps Most
373
-
374
- **Good fit:**
375
- - Large codebases (10K+ files) where Claude struggles to find relevant code
376
- - Projects with established patterns you want Claude to follow
377
- - Complex dependency chains across multiple files
378
- - Teams wanting consistent AI-generated code
379
-
380
- **Less useful:**
381
- - Greenfield projects with little existing code
382
- - Single-file scripts
383
- - Projects where you're actively changing architecture
384
-
385
- ## Architecture
386
-
387
- ```
388
- ┌──────────────────────────────────────────────────────────┐
389
- │ Claude Code │
390
- │ │ │
391
- │ MCP Protocol │
392
- │ │ │
393
- │ ┌──────────────────────▼──────────────────────────┐ │
394
- │ │ CodeSeeker MCP Server │ │
395
- │ │ ┌─────────────┬─────────────┬────────────────┐ │ │
396
- │ │ │ Vector │ Knowledge │ Coding │ │ │
397
- │ │ │ Search │ Graph │ Standards │ │ │
398
- │ │ │ (SQLite) │ (SQLite) │ (JSON) │ │ │
399
- │ │ └─────────────┴─────────────┴────────────────┘ │ │
400
- │ └─────────────────────────────────────────────────┘ │
401
- └──────────────────────────────────────────────────────────┘
402
- ```
403
-
404
- All data stored locally in `.codeseeker/`. No external services required.
405
-
406
- For large teams (100K+ files, shared indexes), server mode supports PostgreSQL + Neo4j. See [Storage Documentation](docs/technical/storage.md).
407
-
408
- ## Troubleshooting
409
-
410
- ### "I can't find CodeSeeker in the VS Code marketplace"
411
-
412
- **CodeSeeker is NOT a VS Code extension.** It's an MCP server that works WITH AI assistants.
413
-
414
- ✅ **Correct:** Install via npm: `npm install -g codeseeker`
415
- **Wrong:** Looking for it in VS Code Extensions marketplace
416
-
417
- ### MCP server not connecting
418
-
419
- 1. Verify npm and npx work: `npx -y codeseeker --version`
420
- 2. Check MCP config file syntax (valid JSON, no trailing commas)
421
- 3. Restart your editor/Claude application completely
422
- 4. Check that Node.js is installed: `node --version` (need v18+)
423
-
424
- ### Indexing seems slow
425
-
426
- First-time indexing of large projects (50K+ files) can take 5+ minutes. Subsequent uses are instant.
427
-
428
- ### Tools not appearing in Claude
429
-
430
- 1. Ask Claude: *"What CodeSeeker tools do you have?"*
431
- 2. If no tools appear, check MCP config file exists and has correct syntax
432
- 3. Restart your IDE completely (not just reload window)
433
- 4. Check Claude/Copilot MCP connection status in IDE
434
-
435
- ### Still stuck?
436
-
437
- Open an issue: [GitHub Issues](https://github.com/jghiringhelli/codeseeker/issues)
438
-
439
- ## Documentation
440
-
441
- - [Integration Guide](docs/INTEGRATION.md) - How all components connect
442
- - [Architecture](docs/technical/architecture.md) - Technical deep dive
443
- - [CLI Commands](docs/install/cli_commands_manual.md) - Full command reference
444
-
445
- ## Supported Platforms
446
-
447
- | Platform | MCP Support | Install Command |
448
- |----------|-------------|-----------------|
449
- | **Claude Code** (VS Code) | Yes | `codeseeker install --vscode` or plugin |
450
- | **GitHub Copilot** (VS Code) | Yes (VS Code 1.99+) | `codeseeker install --vscode` |
451
- | **Cursor** | Yes | `codeseeker install --cursor` |
452
- | **Claude Desktop** | Yes | Manual config |
453
- | **Windsurf** | Yes | `codeseeker install --windsurf` |
454
- | **Visual Studio** | Yes | `codeseeker install --vs` |
455
-
456
- > **Note:** Claude Code and GitHub Copilot both run in VS Code and share the same MCP configuration (`.vscode/mcp.json`). The flags `--vscode`, `--claude-code`, and `--copilot` are interchangeable.
457
-
458
- ## Support
459
-
460
- If CodeSeeker is useful to you, consider [sponsoring the project](https://github.com/sponsors/jghiringhelli).
461
-
462
- ## License
463
-
464
- MIT License. See [LICENSE](LICENSE).
465
-
466
- ---
467
-
468
- *CodeSeeker gives Claude the code understanding that grep and embeddings alone can't provide.*
1
+ # CodeSeeker
2
+
3
+ **Graph-powered code intelligence for Claude Code.** CodeSeeker builds a knowledge graph of your codebase—not just embeddings—so Claude understands how your code actually connects.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/codeseeker.svg)](https://www.npmjs.com/package/codeseeker)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
7
+ [![TypeScript](https://img.shields.io/badge/TypeScript-100%25-blue.svg)](https://www.typescriptlang.org/)
8
+
9
+ > **What is CodeSeeker?** An MCP server that gives AI assistants semantic code search and knowledge graph traversal. Works with **Claude Code**, **GitHub Copilot**, **Cursor**, and **Claude Desktop**.
10
+
11
+ > **⚠️ NOT A VS CODE EXTENSION:** CodeSeeker is installed via `npm`, not the VS Code marketplace. It's an MCP server that enhances AI assistants, not a standalone extension.
12
+
13
+ ## Installation
14
+
15
+ > **🚨 Important:** CodeSeeker is **NOT a VS Code extension**. It's an **MCP server** (Model Context Protocol) that works WITH AI assistants like Claude Code and GitHub Copilot. Don't look for it in the VS Code marketplace—install via the methods below.
16
+
17
+ ### ⚡ One-Line Install (Easiest)
18
+
19
+ Copy/paste ONE command - auto-detects your system and configures everything:
20
+
21
+ **macOS/Linux:**
22
+ ```bash
23
+ curl -fsSL https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.sh | sh
24
+ ```
25
+
26
+ **Windows (PowerShell):**
27
+ ```powershell
28
+ irm https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.ps1 | iex
29
+ ```
30
+
31
+ Restart your IDE and you're done!
32
+
33
+ ### 📦 Package Managers (Advanced)
34
+
35
+ **Linux (Snap) - All Distributions:**
36
+ ```bash
37
+ sudo snap install codeseeker
38
+ codeseeker install --vscode # or --cursor, --windsurf
39
+ ```
40
+ > ⚠️ **Snap limitation:** Due to strict confinement, the snap can only access projects in your home directory (`~/`). For projects outside `~/`, use npm or Homebrew instead.
41
+
42
+ **macOS/Linux (Homebrew):**
43
+ ```bash
44
+ brew install jghiringhelli/codeseeker/codeseeker
45
+ codeseeker install --vscode # or --cursor, --windsurf
46
+ ```
47
+
48
+ **Windows (Chocolatey):**
49
+ ```powershell
50
+ choco install codeseeker
51
+ codeseeker install --vscode # or --cursor, --windsurf
52
+ ```
53
+
54
+ **Cross-platform (npm):**
55
+ ```bash
56
+ npm install -g codeseeker
57
+ codeseeker install --vscode # or --cursor, --windsurf
58
+ ```
59
+
60
+ ### 🚀 No Install Required (npx)
61
+
62
+ Run without installing:
63
+ ```bash
64
+ npx codeseeker init
65
+ npx codeseeker -c "how does authentication work?"
66
+ ```
67
+
68
+ ### 🔌 Claude Code Plugin
69
+
70
+ If you use Claude Code CLI, you can install as a plugin:
71
+
72
+ ```bash
73
+ /plugin install codeseeker@github:jghiringhelli/codeseeker#plugin
74
+ ```
75
+
76
+ This gives you auto-sync hooks and slash commands (`/codeseeker:init`, `/codeseeker:reindex`).
77
+
78
+ ### ☁️ Devcontainer / GitHub Codespaces
79
+
80
+ CodeSeeker auto-installs in devcontainers! Just add `.devcontainer/devcontainer.json`:
81
+
82
+ ```json
83
+ {
84
+ "name": "My Project",
85
+ "image": "mcr.microsoft.com/devcontainers/javascript-node:18",
86
+ "postCreateCommand": "npm install -g codeseeker && codeseeker install --vscode"
87
+ }
88
+ ```
89
+
90
+ Or use our pre-configured devcontainer (already included in this repo).
91
+
92
+ ### ✅ Verify Installation
93
+
94
+ Ask your AI assistant: *"What CodeSeeker tools do you have?"*
95
+
96
+ You should see: `search`, `search_and_read`, `show_dependencies`, `read_with_context`, `standards`, etc.
97
+
98
+ ---
99
+
100
+ ## The Problem
101
+
102
+ Claude Code is powerful, but it navigates your codebase like a tourist with a phrasebook:
103
+ - **Grep searches** find text matches, not semantic meaning
104
+ - **File reads** show code in isolation, missing the bigger picture
105
+ - **No memory** of your project's patterns—every session starts fresh
106
+
107
+ The result? Claude asks you to explain code relationships it should already know. It writes validation logic that doesn't match your existing patterns. It misses dependencies and breaks things.
108
+
109
+ ## How CodeSeeker Fixes This
110
+
111
+ CodeSeeker builds a **knowledge graph** of your codebase:
112
+
113
+ ```
114
+ ┌─────────────┐ imports ┌─────────────┐
115
+ │ auth.ts │ ───────────────▶ │ user.ts │
116
+ └─────────────┘ └─────────────┘
117
+ │ │
118
+ │ calls │ extends
119
+ ▼ ▼
120
+ ┌─────────────┐ implements ┌─────────────┐
121
+ │ session.ts │ ◀─────────────── │ BaseUser.ts │
122
+ └─────────────┘ └─────────────┘
123
+ ```
124
+
125
+ When you ask "add password reset to authentication", Claude doesn't just find files containing "auth"—it traverses the graph to find:
126
+ - What `auth.ts` imports and exports
127
+ - Which services call authentication functions
128
+ - What patterns exist in related code
129
+ - How your project handles similar flows
130
+
131
+ This is **Graph RAG** (Retrieval-Augmented Generation), not just vector search.
132
+
133
+ ## Advanced Installation Options
134
+
135
+ <details>
136
+ <summary><b>📋 Manual MCP Configuration</b> (if auto-install doesn't work)</summary>
137
+
138
+ ### VS Code (Claude Code & GitHub Copilot)
139
+
140
+ Add to `.vscode/mcp.json` in your project:
141
+
142
+ ```json
143
+ {
144
+ "mcpServers": {
145
+ "codeseeker": {
146
+ "command": "npx",
147
+ "args": ["-y", "codeseeker", "serve", "--mcp"],
148
+ "env": {
149
+ "CODESEEKER_STORAGE_MODE": "embedded"
150
+ }
151
+ }
152
+ }
153
+ }
154
+ ```
155
+
156
+ ### Cursor
157
+
158
+ Add to `.cursor/mcp.json` in your project:
159
+
160
+ ```json
161
+ {
162
+ "mcpServers": {
163
+ "codeseeker": {
164
+ "command": "npx",
165
+ "args": ["-y", "codeseeker", "serve", "--mcp"],
166
+ "env": {
167
+ "CODESEEKER_STORAGE_MODE": "embedded"
168
+ }
169
+ }
170
+ }
171
+ }
172
+ ```
173
+
174
+ ### Claude Desktop
175
+
176
+ Add to your `claude_desktop_config.json`:
177
+
178
+ **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
179
+ **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
180
+
181
+ ```json
182
+ {
183
+ "mcpServers": {
184
+ "codeseeker": {
185
+ "command": "npx",
186
+ "args": ["-y", "codeseeker", "serve", "--mcp"],
187
+ "env": {
188
+ "CODESEEKER_STORAGE_MODE": "embedded"
189
+ }
190
+ }
191
+ }
192
+ }
193
+ ```
194
+
195
+ ### Global vs Project-Level Configuration
196
+
197
+ ```bash
198
+ # Apply to all projects (user-level)
199
+ codeseeker install --vscode --global
200
+
201
+ # Apply to current project only
202
+ codeseeker install --vscode
203
+ ```
204
+
205
+ </details>
206
+
207
+ <details>
208
+ <summary><b>🖥️ CLI Standalone Usage</b> (without AI assistant)</summary>
209
+
210
+ ```bash
211
+ npm install -g codeseeker
212
+ cd your-project
213
+ codeseeker init
214
+ codeseeker -c "how does authentication work in this project?"
215
+ ```
216
+
217
+ </details>
218
+
219
+ ## What You Get
220
+
221
+ Once configured, Claude has access to these MCP tools (used automatically):
222
+
223
+ | Tool | What It Does |
224
+ |------|--------------|
225
+ | `search_code` | Hybrid search: vector + text + path with RRF fusion |
226
+ | `find_and_read` | Search + Read in one step - returns file content directly |
227
+ | `get_code_relationships` | Traverse the knowledge graph (imports, calls, extends) |
228
+ | `get_file_context` | Read a file with its related code automatically included |
229
+ | `get_coding_standards` | Your project's detected patterns (validation, error handling) |
230
+ | `find_duplicates` | Find duplicate/similar code blocks across your codebase |
231
+ | `find_dead_code` | Detect unused exports, functions, and classes |
232
+ | `index_project` | Manually trigger indexing (rarely needed) |
233
+ | `notify_file_changes` | Update index for specific files |
234
+ | `manage_index` | Dynamically exclude/include files from the index |
235
+
236
+ **You don't invoke these manually**—Claude uses them automatically when searching code or analyzing relationships.
237
+
238
+ ## How Indexing Works
239
+
240
+ **You don't need to manually index.** When Claude uses any CodeSeeker tool, the tool automatically checks if the project is indexed. If not, it indexes on first use.
241
+
242
+ ```
243
+ User: "Find the authentication logic"
244
+
245
+
246
+ ┌─────────────────────────────────────┐
247
+ Claude calls search_code()
248
+
249
+
250
+ Project indexed? ──No──► Index now
251
+ │ │ (auto) │
252
+ Yes
253
+ │◀───────────────────┘
254
+ │ ▼ │
255
+ │ Return search results │
256
+ └─────────────────────────────────────┘
257
+ ```
258
+
259
+ First search on a new project takes 30 seconds to several minutes (depending on size). Subsequent searches are instant.
260
+
261
+ ## What Makes It Different
262
+
263
+ | Approach | How It Works | Strengths | Limitations |
264
+ |----------|--------------|-----------|-------------|
265
+ | **Grep/ripgrep** | Text pattern matching | Fast, universal | No semantic understanding |
266
+ | **Vector search only** | Embedding similarity | Finds similar code | Misses structural relationships |
267
+ | **LSP-based tools** | Language server protocol | Precise symbol definitions | No semantic search, no cross-file reasoning |
268
+ | **CodeSeeker** | Knowledge graph + hybrid search | Semantic + structure + patterns | Requires initial indexing (30s-5min) |
269
+
270
+ ### CodeSeeker's Unique Capabilities
271
+
272
+ **What LSP tools can't do:**
273
+ - *"Find code that handles errors like this"* → Semantic search finds similar patterns
274
+ - *"What validation approach does this project use?"* → Auto-detected coding standards
275
+ - *"Show me everything related to authentication"* → Graph traversal across indirect dependencies
276
+
277
+ **What vector-only search misses:**
278
+ - Direct import/export relationships
279
+ - Class inheritance chains
280
+ - Function call graphs
281
+ - Which files actually depend on which
282
+
283
+ CodeSeeker combines all three: **graph traversal** for structure, **vector search** for meaning, **text search** for precision—fused with Reciprocal Rank Fusion (RRF) for optimal results.
284
+
285
+ ## Auto-Detected Coding Standards
286
+
287
+ CodeSeeker analyzes your codebase and extracts patterns:
288
+
289
+ ```json
290
+ {
291
+ "validation": {
292
+ "email": {
293
+ "preferred": "z.string().email()",
294
+ "usage_count": 12,
295
+ "files": ["src/auth.ts", "src/user.ts"]
296
+ }
297
+ },
298
+ "react-patterns": {
299
+ "state": {
300
+ "preferred": "useState<T>()",
301
+ "usage_count": 45
302
+ }
303
+ }
304
+ }
305
+ ```
306
+
307
+ Detected pattern categories:
308
+ - **validation**: Zod, Yup, Joi, validator.js, custom regex
309
+ - **error-handling**: API error responses, try-catch patterns, custom Error classes
310
+ - **logging**: Console, Winston, Bunyan, structured logging
311
+ - **testing**: Jest/Vitest setup, assertion patterns
312
+ - **react-patterns**: Hooks (useState, useEffect, useMemo, useCallback, useRef)
313
+ - **state-management**: Redux Toolkit, Zustand, React Context, TanStack Query
314
+ - **api-patterns**: Fetch, Axios, Express routes, Next.js API routes
315
+
316
+ When Claude writes new code, it follows your existing conventions instead of inventing new ones.
317
+
318
+ ## Managing Index Exclusions
319
+
320
+ If Claude notices files that shouldn't be indexed (like Unity's Library folder, build outputs, or generated files), it can dynamically exclude them:
321
+
322
+ ```typescript
323
+ // Exclude Unity Library folder and generated files
324
+ manage_index({
325
+ action: "exclude",
326
+ project: "my-unity-game",
327
+ paths: ["Library/**", "Temp/**", "*.generated.cs"],
328
+ reason: "Unity build artifacts"
329
+ })
330
+ ```
331
+
332
+ Exclusions are persisted in `.codeseeker/exclusions.json` and automatically respected during reindexing.
333
+
334
+ ## Code Cleanup Tools
335
+
336
+ CodeSeeker helps you maintain a clean codebase by finding duplicate code and detecting dead code.
337
+
338
+ ### Finding Duplicate Code
339
+
340
+ Ask Claude to find similar code blocks that could be consolidated:
341
+
342
+ ```
343
+ "Find duplicate code in my project"
344
+ "Are there any similar functions that could be merged?"
345
+ "Show me copy-pasted code that should be refactored"
346
+ ```
347
+
348
+ CodeSeeker uses vector similarity to find semantically similar code—not just exact matches. It detects:
349
+ - Copy-pasted functions with minor variations
350
+ - Similar validation logic across files
351
+ - Repeated patterns that could be extracted into utilities
352
+
353
+ ### Finding Dead Code
354
+
355
+ Ask Claude to identify unused code that can be safely removed:
356
+
357
+ ```
358
+ "Find dead code in this project"
359
+ "What functions are never called?"
360
+ "Show me unused exports"
361
+ ```
362
+
363
+ CodeSeeker analyzes the knowledge graph to find:
364
+ - Exported functions/classes that are never imported
365
+ - Internal functions with no callers
366
+ - Orphaned files with no incoming dependencies
367
+
368
+ **Example workflow:**
369
+ ```
370
+ User: "Use CodeSeeker to clean up this project"
371
+
372
+ Claude: I'll analyze your codebase for cleanup opportunities.
373
+
374
+ Found 3 duplicate code blocks:
375
+ - validateEmail() in auth.ts and user.ts (92% similar)
376
+ - formatDate() appears in 4 files with minor variations
377
+ - Error handling pattern repeated in api/*.ts
378
+
379
+ Found 2 dead code files:
380
+ - src/utils/legacy-helper.ts (0 imports)
381
+ - src/services/unused-service.ts (exported but never imported)
382
+
383
+ Would you like me to:
384
+ 1. Consolidate the duplicate validators into a shared utility?
385
+ 2. Remove the dead code files?
386
+ ```
387
+
388
+ ## Language Support
389
+
390
+ | Language | Parser | Relationship Extraction |
391
+ |----------|--------|------------------------|
392
+ | TypeScript/JavaScript | Babel AST | Excellent |
393
+ | Python | Tree-sitter | Excellent |
394
+ | Java | Tree-sitter | Excellent |
395
+ | C# | Regex | Good |
396
+ | Go | Regex | Good |
397
+ | Rust, C/C++, Ruby, PHP | Regex | Basic |
398
+
399
+ Tree-sitter parsers install automatically when needed.
400
+
401
+ ## Keeping the Index in Sync
402
+
403
+ ### With Claude Code Plugin
404
+
405
+ The plugin installs **hooks** that automatically update the index:
406
+
407
+ | Event | What Happens |
408
+ |-------|--------------|
409
+ | Claude edits a file | Index updated automatically |
410
+ | Claude runs `git pull/checkout/merge` | Full reindex triggered |
411
+ | You run `/codeseeker:reindex` | Manual full reindex |
412
+
413
+ **You don't need to do anything**—the plugin handles sync automatically.
414
+
415
+ ### With MCP Server Only (Cursor, Claude Desktop)
416
+
417
+ - **Claude-initiated changes**: Claude can call `notify_file_changes` tool
418
+ - **Manual changes**: Not automatically detected—ask Claude to reindex periodically
419
+
420
+ ### Sync Summary
421
+
422
+ | Setup | Claude Edits | Git Operations | Manual Edits |
423
+ |-------|--------------|----------------|--------------|
424
+ | **Plugin** (Claude Code) | Auto | Auto | Manual |
425
+ | **MCP** (Cursor, Desktop) | Ask Claude | Ask Claude | Ask Claude |
426
+ | **CLI** | Auto | Auto | Manual |
427
+
428
+ ## When CodeSeeker Helps Most
429
+
430
+ **Good fit:**
431
+ - Large codebases (10K+ files) where Claude struggles to find relevant code
432
+ - Projects with established patterns you want Claude to follow
433
+ - Complex dependency chains across multiple files
434
+ - Teams wanting consistent AI-generated code
435
+
436
+ **Less useful:**
437
+ - Greenfield projects with little existing code
438
+ - Single-file scripts
439
+ - Projects where you're actively changing architecture
440
+
441
+ ## Architecture
442
+
443
+ ```
444
+ ┌──────────────────────────────────────────────────────────┐
445
+ │ Claude Code │
446
+ │ │ │
447
+ MCP Protocol │
448
+ │ │ │
449
+ │ ┌──────────────────────▼──────────────────────────┐ │
450
+ │ │ CodeSeeker MCP Server │ │
451
+ │ │ ┌─────────────┬─────────────┬────────────────┐ │ │
452
+ │ │ │ Vector │ Knowledge │ Coding │ │ │
453
+ │ │ │ Search │ Graph │ Standards │ │ │
454
+ │ │ │ (SQLite) │ (SQLite) │ (JSON) │ │ │
455
+ │ │ └─────────────┴─────────────┴────────────────┘ │ │
456
+ │ └─────────────────────────────────────────────────┘ │
457
+ └──────────────────────────────────────────────────────────┘
458
+ ```
459
+
460
+ All data stored locally in `.codeseeker/`. No external services required.
461
+
462
+ For large teams (100K+ files, shared indexes), server mode supports PostgreSQL + Neo4j. See [Storage Documentation](docs/technical/storage.md).
463
+
464
+ ## Troubleshooting
465
+
466
+ ### "I can't find CodeSeeker in the VS Code marketplace"
467
+
468
+ **CodeSeeker is NOT a VS Code extension.** It's an MCP server that works WITH AI assistants.
469
+
470
+ ✅ **Correct:** Install via npm: `npm install -g codeseeker`
471
+ ❌ **Wrong:** Looking for it in VS Code Extensions marketplace
472
+
473
+ ### MCP server not connecting
474
+
475
+ 1. Verify npm and npx work: `npx -y codeseeker --version`
476
+ 2. Check MCP config file syntax (valid JSON, no trailing commas)
477
+ 3. Restart your editor/Claude application completely
478
+ 4. Check that Node.js is installed: `node --version` (need v18+)
479
+
480
+ ### Indexing seems slow
481
+
482
+ First-time indexing of large projects (50K+ files) can take 5+ minutes. Subsequent uses are instant.
483
+
484
+ ### Tools not appearing in Claude
485
+
486
+ 1. Ask Claude: *"What CodeSeeker tools do you have?"*
487
+ 2. If no tools appear, check MCP config file exists and has correct syntax
488
+ 3. Restart your IDE completely (not just reload window)
489
+ 4. Check Claude/Copilot MCP connection status in IDE
490
+
491
+ ### Still stuck?
492
+
493
+ Open an issue: [GitHub Issues](https://github.com/jghiringhelli/codeseeker/issues)
494
+
495
+ ## Documentation
496
+
497
+ - [Integration Guide](docs/INTEGRATION.md) - How all components connect
498
+ - [Architecture](docs/technical/architecture.md) - Technical deep dive
499
+ - [CLI Commands](docs/install/cli_commands_manual.md) - Full command reference
500
+
501
+ ## Supported Platforms
502
+
503
+ | Platform | MCP Support | Install Command |
504
+ |----------|-------------|-----------------|
505
+ | **Claude Code** (VS Code) | Yes | `codeseeker install --vscode` or plugin |
506
+ | **GitHub Copilot** (VS Code) | Yes (VS Code 1.99+) | `codeseeker install --vscode` |
507
+ | **Cursor** | Yes | `codeseeker install --cursor` |
508
+ | **Claude Desktop** | Yes | Manual config |
509
+ | **Windsurf** | Yes | `codeseeker install --windsurf` |
510
+ | **Visual Studio** | Yes | `codeseeker install --vs` |
511
+
512
+ > **Note:** Claude Code and GitHub Copilot both run in VS Code and share the same MCP configuration (`.vscode/mcp.json`). The flags `--vscode`, `--claude-code`, and `--copilot` are interchangeable.
513
+
514
+ ## Support
515
+
516
+ If CodeSeeker is useful to you, consider [sponsoring the project](https://github.com/sponsors/jghiringhelli).
517
+
518
+ ## License
519
+
520
+ MIT License. See [LICENSE](LICENSE).
521
+
522
+ ---
523
+
524
+ *CodeSeeker gives Claude the code understanding that grep and embeddings alone can't provide.*