codebaxing 0.2.7 → 0.2.8
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 +126 -176
- package/README.vi.md +128 -178
- package/dist/cli/installer.js +25 -0
- package/dist/cli/installer.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,13 +11,10 @@ MCP server for **semantic code search**. Index your codebase and search using na
|
|
|
11
11
|
|
|
12
12
|
- [The Idea](#the-idea)
|
|
13
13
|
- [Quick Start](#quick-start)
|
|
14
|
-
- [Usage](#usage)
|
|
15
|
-
- [Via AI Agents (MCP)](#via-ai-agents-mcp)
|
|
16
|
-
- [Via CLI (Terminal)](#via-cli-terminal)
|
|
17
14
|
- [Installation](#installation)
|
|
18
|
-
- [
|
|
15
|
+
- [Usage](#usage)
|
|
19
16
|
- [Configuration](#configuration)
|
|
20
|
-
- [
|
|
17
|
+
- [How It Works](#how-it-works)
|
|
21
18
|
|
|
22
19
|
## The Idea
|
|
23
20
|
|
|
@@ -37,46 +34,103 @@ Finds: login(), validateCredentials(), checkPassword(), authMiddleware()
|
|
|
37
34
|
|
|
38
35
|
## Quick Start
|
|
39
36
|
|
|
40
|
-
###
|
|
37
|
+
### For AI Editors (Claude Desktop, Cursor, Windsurf)
|
|
41
38
|
|
|
42
39
|
```bash
|
|
40
|
+
# One command install
|
|
43
41
|
npx codebaxing install # Claude Desktop
|
|
44
42
|
npx codebaxing install --cursor # Cursor
|
|
45
43
|
npx codebaxing install --windsurf # Windsurf
|
|
46
44
|
npx codebaxing install --all # All editors
|
|
47
45
|
```
|
|
48
46
|
|
|
49
|
-
|
|
47
|
+
Restart your editor, then ask: *"Index my project at /path/to/myproject"*
|
|
48
|
+
|
|
49
|
+
### For CLI Usage
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. Start ChromaDB (required for CLI)
|
|
53
|
+
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
|
|
54
|
+
|
|
55
|
+
# 2. Set environment variable
|
|
56
|
+
export CHROMADB_URL=http://localhost:8000
|
|
57
|
+
|
|
58
|
+
# 3. Index and search
|
|
59
|
+
npx codebaxing index /path/to/project
|
|
60
|
+
npx codebaxing search "authentication logic"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Installation
|
|
64
|
+
|
|
65
|
+
### Step 1: Install to AI Editor
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx codebaxing install # Claude Desktop (default)
|
|
69
|
+
npx codebaxing install --cursor # Cursor
|
|
70
|
+
npx codebaxing install --windsurf # Windsurf (Codeium)
|
|
71
|
+
npx codebaxing install --zed # Zed
|
|
72
|
+
npx codebaxing install --all # All supported editors
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Step 2: (Optional) Setup ChromaDB for Persistent Storage
|
|
76
|
+
|
|
77
|
+
By default, the index is stored in memory and lost when the editor restarts.
|
|
78
|
+
|
|
79
|
+
For persistent storage, run ChromaDB:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Start ChromaDB with Docker
|
|
83
|
+
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
|
|
84
|
+
|
|
85
|
+
# Verify it's running
|
|
86
|
+
curl http://localhost:8000/api/v1/heartbeat
|
|
87
|
+
# Should return: {"nanosecond heartbeat":...}
|
|
88
|
+
```
|
|
50
89
|
|
|
51
|
-
|
|
90
|
+
Then update your editor config to include the environment variable:
|
|
52
91
|
|
|
53
|
-
|
|
92
|
+
**Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json`):
|
|
54
93
|
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"mcpServers": {
|
|
97
|
+
"codebaxing": {
|
|
98
|
+
"command": "npx",
|
|
99
|
+
"args": ["-y", "codebaxing"],
|
|
100
|
+
"env": {
|
|
101
|
+
"CHROMADB_URL": "http://localhost:8000"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
55
106
|
```
|
|
56
|
-
You: Index my project at /path/to/myproject
|
|
57
|
-
Claude: [calls index tool]
|
|
58
107
|
|
|
59
|
-
|
|
60
|
-
|
|
108
|
+
### Step 3: Restart Your Editor
|
|
109
|
+
|
|
110
|
+
The Codebaxing tools are now available!
|
|
111
|
+
|
|
112
|
+
### Uninstall
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npx codebaxing uninstall # Claude Desktop
|
|
116
|
+
npx codebaxing uninstall --all # All editors
|
|
61
117
|
```
|
|
62
118
|
|
|
63
119
|
## Usage
|
|
64
120
|
|
|
65
|
-
### Via AI Agents (
|
|
121
|
+
### Via AI Agents (Claude Desktop, Cursor, etc.)
|
|
66
122
|
|
|
67
|
-
After installing
|
|
123
|
+
After installing, interact through natural conversation:
|
|
68
124
|
|
|
69
|
-
####
|
|
125
|
+
#### 1. Index your codebase (Required first)
|
|
70
126
|
|
|
71
127
|
```
|
|
72
128
|
You: Index the codebase at /Users/me/projects/myapp
|
|
73
129
|
```
|
|
74
130
|
|
|
75
|
-
Claude will call `index(path="/Users/me/projects/myapp")` and show progress.
|
|
76
|
-
|
|
77
131
|
> **Note:** First run downloads the embedding model (~90MB), takes 1-2 minutes.
|
|
78
132
|
|
|
79
|
-
####
|
|
133
|
+
#### 2. Search for code
|
|
80
134
|
|
|
81
135
|
```
|
|
82
136
|
You: Find code that handles user authentication
|
|
@@ -84,7 +138,7 @@ You: Where is the database connection logic?
|
|
|
84
138
|
You: Show me error handling patterns
|
|
85
139
|
```
|
|
86
140
|
|
|
87
|
-
####
|
|
141
|
+
#### 3. Use memory (optional)
|
|
88
142
|
|
|
89
143
|
```
|
|
90
144
|
You: Remember that we're using PostgreSQL with Prisma ORM
|
|
@@ -106,84 +160,36 @@ You: What decisions have we made about the database?
|
|
|
106
160
|
|
|
107
161
|
### Via CLI (Terminal)
|
|
108
162
|
|
|
109
|
-
|
|
163
|
+
CLI commands **require ChromaDB** running. See [Setup ChromaDB](#step-2-optional-setup-chromadb-for-persistent-storage).
|
|
110
164
|
|
|
111
|
-
#### Prerequisites
|
|
112
|
-
|
|
113
|
-
CLI commands require ChromaDB server running:
|
|
165
|
+
#### Prerequisites
|
|
114
166
|
|
|
115
167
|
```bash
|
|
116
|
-
# Start ChromaDB
|
|
117
|
-
docker run -d -p 8000:8000 chromadb/chroma
|
|
168
|
+
# Start ChromaDB
|
|
169
|
+
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
|
|
118
170
|
|
|
119
|
-
# Set environment variable
|
|
171
|
+
# Set environment variable (add to your ~/.bashrc or ~/.zshrc)
|
|
120
172
|
export CHROMADB_URL=http://localhost:8000
|
|
121
173
|
```
|
|
122
174
|
|
|
123
|
-
####
|
|
175
|
+
#### Commands
|
|
124
176
|
|
|
125
177
|
```bash
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
# Or if you exported CHROMADB_URL:
|
|
178
|
+
# Index a codebase
|
|
129
179
|
npx codebaxing index /path/to/project
|
|
130
|
-
```
|
|
131
180
|
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
🔧 Codebaxing - Index Codebase
|
|
135
|
-
|
|
136
|
-
📁 Path: /path/to/project
|
|
137
|
-
|
|
138
|
-
================================================================================
|
|
139
|
-
INDEXING CODEBASE
|
|
140
|
-
================================================================================
|
|
141
|
-
Found 47 files
|
|
142
|
-
Parsed 645 symbols from 47 files
|
|
143
|
-
Generating embeddings for 645 chunks...
|
|
144
|
-
Model loaded: Xenova/all-MiniLM-L6-v2 (384 dims, CPU)
|
|
145
|
-
|
|
146
|
-
================================================================================
|
|
147
|
-
INDEXING COMPLETE
|
|
148
|
-
================================================================================
|
|
149
|
-
Files parsed: 47
|
|
150
|
-
Symbols extracted: 645
|
|
151
|
-
Chunks created: 645
|
|
152
|
-
Time elapsed: 21.9s
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
#### Step 2: Search for code
|
|
156
|
-
|
|
157
|
-
```bash
|
|
181
|
+
# Search for code
|
|
158
182
|
npx codebaxing search "authentication middleware"
|
|
159
183
|
npx codebaxing search "database connection" --path ./src --limit 10
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Output:
|
|
163
|
-
```
|
|
164
|
-
🔧 Codebaxing - Search
|
|
165
|
-
|
|
166
|
-
📁 Path: /path/to/project
|
|
167
|
-
🔍 Query: "authentication middleware"
|
|
168
|
-
📊 Limit: 5
|
|
169
184
|
|
|
170
|
-
|
|
171
|
-
Results:
|
|
172
|
-
|
|
173
|
-
1. src/middleware/auth.ts:15 - authMiddleware()
|
|
174
|
-
2. src/services/auth.ts:42 - validateToken()
|
|
175
|
-
3. src/routes/login.ts:8 - loginHandler()
|
|
176
|
-
|
|
177
|
-
────────────────────────────────────────────────────────────
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
#### Step 3: Check statistics
|
|
181
|
-
|
|
182
|
-
```bash
|
|
185
|
+
# Show index statistics
|
|
183
186
|
npx codebaxing stats /path/to/project
|
|
187
|
+
|
|
188
|
+
# Show help
|
|
189
|
+
npx codebaxing --help
|
|
184
190
|
```
|
|
185
191
|
|
|
186
|
-
#### CLI
|
|
192
|
+
#### CLI Reference
|
|
187
193
|
|
|
188
194
|
| Command | Description |
|
|
189
195
|
|---------|-------------|
|
|
@@ -192,31 +198,40 @@ npx codebaxing stats /path/to/project
|
|
|
192
198
|
| `npx codebaxing index <path>` | Index a codebase |
|
|
193
199
|
| `npx codebaxing search <query> [options]` | Search indexed codebase |
|
|
194
200
|
| `npx codebaxing stats [path]` | Show index statistics |
|
|
195
|
-
| `npx codebaxing --help` | Show help |
|
|
196
201
|
|
|
197
202
|
**Search options:**
|
|
198
203
|
- `--path, -p <path>` - Codebase path (default: current directory)
|
|
199
204
|
- `--limit, -n <number>` - Number of results (default: 5)
|
|
200
205
|
|
|
201
|
-
##
|
|
206
|
+
## Configuration
|
|
202
207
|
|
|
203
|
-
###
|
|
208
|
+
### Environment Variables
|
|
209
|
+
|
|
210
|
+
| Variable | Description | Default |
|
|
211
|
+
|----------|-------------|---------|
|
|
212
|
+
| `CHROMADB_URL` | ChromaDB server URL | (in-memory) |
|
|
213
|
+
| `CODEBAXING_DEVICE` | Compute device: `cpu`, `webgpu`, `cuda`, `auto` | `cpu` |
|
|
214
|
+
| `CODEBAXING_MAX_FILE_SIZE` | Max file size to index (MB) | `1` |
|
|
215
|
+
|
|
216
|
+
### GPU Acceleration
|
|
204
217
|
|
|
205
218
|
```bash
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
npx codebaxing install --zed # Zed
|
|
210
|
-
npx codebaxing install --all # All supported editors
|
|
219
|
+
export CODEBAXING_DEVICE=webgpu # macOS (Metal)
|
|
220
|
+
export CODEBAXING_DEVICE=cuda # Linux/Windows (NVIDIA)
|
|
221
|
+
export CODEBAXING_DEVICE=auto # Auto-detect
|
|
211
222
|
```
|
|
212
223
|
|
|
213
|
-
|
|
224
|
+
**Note:** macOS does not support CUDA. Use `webgpu` for GPU acceleration on Mac.
|
|
225
|
+
|
|
226
|
+
### Manual Editor Configuration
|
|
214
227
|
|
|
215
|
-
|
|
228
|
+
If you prefer to configure manually instead of using `npx codebaxing install`:
|
|
216
229
|
|
|
217
|
-
|
|
230
|
+
<details>
|
|
231
|
+
<summary>Claude Desktop</summary>
|
|
218
232
|
|
|
219
|
-
|
|
233
|
+
`~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
234
|
+
`%APPDATA%\Claude\claude_desktop_config.json` (Windows)
|
|
220
235
|
|
|
221
236
|
```json
|
|
222
237
|
{
|
|
@@ -228,10 +243,12 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
|
228
243
|
}
|
|
229
244
|
}
|
|
230
245
|
```
|
|
246
|
+
</details>
|
|
231
247
|
|
|
232
|
-
|
|
248
|
+
<details>
|
|
249
|
+
<summary>Cursor</summary>
|
|
233
250
|
|
|
234
|
-
|
|
251
|
+
`~/.cursor/mcp.json`
|
|
235
252
|
|
|
236
253
|
```json
|
|
237
254
|
{
|
|
@@ -243,10 +260,12 @@ Add to `~/.cursor/mcp.json`:
|
|
|
243
260
|
}
|
|
244
261
|
}
|
|
245
262
|
```
|
|
263
|
+
</details>
|
|
246
264
|
|
|
247
|
-
|
|
265
|
+
<details>
|
|
266
|
+
<summary>Windsurf</summary>
|
|
248
267
|
|
|
249
|
-
|
|
268
|
+
`~/.codeium/windsurf/mcp_config.json`
|
|
250
269
|
|
|
251
270
|
```json
|
|
252
271
|
{
|
|
@@ -258,10 +277,12 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
|
258
277
|
}
|
|
259
278
|
}
|
|
260
279
|
```
|
|
280
|
+
</details>
|
|
261
281
|
|
|
262
|
-
|
|
282
|
+
<details>
|
|
283
|
+
<summary>Zed</summary>
|
|
263
284
|
|
|
264
|
-
|
|
285
|
+
`~/.config/zed/settings.json`
|
|
265
286
|
|
|
266
287
|
```json
|
|
267
288
|
{
|
|
@@ -275,10 +296,12 @@ Add to `~/.config/zed/settings.json`:
|
|
|
275
296
|
}
|
|
276
297
|
}
|
|
277
298
|
```
|
|
299
|
+
</details>
|
|
278
300
|
|
|
279
|
-
|
|
301
|
+
<details>
|
|
302
|
+
<summary>VS Code + Continue</summary>
|
|
280
303
|
|
|
281
|
-
|
|
304
|
+
`~/.continue/config.json`
|
|
282
305
|
|
|
283
306
|
```json
|
|
284
307
|
{
|
|
@@ -295,13 +318,7 @@ Add to `~/.continue/config.json`:
|
|
|
295
318
|
}
|
|
296
319
|
}
|
|
297
320
|
```
|
|
298
|
-
|
|
299
|
-
### Uninstall
|
|
300
|
-
|
|
301
|
-
```bash
|
|
302
|
-
npx codebaxing uninstall # Claude Desktop
|
|
303
|
-
npx codebaxing uninstall --all # All editors
|
|
304
|
-
```
|
|
321
|
+
</details>
|
|
305
322
|
|
|
306
323
|
## How It Works
|
|
307
324
|
|
|
@@ -328,24 +345,6 @@ npx codebaxing uninstall --all # All editors
|
|
|
328
345
|
│ │ (vectors) │ │
|
|
329
346
|
│ └──────────────┘ │
|
|
330
347
|
└─────────────────────────────────────────────────────────────────┘
|
|
331
|
-
|
|
332
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
333
|
-
│ SEARCH │
|
|
334
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
335
|
-
│ "find auth code" │
|
|
336
|
-
│ │ │
|
|
337
|
-
│ ▼ │
|
|
338
|
-
│ ┌──────────────┐ ┌──────────────┐ │
|
|
339
|
-
│ │ Embedding │────────▶│ ChromaDB │ │
|
|
340
|
-
│ │ Model │ query │ Query │ │
|
|
341
|
-
│ └──────────────┘ vector └──────────────┘ │
|
|
342
|
-
│ │ │
|
|
343
|
-
│ ▼ │
|
|
344
|
-
│ Cosine Similarity │
|
|
345
|
-
│ │ │
|
|
346
|
-
│ ▼ │
|
|
347
|
-
│ Top-k Results │
|
|
348
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
349
348
|
```
|
|
350
349
|
|
|
351
350
|
### Why Semantic Search Works
|
|
@@ -358,56 +357,6 @@ The embedding model understands that:
|
|
|
358
357
|
| "database" | query, SQL, connection, ORM, repository |
|
|
359
358
|
| "error handling" | try/catch, exception, throw, ErrorBoundary |
|
|
360
359
|
|
|
361
|
-
## Configuration
|
|
362
|
-
|
|
363
|
-
### Environment Variables
|
|
364
|
-
|
|
365
|
-
| Variable | Description | Default |
|
|
366
|
-
|----------|-------------|---------|
|
|
367
|
-
| `CHROMADB_URL` | ChromaDB server URL for persistent storage | (in-memory) |
|
|
368
|
-
| `CODEBAXING_DEVICE` | Compute device: `cpu`, `webgpu`, `cuda`, `auto` | `cpu` |
|
|
369
|
-
| `CODEBAXING_MAX_FILE_SIZE` | Max file size to index (in MB) | `1` |
|
|
370
|
-
|
|
371
|
-
### Persistent Storage
|
|
372
|
-
|
|
373
|
-
By default, the index is stored in memory and lost when the server restarts.
|
|
374
|
-
|
|
375
|
-
For persistent storage:
|
|
376
|
-
|
|
377
|
-
```bash
|
|
378
|
-
# Start ChromaDB
|
|
379
|
-
docker run -d -p 8000:8000 chromadb/chroma
|
|
380
|
-
|
|
381
|
-
# Set environment variable
|
|
382
|
-
export CHROMADB_URL=http://localhost:8000
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
Or in MCP config:
|
|
386
|
-
|
|
387
|
-
```json
|
|
388
|
-
{
|
|
389
|
-
"mcpServers": {
|
|
390
|
-
"codebaxing": {
|
|
391
|
-
"command": "npx",
|
|
392
|
-
"args": ["-y", "codebaxing"],
|
|
393
|
-
"env": {
|
|
394
|
-
"CHROMADB_URL": "http://localhost:8000"
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
### GPU Acceleration
|
|
402
|
-
|
|
403
|
-
```bash
|
|
404
|
-
export CODEBAXING_DEVICE=webgpu # macOS (Metal)
|
|
405
|
-
export CODEBAXING_DEVICE=cuda # Linux/Windows (NVIDIA)
|
|
406
|
-
export CODEBAXING_DEVICE=auto # Auto-detect
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
**Note:** macOS does not support CUDA. Use `webgpu` for GPU acceleration on Mac.
|
|
410
|
-
|
|
411
360
|
## Supported Languages
|
|
412
361
|
|
|
413
362
|
Python, JavaScript, TypeScript, C, C++, Bash, Go, Java, Kotlin, Rust, Ruby, C#, PHP, Scala, Swift, Lua, Dart, Elixir, Haskell, OCaml, Zig, Perl, CSS, HTML, Vue, JSON, YAML, TOML, Makefile
|
|
@@ -424,6 +373,7 @@ Python, JavaScript, TypeScript, C, C++, Bash, Go, Java, Kotlin, Rust, Ruby, C#,
|
|
|
424
373
|
## Requirements
|
|
425
374
|
|
|
426
375
|
- Node.js >= 20.0.0
|
|
376
|
+
- Docker (for ChromaDB, optional but recommended)
|
|
427
377
|
- ~500MB disk space for embedding model (downloaded on first run)
|
|
428
378
|
|
|
429
379
|
## Technical Details
|
package/README.vi.md
CHANGED
|
@@ -11,13 +11,10 @@ MCP server cho **semantic code search**. Index codebase và tìm kiếm bằng n
|
|
|
11
11
|
|
|
12
12
|
- [Ý tưởng](#ý-tưởng)
|
|
13
13
|
- [Bắt đầu nhanh](#bắt-đầu-nhanh)
|
|
14
|
-
- [Cách sử dụng](#cách-sử-dụng)
|
|
15
|
-
- [Qua AI Agents (MCP)](#qua-ai-agents-mcp)
|
|
16
|
-
- [Qua CLI (Terminal)](#qua-cli-terminal)
|
|
17
14
|
- [Cài đặt](#cài-đặt)
|
|
18
|
-
- [
|
|
15
|
+
- [Cách sử dụng](#cách-sử-dụng)
|
|
19
16
|
- [Cấu hình](#cấu-hình)
|
|
20
|
-
- [
|
|
17
|
+
- [Cơ chế hoạt động](#cơ-chế-hoạt-động)
|
|
21
18
|
|
|
22
19
|
## Ý tưởng
|
|
23
20
|
|
|
@@ -37,46 +34,103 @@ Tìm được: login(), validateCredentials(), checkPassword(), authMiddleware()
|
|
|
37
34
|
|
|
38
35
|
## Bắt đầu nhanh
|
|
39
36
|
|
|
40
|
-
###
|
|
37
|
+
### Cho AI Editors (Claude Desktop, Cursor, Windsurf)
|
|
41
38
|
|
|
42
39
|
```bash
|
|
40
|
+
# Cài đặt một lệnh
|
|
43
41
|
npx codebaxing install # Claude Desktop
|
|
44
42
|
npx codebaxing install --cursor # Cursor
|
|
45
43
|
npx codebaxing install --windsurf # Windsurf
|
|
46
44
|
npx codebaxing install --all # Tất cả editors
|
|
47
45
|
```
|
|
48
46
|
|
|
49
|
-
|
|
47
|
+
Khởi động lại editor, sau đó hỏi: *"Index project của tôi tại /path/to/myproject"*
|
|
48
|
+
|
|
49
|
+
### Cho CLI (Terminal)
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
```bash
|
|
52
|
+
# 1. Khởi động ChromaDB (bắt buộc cho CLI)
|
|
53
|
+
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
|
|
52
54
|
|
|
53
|
-
|
|
55
|
+
# 2. Set biến môi trường
|
|
56
|
+
export CHROMADB_URL=http://localhost:8000
|
|
54
57
|
|
|
58
|
+
# 3. Index và tìm kiếm
|
|
59
|
+
npx codebaxing index /path/to/project
|
|
60
|
+
npx codebaxing search "authentication logic"
|
|
55
61
|
```
|
|
56
|
-
Bạn: Index project của tôi tại /path/to/myproject
|
|
57
|
-
Claude: [gọi index tool]
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
## Cài đặt
|
|
64
|
+
|
|
65
|
+
### Bước 1: Cài vào AI Editor
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx codebaxing install # Claude Desktop (mặc định)
|
|
69
|
+
npx codebaxing install --cursor # Cursor
|
|
70
|
+
npx codebaxing install --windsurf # Windsurf (Codeium)
|
|
71
|
+
npx codebaxing install --zed # Zed
|
|
72
|
+
npx codebaxing install --all # Tất cả editors
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Bước 2: (Tùy chọn) Setup ChromaDB cho Lưu trữ Vĩnh viễn
|
|
76
|
+
|
|
77
|
+
Mặc định, index được lưu trong memory và mất khi editor khởi động lại.
|
|
78
|
+
|
|
79
|
+
Để lưu trữ vĩnh viễn, chạy ChromaDB:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Khởi động ChromaDB với Docker
|
|
83
|
+
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
|
|
84
|
+
|
|
85
|
+
# Kiểm tra đang chạy
|
|
86
|
+
curl http://localhost:8000/api/v1/heartbeat
|
|
87
|
+
# Sẽ trả về: {"nanosecond heartbeat":...}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Sau đó cập nhật config editor để thêm biến môi trường:
|
|
91
|
+
|
|
92
|
+
**Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json`):
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"mcpServers": {
|
|
97
|
+
"codebaxing": {
|
|
98
|
+
"command": "npx",
|
|
99
|
+
"args": ["-y", "codebaxing"],
|
|
100
|
+
"env": {
|
|
101
|
+
"CHROMADB_URL": "http://localhost:8000"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Bước 3: Khởi động lại Editor
|
|
109
|
+
|
|
110
|
+
Các tools Codebaxing đã sẵn sàng!
|
|
111
|
+
|
|
112
|
+
### Gỡ cài đặt
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npx codebaxing uninstall # Claude Desktop
|
|
116
|
+
npx codebaxing uninstall --all # Tất cả editors
|
|
61
117
|
```
|
|
62
118
|
|
|
63
119
|
## Cách sử dụng
|
|
64
120
|
|
|
65
|
-
### Qua AI Agents (
|
|
121
|
+
### Qua AI Agents (Claude Desktop, Cursor, v.v.)
|
|
66
122
|
|
|
67
|
-
Sau khi cài
|
|
123
|
+
Sau khi cài đặt, tương tác qua hội thoại tự nhiên:
|
|
68
124
|
|
|
69
|
-
####
|
|
125
|
+
#### 1. Index codebase (Bắt buộc đầu tiên)
|
|
70
126
|
|
|
71
127
|
```
|
|
72
128
|
Bạn: Index codebase tại /Users/me/projects/myapp
|
|
73
129
|
```
|
|
74
130
|
|
|
75
|
-
Claude sẽ gọi `index(path="/Users/me/projects/myapp")` và hiển thị tiến trình.
|
|
76
|
-
|
|
77
131
|
> **Lưu ý:** Lần đầu chạy sẽ download embedding model (~90MB), mất 1-2 phút.
|
|
78
132
|
|
|
79
|
-
####
|
|
133
|
+
#### 2. Tìm kiếm code
|
|
80
134
|
|
|
81
135
|
```
|
|
82
136
|
Bạn: Tìm code xử lý xác thực người dùng
|
|
@@ -84,7 +138,7 @@ Bạn: Logic kết nối database ở đâu?
|
|
|
84
138
|
Bạn: Cho tôi xem patterns xử lý lỗi
|
|
85
139
|
```
|
|
86
140
|
|
|
87
|
-
####
|
|
141
|
+
#### 3. Sử dụng memory (tùy chọn)
|
|
88
142
|
|
|
89
143
|
```
|
|
90
144
|
Bạn: Ghi nhớ rằng chúng ta dùng PostgreSQL với Prisma ORM
|
|
@@ -106,117 +160,78 @@ Bạn: Những quyết định nào đã được đưa ra về database?
|
|
|
106
160
|
|
|
107
161
|
### Qua CLI (Terminal)
|
|
108
162
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
#### Yêu cầu: Khởi động ChromaDB
|
|
163
|
+
Các lệnh CLI **yêu cầu ChromaDB** đang chạy. Xem [Setup ChromaDB](#bước-2-tùy-chọn-setup-chromadb-cho-lưu-trữ-vĩnh-viễn).
|
|
112
164
|
|
|
113
|
-
|
|
165
|
+
#### Yêu cầu
|
|
114
166
|
|
|
115
167
|
```bash
|
|
116
|
-
# Khởi động ChromaDB
|
|
117
|
-
docker run -d -p 8000:8000 chromadb/chroma
|
|
168
|
+
# Khởi động ChromaDB
|
|
169
|
+
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
|
|
118
170
|
|
|
119
|
-
# Set biến môi trường
|
|
171
|
+
# Set biến môi trường (thêm vào ~/.bashrc hoặc ~/.zshrc)
|
|
120
172
|
export CHROMADB_URL=http://localhost:8000
|
|
121
173
|
```
|
|
122
174
|
|
|
123
|
-
####
|
|
175
|
+
#### Các lệnh
|
|
124
176
|
|
|
125
177
|
```bash
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
# Hoặc nếu đã export CHROMADB_URL:
|
|
178
|
+
# Index codebase
|
|
129
179
|
npx codebaxing index /path/to/project
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Output:
|
|
133
|
-
```
|
|
134
|
-
🔧 Codebaxing - Index Codebase
|
|
135
|
-
|
|
136
|
-
📁 Path: /path/to/project
|
|
137
|
-
|
|
138
|
-
================================================================================
|
|
139
|
-
INDEXING CODEBASE
|
|
140
|
-
================================================================================
|
|
141
|
-
Found 47 files
|
|
142
|
-
Parsed 645 symbols from 47 files
|
|
143
|
-
Generating embeddings for 645 chunks...
|
|
144
|
-
Model loaded: Xenova/all-MiniLM-L6-v2 (384 dims, CPU)
|
|
145
|
-
|
|
146
|
-
================================================================================
|
|
147
|
-
INDEXING COMPLETE
|
|
148
|
-
================================================================================
|
|
149
|
-
Files parsed: 47
|
|
150
|
-
Symbols extracted: 645
|
|
151
|
-
Chunks created: 645
|
|
152
|
-
Time elapsed: 21.9s
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
#### Bước 2: Tìm kiếm code
|
|
156
180
|
|
|
157
|
-
|
|
181
|
+
# Tìm kiếm code
|
|
158
182
|
npx codebaxing search "authentication middleware"
|
|
159
183
|
npx codebaxing search "database connection" --path ./src --limit 10
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Output:
|
|
163
|
-
```
|
|
164
|
-
🔧 Codebaxing - Search
|
|
165
|
-
|
|
166
|
-
📁 Path: /path/to/project
|
|
167
|
-
🔍 Query: "authentication middleware"
|
|
168
|
-
📊 Limit: 5
|
|
169
|
-
|
|
170
|
-
────────────────────────────────────────────────────────────
|
|
171
|
-
Results:
|
|
172
184
|
|
|
173
|
-
|
|
174
|
-
2. src/services/auth.ts:42 - validateToken()
|
|
175
|
-
3. src/routes/login.ts:8 - loginHandler()
|
|
176
|
-
|
|
177
|
-
────────────────────────────────────────────────────────────
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
#### Bước 3: Xem thống kê
|
|
181
|
-
|
|
182
|
-
```bash
|
|
185
|
+
# Xem thống kê index
|
|
183
186
|
npx codebaxing stats /path/to/project
|
|
187
|
+
|
|
188
|
+
# Xem help
|
|
189
|
+
npx codebaxing --help
|
|
184
190
|
```
|
|
185
191
|
|
|
186
|
-
#### Bảng tham chiếu CLI
|
|
192
|
+
#### Bảng tham chiếu CLI
|
|
187
193
|
|
|
188
|
-
|
|
|
189
|
-
|
|
194
|
+
| Lệnh | Mô tả |
|
|
195
|
+
|------|-------|
|
|
190
196
|
| `npx codebaxing install [--editor]` | Cài MCP server vào AI editor |
|
|
191
197
|
| `npx codebaxing uninstall [--editor]` | Gỡ MCP server |
|
|
192
198
|
| `npx codebaxing index <path>` | Index codebase |
|
|
193
199
|
| `npx codebaxing search <query> [options]` | Tìm kiếm codebase đã index |
|
|
194
200
|
| `npx codebaxing stats [path]` | Hiển thị thống kê index |
|
|
195
|
-
| `npx codebaxing --help` | Hiển thị help |
|
|
196
201
|
|
|
197
202
|
**Search options:**
|
|
198
203
|
- `--path, -p <path>` - Đường dẫn codebase (mặc định: thư mục hiện tại)
|
|
199
204
|
- `--limit, -n <number>` - Số kết quả (mặc định: 5)
|
|
200
205
|
|
|
201
|
-
##
|
|
206
|
+
## Cấu hình
|
|
207
|
+
|
|
208
|
+
### Biến môi trường
|
|
209
|
+
|
|
210
|
+
| Biến | Mô tả | Mặc định |
|
|
211
|
+
|------|-------|----------|
|
|
212
|
+
| `CHROMADB_URL` | URL ChromaDB server | (in-memory) |
|
|
213
|
+
| `CODEBAXING_DEVICE` | Thiết bị tính toán: `cpu`, `webgpu`, `cuda`, `auto` | `cpu` |
|
|
214
|
+
| `CODEBAXING_MAX_FILE_SIZE` | Kích thước file tối đa để index (MB) | `1` |
|
|
202
215
|
|
|
203
|
-
###
|
|
216
|
+
### Tăng tốc GPU
|
|
204
217
|
|
|
205
218
|
```bash
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
npx codebaxing install --zed # Zed
|
|
210
|
-
npx codebaxing install --all # Tất cả editors
|
|
219
|
+
export CODEBAXING_DEVICE=webgpu # macOS (Metal)
|
|
220
|
+
export CODEBAXING_DEVICE=cuda # Linux/Windows (NVIDIA)
|
|
221
|
+
export CODEBAXING_DEVICE=auto # Tự động detect
|
|
211
222
|
```
|
|
212
223
|
|
|
213
|
-
|
|
224
|
+
**Lưu ý:** macOS không hỗ trợ CUDA. Dùng `webgpu` để tăng tốc trên Mac.
|
|
225
|
+
|
|
226
|
+
### Cấu hình thủ công cho Editors
|
|
214
227
|
|
|
215
|
-
|
|
228
|
+
Nếu bạn muốn cấu hình thủ công thay vì dùng `npx codebaxing install`:
|
|
216
229
|
|
|
217
|
-
|
|
230
|
+
<details>
|
|
231
|
+
<summary>Claude Desktop</summary>
|
|
218
232
|
|
|
219
|
-
|
|
233
|
+
`~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
234
|
+
`%APPDATA%\Claude\claude_desktop_config.json` (Windows)
|
|
220
235
|
|
|
221
236
|
```json
|
|
222
237
|
{
|
|
@@ -228,10 +243,12 @@ Thêm vào `~/Library/Application Support/Claude/claude_desktop_config.json` (ma
|
|
|
228
243
|
}
|
|
229
244
|
}
|
|
230
245
|
```
|
|
246
|
+
</details>
|
|
231
247
|
|
|
232
|
-
|
|
248
|
+
<details>
|
|
249
|
+
<summary>Cursor</summary>
|
|
233
250
|
|
|
234
|
-
|
|
251
|
+
`~/.cursor/mcp.json`
|
|
235
252
|
|
|
236
253
|
```json
|
|
237
254
|
{
|
|
@@ -243,10 +260,12 @@ Thêm vào `~/.cursor/mcp.json`:
|
|
|
243
260
|
}
|
|
244
261
|
}
|
|
245
262
|
```
|
|
263
|
+
</details>
|
|
246
264
|
|
|
247
|
-
|
|
265
|
+
<details>
|
|
266
|
+
<summary>Windsurf</summary>
|
|
248
267
|
|
|
249
|
-
|
|
268
|
+
`~/.codeium/windsurf/mcp_config.json`
|
|
250
269
|
|
|
251
270
|
```json
|
|
252
271
|
{
|
|
@@ -258,10 +277,12 @@ Thêm vào `~/.codeium/windsurf/mcp_config.json`:
|
|
|
258
277
|
}
|
|
259
278
|
}
|
|
260
279
|
```
|
|
280
|
+
</details>
|
|
261
281
|
|
|
262
|
-
|
|
282
|
+
<details>
|
|
283
|
+
<summary>Zed</summary>
|
|
263
284
|
|
|
264
|
-
|
|
285
|
+
`~/.config/zed/settings.json`
|
|
265
286
|
|
|
266
287
|
```json
|
|
267
288
|
{
|
|
@@ -275,10 +296,12 @@ Thêm vào `~/.config/zed/settings.json`:
|
|
|
275
296
|
}
|
|
276
297
|
}
|
|
277
298
|
```
|
|
299
|
+
</details>
|
|
278
300
|
|
|
279
|
-
|
|
301
|
+
<details>
|
|
302
|
+
<summary>VS Code + Continue</summary>
|
|
280
303
|
|
|
281
|
-
|
|
304
|
+
`~/.continue/config.json`
|
|
282
305
|
|
|
283
306
|
```json
|
|
284
307
|
{
|
|
@@ -295,13 +318,7 @@ Thêm vào `~/.continue/config.json`:
|
|
|
295
318
|
}
|
|
296
319
|
}
|
|
297
320
|
```
|
|
298
|
-
|
|
299
|
-
### Gỡ cài đặt
|
|
300
|
-
|
|
301
|
-
```bash
|
|
302
|
-
npx codebaxing uninstall # Claude Desktop
|
|
303
|
-
npx codebaxing uninstall --all # Tất cả editors
|
|
304
|
-
```
|
|
321
|
+
</details>
|
|
305
322
|
|
|
306
323
|
## Cơ chế hoạt động
|
|
307
324
|
|
|
@@ -328,24 +345,6 @@ npx codebaxing uninstall --all # Tất cả editors
|
|
|
328
345
|
│ │ (vectors) │ │
|
|
329
346
|
│ └──────────────┘ │
|
|
330
347
|
└─────────────────────────────────────────────────────────────────┘
|
|
331
|
-
|
|
332
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
333
|
-
│ SEARCH │
|
|
334
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
335
|
-
│ "find auth code" │
|
|
336
|
-
│ │ │
|
|
337
|
-
│ ▼ │
|
|
338
|
-
│ ┌──────────────┐ ┌──────────────┐ │
|
|
339
|
-
│ │ Embedding │────────▶│ ChromaDB │ │
|
|
340
|
-
│ │ Model │ query │ Query │ │
|
|
341
|
-
│ └──────────────┘ vector └──────────────┘ │
|
|
342
|
-
│ │ │
|
|
343
|
-
│ ▼ │
|
|
344
|
-
│ Cosine Similarity │
|
|
345
|
-
│ │ │
|
|
346
|
-
│ ▼ │
|
|
347
|
-
│ Top-k Results │
|
|
348
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
349
348
|
```
|
|
350
349
|
|
|
351
350
|
### Tại sao Semantic Search hoạt động
|
|
@@ -358,56 +357,6 @@ Embedding model hiểu rằng:
|
|
|
358
357
|
| "database" | query, SQL, connection, ORM, repository |
|
|
359
358
|
| "error handling" | try/catch, exception, throw, ErrorBoundary |
|
|
360
359
|
|
|
361
|
-
## Cấu hình
|
|
362
|
-
|
|
363
|
-
### Biến môi trường
|
|
364
|
-
|
|
365
|
-
| Biến | Mô tả | Mặc định |
|
|
366
|
-
|------|-------|----------|
|
|
367
|
-
| `CHROMADB_URL` | URL ChromaDB server để lưu trữ vĩnh viễn | (in-memory) |
|
|
368
|
-
| `CODEBAXING_DEVICE` | Thiết bị tính toán: `cpu`, `webgpu`, `cuda`, `auto` | `cpu` |
|
|
369
|
-
| `CODEBAXING_MAX_FILE_SIZE` | Kích thước file tối đa để index (MB) | `1` |
|
|
370
|
-
|
|
371
|
-
### Lưu trữ vĩnh viễn
|
|
372
|
-
|
|
373
|
-
Mặc định, index được lưu trong memory và mất khi server restart.
|
|
374
|
-
|
|
375
|
-
Để lưu trữ vĩnh viễn:
|
|
376
|
-
|
|
377
|
-
```bash
|
|
378
|
-
# Khởi động ChromaDB
|
|
379
|
-
docker run -d -p 8000:8000 chromadb/chroma
|
|
380
|
-
|
|
381
|
-
# Set biến môi trường
|
|
382
|
-
export CHROMADB_URL=http://localhost:8000
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
Hoặc trong MCP config:
|
|
386
|
-
|
|
387
|
-
```json
|
|
388
|
-
{
|
|
389
|
-
"mcpServers": {
|
|
390
|
-
"codebaxing": {
|
|
391
|
-
"command": "npx",
|
|
392
|
-
"args": ["-y", "codebaxing"],
|
|
393
|
-
"env": {
|
|
394
|
-
"CHROMADB_URL": "http://localhost:8000"
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
### Tăng tốc GPU
|
|
402
|
-
|
|
403
|
-
```bash
|
|
404
|
-
export CODEBAXING_DEVICE=webgpu # macOS (Metal)
|
|
405
|
-
export CODEBAXING_DEVICE=cuda # Linux/Windows (NVIDIA)
|
|
406
|
-
export CODEBAXING_DEVICE=auto # Tự động detect
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
**Lưu ý:** macOS không hỗ trợ CUDA. Dùng `webgpu` để tăng tốc trên Mac.
|
|
410
|
-
|
|
411
360
|
## Ngôn ngữ hỗ trợ
|
|
412
361
|
|
|
413
362
|
Python, JavaScript, TypeScript, C, C++, Bash, Go, Java, Kotlin, Rust, Ruby, C#, PHP, Scala, Swift, Lua, Dart, Elixir, Haskell, OCaml, Zig, Perl, CSS, HTML, Vue, JSON, YAML, TOML, Makefile
|
|
@@ -424,6 +373,7 @@ Python, JavaScript, TypeScript, C, C++, Bash, Go, Java, Kotlin, Rust, Ruby, C#,
|
|
|
424
373
|
## Yêu cầu
|
|
425
374
|
|
|
426
375
|
- Node.js >= 20.0.0
|
|
376
|
+
- Docker (cho ChromaDB, tùy chọn nhưng khuyến nghị)
|
|
427
377
|
- ~500MB dung lượng đĩa cho embedding model (tải xuống lần chạy đầu tiên)
|
|
428
378
|
|
|
429
379
|
## Chi tiết kỹ thuật
|
package/dist/cli/installer.js
CHANGED
|
@@ -132,6 +132,8 @@ async function runIndex(codebasePath) {
|
|
|
132
132
|
}
|
|
133
133
|
console.log('\n🔧 Codebaxing - Index Codebase\n');
|
|
134
134
|
console.log(`📁 Path: ${absolutePath}\n`);
|
|
135
|
+
// Check ChromaDB connection first
|
|
136
|
+
await checkChromaDBConnection();
|
|
135
137
|
// Dynamic import to avoid loading heavy dependencies upfront
|
|
136
138
|
const { SourceRetriever } = await import('../indexing/source-retriever.js');
|
|
137
139
|
try {
|
|
@@ -168,6 +170,25 @@ function showChromaDBError() {
|
|
|
168
170
|
console.error(' 3. Run again\n');
|
|
169
171
|
process.exit(1);
|
|
170
172
|
}
|
|
173
|
+
async function checkChromaDBConnection() {
|
|
174
|
+
const chromaUrl = process.env.CHROMADB_URL || 'http://localhost:8000';
|
|
175
|
+
console.log(`🔗 Checking ChromaDB connection (${chromaUrl})...`);
|
|
176
|
+
try {
|
|
177
|
+
const controller = new AbortController();
|
|
178
|
+
const timeout = setTimeout(() => controller.abort(), 3000); // 3 second timeout
|
|
179
|
+
const response = await fetch(`${chromaUrl}/api/v1/heartbeat`, {
|
|
180
|
+
signal: controller.signal,
|
|
181
|
+
});
|
|
182
|
+
clearTimeout(timeout);
|
|
183
|
+
if (!response.ok) {
|
|
184
|
+
showChromaDBError();
|
|
185
|
+
}
|
|
186
|
+
console.log('✅ ChromaDB connected\n');
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
showChromaDBError();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
171
192
|
async function runSearch(query, options) {
|
|
172
193
|
const codebasePath = options.path || process.cwd();
|
|
173
194
|
const absolutePath = path.resolve(codebasePath);
|
|
@@ -176,6 +197,8 @@ async function runSearch(query, options) {
|
|
|
176
197
|
console.log(`📁 Path: ${absolutePath}`);
|
|
177
198
|
console.log(`🔍 Query: "${query}"`);
|
|
178
199
|
console.log(`📊 Limit: ${limit}\n`);
|
|
200
|
+
// Check ChromaDB connection first
|
|
201
|
+
await checkChromaDBConnection();
|
|
179
202
|
const { SourceRetriever } = await import('../indexing/source-retriever.js');
|
|
180
203
|
try {
|
|
181
204
|
const retriever = new SourceRetriever({
|
|
@@ -215,6 +238,8 @@ async function runStats(codebasePath) {
|
|
|
215
238
|
const absolutePath = path.resolve(codebasePath || process.cwd());
|
|
216
239
|
console.log('\n🔧 Codebaxing - Statistics\n');
|
|
217
240
|
console.log(`📁 Path: ${absolutePath}\n`);
|
|
241
|
+
// Check ChromaDB connection first
|
|
242
|
+
await checkChromaDBConnection();
|
|
218
243
|
const { SourceRetriever } = await import('../indexing/source-retriever.js');
|
|
219
244
|
try {
|
|
220
245
|
const retriever = new SourceRetriever({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/cli/installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/cli/installer.ts"],"names":[],"mappings":"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"}
|