codeseeker 1.8.1 → 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 +469 -98
- package/dist/mcp/mcp-server.d.ts +5 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -1
- package/dist/mcp/mcp-server.js +249 -73
- package/dist/mcp/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,153 +1,524 @@
|
|
|
1
|
-
#
|
|
1
|
+
# CodeSeeker
|
|
2
2
|
|
|
3
|
-
|
|
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
4
|
|
|
5
|
-
[
|
|
5
|
+
[](https://www.npmjs.com/package/codeseeker)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://www.typescriptlang.org/)
|
|
6
8
|
|
|
7
|
-
|
|
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**.
|
|
8
10
|
|
|
9
|
-
|
|
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.
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
## Installation
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
- **Adam Jones** (Anthropic) [@domdomegg](https://github.com/domdomegg)
|
|
15
|
-
- **Tadas Antanavicius** (PulseMCP) [@tadasant](https://github.com/tadasant)
|
|
16
|
-
- **Toby Padilla** (GitHub) [@toby](https://github.com/toby)
|
|
17
|
-
- **Radoslav (Rado) Dimitrov** (Stacklok) [@rdimitrov](https://github.com/rdimitrov)
|
|
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.
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
### ⚡ One-Line Install (Easiest)
|
|
20
18
|
|
|
21
|
-
|
|
19
|
+
Copy/paste ONE command - auto-detects your system and configures everything:
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
- **[Issues](https://github.com/modelcontextprotocol/registry/issues)** - Track well-scoped technical work
|
|
28
|
-
- **[Pull Requests](https://github.com/modelcontextprotocol/registry/pulls)** - Contribute work towards issues
|
|
21
|
+
**macOS/Linux:**
|
|
22
|
+
```bash
|
|
23
|
+
curl -fsSL https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.sh | sh
|
|
24
|
+
```
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
**Windows (PowerShell):**
|
|
27
|
+
```powershell
|
|
28
|
+
irm https://raw.githubusercontent.com/jghiringhelli/codeseeker/master/scripts/install.ps1 | iex
|
|
29
|
+
```
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
Restart your IDE and you're done!
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
- **Go 1.24.x**
|
|
36
|
-
- **ko** - Container image builder for Go ([installation instructions](https://ko.build/install/))
|
|
37
|
-
- **golangci-lint v2.4.0**
|
|
33
|
+
### 📦 Package Managers (Advanced)
|
|
38
34
|
|
|
39
|
-
|
|
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.
|
|
40
41
|
|
|
42
|
+
**macOS/Linux (Homebrew):**
|
|
41
43
|
```bash
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
brew install jghiringhelli/codeseeker/codeseeker
|
|
45
|
+
codeseeker install --vscode # or --cursor, --windsurf
|
|
44
46
|
```
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
**Windows (Chocolatey):**
|
|
49
|
+
```powershell
|
|
50
|
+
choco install codeseeker
|
|
51
|
+
codeseeker install --vscode # or --cursor, --windsurf
|
|
52
|
+
```
|
|
47
53
|
|
|
48
|
-
**
|
|
54
|
+
**Cross-platform (npm):**
|
|
55
|
+
```bash
|
|
56
|
+
npm install -g codeseeker
|
|
57
|
+
codeseeker install --vscode # or --cursor, --windsurf
|
|
58
|
+
```
|
|
49
59
|
|
|
50
|
-
|
|
60
|
+
### 🚀 No Install Required (npx)
|
|
51
61
|
|
|
52
|
-
|
|
62
|
+
Run without installing:
|
|
63
|
+
```bash
|
|
64
|
+
npx codeseeker init
|
|
65
|
+
npx codeseeker -c "how does authentication work?"
|
|
66
|
+
```
|
|
53
67
|
|
|
54
|
-
|
|
55
|
-
<summary>Alternative: Running a pre-built Docker image</summary>
|
|
68
|
+
### 🔌 Claude Code Plugin
|
|
56
69
|
|
|
57
|
-
|
|
70
|
+
If you use Claude Code CLI, you can install as a plugin:
|
|
58
71
|
|
|
59
72
|
```bash
|
|
60
|
-
|
|
61
|
-
|
|
73
|
+
/plugin install codeseeker@github:jghiringhelli/codeseeker#plugin
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This gives you auto-sync hooks and slash commands (`/codeseeker:init`, `/codeseeker:reindex`).
|
|
62
77
|
|
|
63
|
-
|
|
64
|
-
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main
|
|
78
|
+
### ☁️ Devcontainer / GitHub Codespaces
|
|
65
79
|
|
|
66
|
-
|
|
67
|
-
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0
|
|
80
|
+
CodeSeeker auto-installs in devcontainers! Just add `.devcontainer/devcontainer.json`:
|
|
68
81
|
|
|
69
|
-
|
|
70
|
-
|
|
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
|
+
}
|
|
71
88
|
```
|
|
72
89
|
|
|
73
|
-
|
|
74
|
-
- **Releases**: `latest`, `v1.0.0`, `v1.1.0`, etc.
|
|
75
|
-
- **Continuous**: `main` (latest main branch build)
|
|
76
|
-
- **Development**: `main-<date>-<sha>` (specific commit builds)
|
|
90
|
+
Or use our pre-configured devcontainer (already included in this repo).
|
|
77
91
|
|
|
78
|
-
|
|
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
|
|
79
130
|
|
|
80
|
-
|
|
131
|
+
This is **Graph RAG** (Retrieval-Augmented Generation), not just vector search.
|
|
81
132
|
|
|
82
|
-
|
|
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
|
|
83
196
|
|
|
84
197
|
```bash
|
|
85
|
-
#
|
|
86
|
-
|
|
198
|
+
# Apply to all projects (user-level)
|
|
199
|
+
codeseeker install --vscode --global
|
|
87
200
|
|
|
88
|
-
#
|
|
89
|
-
|
|
201
|
+
# Apply to current project only
|
|
202
|
+
codeseeker install --vscode
|
|
90
203
|
```
|
|
91
204
|
|
|
92
|
-
|
|
205
|
+
</details>
|
|
93
206
|
|
|
94
|
-
|
|
207
|
+
<details>
|
|
208
|
+
<summary><b>🖥️ CLI Standalone Usage</b> (without AI assistant)</summary>
|
|
95
209
|
|
|
96
210
|
```bash
|
|
97
|
-
|
|
98
|
-
|
|
211
|
+
npm install -g codeseeker
|
|
212
|
+
cd your-project
|
|
213
|
+
codeseeker init
|
|
214
|
+
codeseeker -c "how does authentication work in this project?"
|
|
99
215
|
```
|
|
100
216
|
|
|
101
|
-
|
|
217
|
+
</details>
|
|
102
218
|
|
|
103
|
-
|
|
104
|
-
For Claude and other AI tools: Always prefer make targets over custom commands where possible.
|
|
105
|
-
-->
|
|
219
|
+
## What You Get
|
|
106
220
|
|
|
107
|
-
|
|
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.
|
|
108
337
|
|
|
109
|
-
###
|
|
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:
|
|
110
356
|
|
|
111
357
|
```
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
├── deploy/ # Deployment configuration (Pulumi)
|
|
116
|
-
├── docs/ # Documentation
|
|
117
|
-
├── internal/ # Private application code
|
|
118
|
-
│ ├── api/ # HTTP handlers and routing
|
|
119
|
-
│ ├── auth/ # Authentication (GitHub OAuth, JWT, namespace blocking)
|
|
120
|
-
│ ├── config/ # Configuration management
|
|
121
|
-
│ ├── database/ # Data persistence (PostgreSQL)
|
|
122
|
-
│ ├── service/ # Business logic
|
|
123
|
-
│ ├── telemetry/ # Metrics and monitoring
|
|
124
|
-
│ └── validators/ # Input validation
|
|
125
|
-
├── pkg/ # Public packages
|
|
126
|
-
│ ├── api/ # API types and structures
|
|
127
|
-
│ │ └── v0/ # Version 0 API types
|
|
128
|
-
│ └── model/ # Data models for server.json
|
|
129
|
-
├── scripts/ # Development and testing scripts
|
|
130
|
-
├── tests/ # Integration tests
|
|
131
|
-
└── tools/ # CLI tools and utilities
|
|
132
|
-
└── validate-*.sh # Schema validation tools
|
|
358
|
+
"Find dead code in this project"
|
|
359
|
+
"What functions are never called?"
|
|
360
|
+
"Show me unused exports"
|
|
133
361
|
```
|
|
134
362
|
|
|
135
|
-
|
|
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.
|
|
136
513
|
|
|
137
|
-
|
|
138
|
-
- **GitHub OAuth** - For publishing by logging into GitHub
|
|
139
|
-
- **GitHub OIDC** - For publishing from GitHub Actions
|
|
140
|
-
- **DNS verification** - For proving ownership of a domain and its subdomains
|
|
141
|
-
- **HTTP verification** - For proving ownership of a domain
|
|
514
|
+
## Support
|
|
142
515
|
|
|
143
|
-
|
|
144
|
-
- `io.github.domdomegg/my-cool-mcp` you must login to GitHub as `domdomegg`, or be in a GitHub Action on domdomegg's repos
|
|
145
|
-
- `me.adamjones/my-cool-mcp` you must prove ownership of `adamjones.me` via DNS or HTTP challenge
|
|
516
|
+
If CodeSeeker is useful to you, consider [sponsoring the project](https://github.com/sponsors/jghiringhelli).
|
|
146
517
|
|
|
147
|
-
##
|
|
518
|
+
## License
|
|
148
519
|
|
|
149
|
-
|
|
520
|
+
MIT License. See [LICENSE](LICENSE).
|
|
150
521
|
|
|
151
|
-
|
|
522
|
+
---
|
|
152
523
|
|
|
153
|
-
|
|
524
|
+
*CodeSeeker gives Claude the code understanding that grep and embeddings alone can't provide.*
|
package/dist/mcp/mcp-server.d.ts
CHANGED
|
@@ -127,6 +127,11 @@ export declare class CodeSeekerMcpServer {
|
|
|
127
127
|
* Generate a deterministic project ID from path
|
|
128
128
|
*/
|
|
129
129
|
private generateProjectId;
|
|
130
|
+
/**
|
|
131
|
+
* Get all documents for a project from vector store
|
|
132
|
+
* Used by find_duplicates to analyze indexed embeddings
|
|
133
|
+
*/
|
|
134
|
+
private getAllProjectDocuments;
|
|
130
135
|
/**
|
|
131
136
|
* Generate actionable error message based on error type
|
|
132
137
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAgDH;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,UAAU,CAAoB;IAGtC,OAAO,CAAC,YAAY,CAAuC;IAG3D,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,kBAAkB,CAAkD;IAG5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,YAAY,CAA+B;IAGnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAO9B;;IAkBF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAS1C;;OAEG;YACW,qBAAqB;IAiFnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;YACW,eAAe;IAgB7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyP1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAoOjC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA2HnC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA2RpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4E5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiJzB,OAAO,CAAC,0BAA0B;IAKlC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAcpC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiTxB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA+IlC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA6O3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;YACW,sBAAsB;IAUpC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8D1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiNlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsNhC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAchC;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAqEpD"}
|