dsh-codebase-chat 0.16.4 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +212 -147
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +1646 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +201 -0
- package/dist/index.js +1557 -0
- package/dist/index.js.map +1 -0
- package/lib/client.js +2 -2
- package/lib/index.js +2992 -2857
- package/package.json +95 -70
package/README.md
CHANGED
|
@@ -1,134 +1,175 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/shinzarou-eng/dsh-codebase-chat/main/docs/assets/logo.
|
|
2
|
+
<img src="https://raw.githubusercontent.com/shinzarou-eng/dsh-codebase-chat/main/docs/assets/logo.png" width="110" height="110" alt="dsh-codebase-chat logo">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<h1 align="center">dsh-codebase-chat</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<strong>
|
|
9
|
-
|
|
8
|
+
<strong>Local-first codebase intelligence — chat, audit, refactor, and report on any repository.</strong><br>
|
|
9
|
+
DeepSeek Harness plugin · standalone MCP server · CLI
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://www.npmjs.com/package/dsh-codebase-chat"><img src="https://img.shields.io/npm/v/dsh-codebase-chat?logo=npm&color=
|
|
14
|
-
<a href="https://www.npmjs.com/package/dsh-codebase-chat-mcp"><img src="https://img.shields.io/npm/v/dsh-codebase-chat-mcp?logo=npm&color=
|
|
15
|
-
<a href="https://github.com/shinzarou-eng/dsh-codebase-chat/
|
|
16
|
-
<a href="https://
|
|
17
|
-
<a href="https://
|
|
18
|
-
<a href="https://
|
|
13
|
+
<a href="https://www.npmjs.com/package/dsh-codebase-chat"><img src="https://img.shields.io/npm/v/dsh-codebase-chat?logo=npm&label=plugin&color=7cc7ff" alt="npm plugin"></a>
|
|
14
|
+
<a href="https://www.npmjs.com/package/dsh-codebase-chat-mcp"><img src="https://img.shields.io/npm/v/dsh-codebase-chat-mcp?logo=npm&label=mcp&color=b08cff" alt="npm mcp"></a>
|
|
15
|
+
<a href="https://github.com/shinzarou-eng/dsh-codebase-chat/blob/main/LICENSE"><img src="https://img.shields.io/github/license/shinzarou-eng/dsh-codebase-chat?color=97a3b0" alt="license"></a>
|
|
16
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-5fed83?logo=nodedotjs" alt="node >= 20"></a>
|
|
17
|
+
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-39c5cf" alt="MCP compatible"></a>
|
|
18
|
+
<a href="https://github.com/shinzarou-eng/dsh-codebase-chat/stargazers"><img src="https://img.shields.io/github/stars/shinzarou-eng/dsh-codebase-chat?style=social" alt="stars"></a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
21
|
<p align="center">
|
|
22
|
-
<a href="https://shinzarou-eng.github.io/dsh-codebase-chat">Website</a> ·
|
|
23
|
-
<a href="
|
|
24
|
-
<a href="#
|
|
25
|
-
<a href="
|
|
26
|
-
<a href="
|
|
27
|
-
<a href="
|
|
22
|
+
<a href="https://shinzarou-eng.github.io/dsh-codebase-chat"><strong>Website</strong></a> ·
|
|
23
|
+
<a href="#quick-start">Quick start</a> ·
|
|
24
|
+
<a href="#tool-suite">Tools</a> ·
|
|
25
|
+
<a href="ROADMAP.md">Roadmap</a> ·
|
|
26
|
+
<a href="CHANGELOG.md">Changelog</a> ·
|
|
27
|
+
<a href="CONTRIBUTING.md">Contributing</a>
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
<br>
|
|
31
|
+
|
|
32
|
+
<p align="center">
|
|
33
|
+
<img src="docs/assets/demo.gif" alt="dsh-codebase-chat CLI demo" width="820"><br>
|
|
34
|
+
<em>Real terminal output — <a href="docs/assets/demo-mcp.gif">MCP session</a> · <a href="docs/assets/demo-fr.gif">French mode</a></em>
|
|
28
35
|
</p>
|
|
29
36
|
|
|
30
37
|
---
|
|
31
38
|
|
|
32
|
-
##
|
|
39
|
+
## In plain words
|
|
33
40
|
|
|
34
|
-
|
|
41
|
+
> **New here?** Point it at a folder of code on your computer. Ask questions in plain
|
|
42
|
+
> language — *"How does login work?"*, *"Is there a hardcoded password?"*, *"What should
|
|
43
|
+
> I fix first?"* — in French or English. Every answer cites the exact file and line it
|
|
44
|
+
> came from, so you can verify it in seconds. Nothing is uploaded anywhere.
|
|
35
45
|
|
|
36
|
-
|
|
|
46
|
+
| Term | Meaning |
|
|
37
47
|
| --- | --- |
|
|
38
|
-
| **
|
|
39
|
-
| **
|
|
40
|
-
| **
|
|
41
|
-
| **
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
| **MCP server** | A plug format that lets AI assistants (Claude, Cursor…) use extra tools. Install once, your IDE can "see" your code. |
|
|
49
|
+
| **Index** | Like the index at the back of a book — a map of every function and file, so answers are instant. |
|
|
50
|
+
| **Prompt-only mode** | The tool prepares the context; your existing AI writes the answer. No extra API key, no extra cost. |
|
|
51
|
+
| **Deterministic analysis** | Checks computed directly from your code — same input, same result, every time. No guessing. |
|
|
52
|
+
|
|
53
|
+
<details>
|
|
54
|
+
<summary><strong>🇫🇷 En termes simples</strong></summary>
|
|
55
|
+
|
|
56
|
+
<br>
|
|
57
|
+
|
|
58
|
+
Pointez-le vers un dossier de code sur votre ordinateur. Posez des questions en langage
|
|
59
|
+
clair — *« Comment fonctionne la connexion ? », « Y a-t-il un mot de passe codé en dur ? »,
|
|
60
|
+
« Que devrais-je réparer en premier ? »* — en français ou en anglais. Chaque réponse cite
|
|
61
|
+
exactement le fichier et la ligne d'où elle vient, donc vous pouvez vérifier en quelques
|
|
62
|
+
secondes. Rien n'est envoyé sur internet.
|
|
63
|
+
|
|
64
|
+
</details>
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Why dsh-codebase-chat?
|
|
69
|
+
|
|
70
|
+
Most codebase assistants are slow, paywalled, or require uploading your source to the cloud.
|
|
71
|
+
**dsh-codebase-chat** runs entirely on your machine: it indexes your repository, retrieves the
|
|
72
|
+
chunks that matter, and assembles a **sourced prompt** — every answer comes back with
|
|
73
|
+
`[source: file:line]` citations, confidence scores, and severity labels.
|
|
74
|
+
|
|
75
|
+
- **Local-first** — indexing, retrieval, and prompt building never leave your machine.
|
|
76
|
+
- **Bilingual** — every prompt, report, and UI string in French and English.
|
|
77
|
+
- **Everywhere** — DeepSeek Harness plugin, standalone MCP server (Cursor, Claude, Windsurf…), and a plain CLI.
|
|
78
|
+
- **Decision-grade output** — not just answers: CTO briefs, audits, TASKS.md plans, board reports.
|
|
48
79
|
|
|
49
80
|
---
|
|
50
81
|
|
|
51
82
|
## Quick start
|
|
52
83
|
|
|
53
|
-
###
|
|
84
|
+
### Option A — DeepSeek Harness plugin
|
|
54
85
|
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
#
|
|
58
|
-
|
|
86
|
+
```bash
|
|
87
|
+
dsh plugin --profile web add dsh-codebase-chat
|
|
88
|
+
# without a global dsh install:
|
|
89
|
+
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-codebase-chat
|
|
59
90
|
```
|
|
60
91
|
|
|
61
|
-
Then open `http://127.0.0.1:3080` and click the **Codebase Pro** button in the sidebar.
|
|
92
|
+
Then restart `dsh web`, open `http://127.0.0.1:3080` and click the **Codebase Pro** button in the sidebar.
|
|
62
93
|
|
|
63
|
-
###
|
|
94
|
+
### Option B — MCP server (Cursor, Claude, Windsurf…)
|
|
64
95
|
|
|
65
96
|
```bash
|
|
66
|
-
# Install globally
|
|
67
|
-
npm install -g dsh-codebase-chat-mcp
|
|
68
|
-
|
|
69
|
-
# Or run without installing
|
|
70
97
|
npx dsh-codebase-chat-mcp
|
|
71
98
|
```
|
|
72
99
|
|
|
73
|
-
Configure Windsurf / Cursor / Claude:
|
|
74
|
-
|
|
75
100
|
```json
|
|
76
101
|
{
|
|
77
102
|
"mcpServers": {
|
|
78
103
|
"dsh-codebase-chat": {
|
|
79
104
|
"command": "npx",
|
|
80
|
-
"args": ["dsh-codebase-chat-mcp"]
|
|
81
|
-
"env": {
|
|
82
|
-
"DEEPSEEK_API_KEY": "sk-...",
|
|
83
|
-
"CODEBASE_MODEL": "deepseek-chat"
|
|
84
|
-
}
|
|
105
|
+
"args": ["dsh-codebase-chat-mcp"]
|
|
85
106
|
}
|
|
86
107
|
}
|
|
87
108
|
}
|
|
88
109
|
```
|
|
89
110
|
|
|
90
|
-
|
|
111
|
+
> **No API key needed.** Without `DEEPSEEK_API_KEY` / `OPENAI_API_KEY`, the server runs in
|
|
112
|
+
> `promptOnly` mode and hands the assembled context to your host model. See
|
|
113
|
+
> [`mcp/README.md`](mcp/README.md) for direct-LLM configuration.
|
|
91
114
|
|
|
92
|
-
###
|
|
115
|
+
### Option C — CLI
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
npx dsh-codebase-chat --project C:\my-app --ask "how is auth handled?"
|
|
119
|
+
npx dsh-codebase-chat --project C:\my-app --search "rate limiting"
|
|
120
|
+
npx dsh-codebase-chat --project C:\my-app --file src/auth.ts
|
|
121
|
+
npx dsh-codebase-chat --project C:\my-app --stats
|
|
122
|
+
npx dsh-codebase-chat --project C:\my-app --health # deterministic static analysis, no LLM
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
`--health` runs entirely offline: circular dependencies, unused files/exports, duplicated
|
|
126
|
+
blocks, complexity hotspots, and a health score — handy as a quick quality gate.
|
|
127
|
+
|
|
128
|
+
The first run builds a cached index under `CODEBASE_CACHE_DIR`; subsequent runs are incremental.
|
|
129
|
+
|
|
130
|
+
### From source
|
|
93
131
|
|
|
94
132
|
```bash
|
|
95
133
|
git clone https://github.com/shinzarou-eng/dsh-codebase-chat.git
|
|
96
134
|
cd dsh-codebase-chat
|
|
97
|
-
pnpm install
|
|
135
|
+
pnpm install && pnpm build
|
|
98
136
|
```
|
|
99
137
|
|
|
100
138
|
---
|
|
101
139
|
|
|
102
|
-
##
|
|
140
|
+
## Tool suite
|
|
103
141
|
|
|
104
|
-
|
|
105
|
-
# Ask a question
|
|
106
|
-
dsh --profile headless '/codebase "how is auth handled?"'
|
|
142
|
+
Every capability is exposed as a DSH tool, a slash command, and an MCP tool.
|
|
107
143
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
144
|
+
| Tool | What it does |
|
|
145
|
+
| --- | --- |
|
|
146
|
+
| `codebase_chat` | Q&A on your project with cited sources |
|
|
147
|
+
| `codebase_search` | Find symbols, terms, and usages across the repo |
|
|
148
|
+
| `codebase_explain` | Explain a file or symbol — fallback symbol search included |
|
|
149
|
+
| `codebase_refactor` | Propose a concrete refactor with Before/After diff |
|
|
150
|
+
| `codebase_intelligence` | Full CTO brief: architecture, debt, security, roadmap |
|
|
151
|
+
| `codebase_audit` | Tech-debt and non-conformity scan with severity |
|
|
152
|
+
| `codebase_report` | Strategic board report — SWOT, risks, opportunities |
|
|
153
|
+
| `codebase_ceo` | One-page executive brief |
|
|
154
|
+
| `codebase_tasks` | Generate a sprinted `TASKS.md` action plan |
|
|
155
|
+
| `codebase_player` | UX / playthrough brief from a user's point of view |
|
|
156
|
+
| `codebase_crea` | Creative and marketing angles extracted from the code |
|
|
157
|
+
| `codebase_health` | **Deterministic** static analysis — circular deps, dead code, duplication, complexity, health score. No LLM needed |
|
|
158
|
+
|
|
159
|
+
Common parameters: `projectPath`, `lang` (`fr`/`en`), `embed` (local semantic embeddings),
|
|
160
|
+
`promptOnly` (MCP), `style` (reports).
|
|
161
|
+
|
|
162
|
+
### Slash commands (DeepSeek Harness)
|
|
113
163
|
|
|
114
|
-
|
|
164
|
+
```powershell
|
|
165
|
+
dsh --profile headless '/codebase "how is auth handled?" --project C:\my-app'
|
|
115
166
|
dsh --profile headless '/codebase-search "usePetStore" --project C:\my-app'
|
|
116
167
|
dsh --profile headless '/codebase-explain "storage.ts" --project C:\my-app'
|
|
117
168
|
dsh --profile headless '/codebase-refactor "split this hook" --file storage.ts --project C:\my-app'
|
|
118
|
-
|
|
119
|
-
# Professional briefs
|
|
120
169
|
dsh --profile headless '/codebase-intel --project C:\my-app'
|
|
121
|
-
dsh --profile headless '/codebase-audit --project C:\my-app'
|
|
122
|
-
dsh --profile headless '/codebase-report --project C:\my-app'
|
|
123
|
-
dsh --profile headless '/codebase-ceo --project C:\my-app'
|
|
124
|
-
dsh --profile headless '/codebase-player --project C:\my-app'
|
|
125
|
-
|
|
126
|
-
# Tasks & apply
|
|
170
|
+
dsh --profile headless '/codebase-audit --project C:\my-app --lang en'
|
|
127
171
|
dsh --profile headless '/codebase-tasks --project C:\my-app'
|
|
128
|
-
dsh --profile headless '/codebase-tasks-raw --project C:\my-app'
|
|
129
172
|
dsh --profile headless '/codebase-apply-tasks --project C:\my-app'
|
|
130
|
-
|
|
131
|
-
# Build & git
|
|
132
173
|
dsh --profile headless '/codebase-build --project C:\my-app'
|
|
133
174
|
dsh --profile headless '/codebase-git --project C:\my-app'
|
|
134
175
|
```
|
|
@@ -139,123 +180,147 @@ dsh --profile headless '/codebase-git --project C:\my-app'
|
|
|
139
180
|
|
|
140
181
|
```mermaid
|
|
141
182
|
graph LR
|
|
142
|
-
A[
|
|
143
|
-
B --> C[
|
|
144
|
-
C --> D[
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
F --> G[LLM]
|
|
148
|
-
G --> H[Structured response with citations]
|
|
183
|
+
A[Query] --> B[Index]
|
|
184
|
+
B --> C[Retrieve]
|
|
185
|
+
C --> D[Prompt]
|
|
186
|
+
D --> E[LLM]
|
|
187
|
+
E --> F[Cited answer]
|
|
149
188
|
```
|
|
150
189
|
|
|
151
|
-
1. **
|
|
152
|
-
2. **
|
|
153
|
-
3. **
|
|
154
|
-
4. **
|
|
155
|
-
5. **LLM** returns a response that includes source citations, confidence scores, and severity badges.
|
|
190
|
+
1. **Index** — real AST extraction (Babel for JS/TS, tree-sitter WASM for Python, Go, Rust, Java, C# and PHP, regex fallback elsewhere) builds a symbol-level index, cached on disk and refreshed incrementally (mtime/size based — no full re-reads).
|
|
191
|
+
2. **Retrieve** — lexical scoring plus optional local multilingual embeddings (`Xenova/paraphrase-multilingual-MiniLM-L12-v2`) select the most relevant chunks inside a token budget.
|
|
192
|
+
3. **Prompt** — a language-aware prompt is assembled with module graphs, metrics, debt signals, and file excerpts.
|
|
193
|
+
4. **Answer** — the model responds with `[source: file:line]` citations, `[Confidence: X%]`, and `[Severity: …]` labels.
|
|
156
194
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
## Evidence & scoring
|
|
160
|
-
|
|
161
|
-
Every technical claim, risk, and opportunity is marked with:
|
|
162
|
-
|
|
163
|
-
- `[source: relative/path/file.ts:line]`
|
|
164
|
-
- `[Confidence: X%]`
|
|
165
|
-
- `[Severity: Critical/High/Medium/Low]`
|
|
166
|
-
|
|
167
|
-
No fabricated citations, no hand-waving.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Multi-language
|
|
172
|
-
|
|
173
|
-
The plugin detects the user's language and generates the entire prompt in that language.
|
|
195
|
+
### Safe apply pipeline
|
|
174
196
|
|
|
175
|
-
- `
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
More languages can be added by extending the `build*Prompt` functions.
|
|
197
|
+
`/codebase-apply` and `/codebase-apply-tasks` support dry-run, create `.dsh-backups/` copies
|
|
198
|
+
before overwriting, enforce protected paths, and never write outside the selected project.
|
|
179
199
|
|
|
180
200
|
---
|
|
181
201
|
|
|
182
|
-
##
|
|
202
|
+
## Configuration
|
|
183
203
|
|
|
184
|
-
|
|
204
|
+
### `.codebase-chat.json` — per-project settings
|
|
185
205
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
206
|
+
Drop this file at the project root to tune indexing, prompts and safety. Every key
|
|
207
|
+
is optional; explicit CLI flags and tool arguments always take precedence, and a
|
|
208
|
+
missing or malformed file falls back to built-in defaults.
|
|
189
209
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
210
|
+
```json
|
|
211
|
+
{
|
|
212
|
+
"lang": "en",
|
|
213
|
+
"maxTokens": 60000,
|
|
214
|
+
"ignoreDirs": ["generated", "fixtures"],
|
|
215
|
+
"ignoreFiles": ["bundle.js"],
|
|
216
|
+
"ignoreGlobs": ["src/vendor/**", "*.snap"],
|
|
217
|
+
"protectedPaths": ["src/locked", "migrations"]
|
|
218
|
+
}
|
|
199
219
|
```
|
|
200
220
|
|
|
201
|
-
|
|
221
|
+
| Key | Effect |
|
|
222
|
+
| --- | --- |
|
|
223
|
+
| `lang` | Default prompt language (`en` or `fr`) for the CLI, MCP tools and slash commands |
|
|
224
|
+
| `maxTokens` | Default context budget when the caller passes none |
|
|
225
|
+
| `ignoreDirs` | Extra directory names skipped by indexing, `codebase_health` and the file tree |
|
|
226
|
+
| `ignoreFiles` | Extra file names skipped the same way |
|
|
227
|
+
| `ignoreGlobs` | Globs on project-relative paths — `**` spans directories, `*` one segment, `?` one char |
|
|
228
|
+
| `protectedPaths` | Extra paths the apply pipeline can never patch (adds to `DSH_PROTECTED_PATHS` and built-ins) |
|
|
229
|
+
|
|
230
|
+
### Environment variables
|
|
231
|
+
|
|
232
|
+
| Variable | Default | Purpose |
|
|
233
|
+
| --- | --- | --- |
|
|
234
|
+
| `CODEBASE_CACHE_DIR` | OS cache dir | Where the index cache lives |
|
|
235
|
+
| `DSH_PROJECT_ALIASES` | — | Extra `name=path` project aliases (`;`-separated) |
|
|
236
|
+
| `DSH_DAKO_PROJECT` | — | Override the built-in `dako` alias target |
|
|
237
|
+
| `DSH_PROTECTED_PATHS` | built-in list | Extra paths that can never be patched |
|
|
238
|
+
| `DEEPSEEK_API_KEY` / `OPENAI_API_KEY` | — | MCP direct-LLM mode only |
|
|
239
|
+
| `DEEPSEEK_BASE_URL` / `OPENAI_BASE_URL` | `https://api.deepseek.com/v1` | Custom endpoint |
|
|
240
|
+
| `CODEBASE_MODEL` | `deepseek-chat` | Model for direct-LLM mode |
|
|
202
241
|
|
|
203
242
|
---
|
|
204
243
|
|
|
205
|
-
##
|
|
244
|
+
## Project layout
|
|
206
245
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
246
|
+
```
|
|
247
|
+
├── lib/ DeepSeek Harness plugin (index.js) + Codebase Pro UI (client.js)
|
|
248
|
+
├── src/ TypeScript engine — indexer, extractor, retriever, tokenizer, context, CLI
|
|
249
|
+
├── mcp/ Standalone MCP server package (dsh-codebase-chat-mcp)
|
|
250
|
+
├── test/ Vitest suites (extractor, retriever, tasks pipeline)
|
|
251
|
+
├── docs/ Landing page (GitHub Pages) + assets
|
|
252
|
+
└── dist/ Build output (tsup)
|
|
253
|
+
```
|
|
212
254
|
|
|
213
|
-
|
|
214
|
-
Yes. The `dsh-codebase-chat-mcp` package is fully standalone.
|
|
255
|
+
### Development
|
|
215
256
|
|
|
216
|
-
|
|
217
|
-
|
|
257
|
+
```bash
|
|
258
|
+
pnpm install # install workspace deps
|
|
259
|
+
pnpm build # tsup → dist/
|
|
260
|
+
pnpm test # vitest run
|
|
261
|
+
pnpm typecheck # tsc --noEmit
|
|
262
|
+
```
|
|
218
263
|
|
|
219
264
|
---
|
|
220
265
|
|
|
221
|
-
##
|
|
266
|
+
## FAQ
|
|
222
267
|
|
|
223
|
-
|
|
268
|
+
<details>
|
|
269
|
+
<summary><strong>Does it send my code to the cloud?</strong></summary>
|
|
270
|
+
<br>
|
|
271
|
+
No. Indexing, retrieval, and prompt building run on your machine. In MCP prompt-only mode, nothing leaves your machine at all — the host model reads the assembled context directly.
|
|
272
|
+
</details>
|
|
273
|
+
|
|
274
|
+
<details>
|
|
275
|
+
<summary><strong>Do I need an API key?</strong></summary>
|
|
276
|
+
<br>
|
|
277
|
+
Not for the MCP server — without a key it returns the built prompt to the host model. A <code>DEEPSEEK_API_KEY</code> or <code>OPENAI_API_KEY</code> is only needed for direct LLM calls. Inside DeepSeek Harness, the plugin uses your configured model.
|
|
278
|
+
</details>
|
|
279
|
+
|
|
280
|
+
<details>
|
|
281
|
+
<summary><strong>Which languages are supported?</strong></summary>
|
|
282
|
+
<br>
|
|
283
|
+
French and English out of the box via the <code>lang</code> parameter on every tool and command. The prompt builders are designed to be extended.
|
|
284
|
+
</details>
|
|
285
|
+
|
|
286
|
+
<details>
|
|
287
|
+
<summary><strong>Is applying patches safe?</strong></summary>
|
|
288
|
+
<br>
|
|
289
|
+
Yes. Apply workflows support dry-run, create backups before overwriting, enforce protected paths, and keep all writes inside the selected project.
|
|
290
|
+
</details>
|
|
291
|
+
|
|
292
|
+
<details>
|
|
293
|
+
<summary><strong>Troubleshooting: EADDRINUSE on port 3080</strong></summary>
|
|
294
|
+
<br>
|
|
224
295
|
|
|
225
296
|
```powershell
|
|
226
297
|
Get-NetTCPConnection -LocalPort 3080 | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
|
|
227
298
|
```
|
|
228
299
|
|
|
229
|
-
Then restart
|
|
300
|
+
Then restart <code>dsh --profile web</code>.
|
|
301
|
+
</details>
|
|
230
302
|
|
|
231
303
|
---
|
|
232
304
|
|
|
233
305
|
## Roadmap
|
|
234
306
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
307
|
+
Highlights — see [ROADMAP.md](ROADMAP.md) for the full plan:
|
|
308
|
+
|
|
309
|
+
- **Next**: tree-sitter parsing (Python, Go, Rust, Java), watch mode, GitHub Issues export
|
|
310
|
+
- **Planned**: VS Code extension, HTTP/SSE transport, PR review mode, report export (HTML/PDF)
|
|
311
|
+
- **Exploring**: multi-repo workspaces, shared team index cache, CI bot
|
|
239
312
|
|
|
240
313
|
---
|
|
241
314
|
|
|
242
315
|
## Contributing
|
|
243
316
|
|
|
244
|
-
|
|
245
|
-
2. Create a feature branch
|
|
246
|
-
3. Run `node --check lib/index.js` before committing
|
|
247
|
-
4. Open a PR against `main`
|
|
248
|
-
|
|
249
|
-
See [CONTRIBUTING.md](https://github.com/shinzarou-eng/dsh-codebase-chat/blob/main/CONTRIBUTING.md) for details.
|
|
250
|
-
|
|
251
|
-
---
|
|
317
|
+
Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md). Run `pnpm typecheck && pnpm test` before opening a PR.
|
|
252
318
|
|
|
253
319
|
## Support
|
|
254
320
|
|
|
255
|
-
Open an issue
|
|
256
|
-
|
|
257
|
-
---
|
|
321
|
+
- [Open an issue](https://github.com/shinzarou-eng/dsh-codebase-chat/issues)
|
|
322
|
+
- [SUPPORT.md](SUPPORT.md)
|
|
258
323
|
|
|
259
324
|
## License
|
|
260
325
|
|
|
261
|
-
[MIT](
|
|
326
|
+
[MIT](LICENSE) — Built and maintained by [shinzarou-eng](https://github.com/shinzarou-eng).
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|