@autodevjapan/godd-mcp-alpha 1.25.17 → 1.25.18
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 +305 -16
- package/dist/godd.cjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,162 @@
|
|
|
1
1
|
# GoDD MCP α Server
|
|
2
2
|
|
|
3
|
+
[🇺🇸 English](#english) | [🇯🇵 日本語](#日本語) | [🇷🇺 Русский](#русский)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## English
|
|
8
|
+
|
|
9
|
+
AI prompt delivery system for Cursor IDE. Delivers project-optimized prompts, mindsets, and agent definitions via MCP (Model Context Protocol).
|
|
10
|
+
|
|
11
|
+
### Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g @autodevjapan/godd-mcp-alpha
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Setup (Recommended)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Register the MCP server with Cursor IDE (auto-generates mcp.json)
|
|
21
|
+
godd-a install --license-key=YOUR_LICENSE_KEY
|
|
22
|
+
|
|
23
|
+
# Auto-generate project config.godd (interactive)
|
|
24
|
+
godd-a init
|
|
25
|
+
|
|
26
|
+
# Or fully automatic mode (for CI/CD)
|
|
27
|
+
godd-a init --auto
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
> **Use `godd-a install`.** Manual editing of mcp.json is not recommended.
|
|
31
|
+
> `godd-a install` correctly configures the startup command, PATH, and license key.
|
|
32
|
+
|
|
33
|
+
### Manual mcp.json Configuration
|
|
34
|
+
|
|
35
|
+
If `godd-a install` is unavailable, you can edit `~/.cursor/mcp.json` directly.
|
|
36
|
+
**The `serve` argument is required.** Without it, the installer mode starts and MCP communication breaks.
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"godd-a": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "@autodevjapan/godd-mcp-alpha@latest", "serve"],
|
|
44
|
+
"env": {
|
|
45
|
+
"GODD_LICENSE_KEY": "GODD-XXXX-XXXX"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Usage
|
|
53
|
+
|
|
54
|
+
After installation, restart Cursor IDE and the GoDD MCP α server will start automatically.
|
|
55
|
+
|
|
56
|
+
In Cursor chat, simply ask the AI to use a specific tool (e.g., "run dev", "do a review"). The AI will automatically discover and invoke the appropriate GoDD tool.
|
|
57
|
+
|
|
58
|
+
### GoDD Prompts
|
|
59
|
+
|
|
60
|
+
Available GoDD prompts (MCP tools) in Cursor IDE:
|
|
61
|
+
|
|
62
|
+
| Prompt | Description |
|
|
63
|
+
|---|---|
|
|
64
|
+
| `dev` | Development (plan → implement → test → quality → docs in stages) |
|
|
65
|
+
| `check` | Quality gate (verify spec alignment, tests, types, lint, security) |
|
|
66
|
+
| `docs` | Generate/update documentation |
|
|
67
|
+
| `ship` | Ship (commit at proper granularity → quality check → push → create PR) |
|
|
68
|
+
| `setup` | Environment setup (with recommended stack presets, confirms missing info) |
|
|
69
|
+
| `review` | Review (CTO-level review + quality gate) |
|
|
70
|
+
| `test` | Run/create tests |
|
|
71
|
+
| `impact` | Impact analysis |
|
|
72
|
+
| `commit` | Commit changes |
|
|
73
|
+
| `push` | Push to remote |
|
|
74
|
+
| `pr` | Create PR (template-compliant) |
|
|
75
|
+
| `deploy` | Deploy (with verification & rollback plan) |
|
|
76
|
+
| `adr` | Create ADR (Architecture Decision Record) |
|
|
77
|
+
| `release` | Generate release notes (SemVer-compliant) |
|
|
78
|
+
| `github` | GitHub configuration (repository/branch protection etc.) |
|
|
79
|
+
| `config` | Generate/repair config.godd (auto-detect stack + validation) |
|
|
80
|
+
| `questions` | Manage question list (質問リスト.md) interactively |
|
|
81
|
+
| `e2e` | Browser-based E2E testing (execute & verify critical user flows) |
|
|
82
|
+
| `map` | Project knowledge graph (visualize architecture & dependencies with Mermaid) |
|
|
83
|
+
| `learn` | Save/recall project-specific patterns, conventions, and pitfalls |
|
|
84
|
+
| `diagram` | Auto-update architecture diagrams (maintain living Mermaid docs in sync with code) |
|
|
85
|
+
| `slide` | Generate presentation slides from project docs (Marp Markdown format) |
|
|
86
|
+
| `design` | Generate/update visual designs from codebase (Pencil.dev sync) |
|
|
87
|
+
|
|
88
|
+
### CLI Commands
|
|
89
|
+
|
|
90
|
+
| Command | Description |
|
|
91
|
+
|---|---|
|
|
92
|
+
| `godd-a install [--license-key=KEY]` | Register MCP server with Cursor |
|
|
93
|
+
| `godd-a init [--force] [--lang=LANG] [--auto]` | Generate project config.godd |
|
|
94
|
+
| `godd-a uninstall` | Remove MCP server from Cursor |
|
|
95
|
+
| `godd-a serve` | Start MCP stdio server (auto-invoked by Cursor) |
|
|
96
|
+
|
|
97
|
+
### Getting a License Key
|
|
98
|
+
|
|
99
|
+
A license key is required to use GoDD MCP. Follow these steps:
|
|
100
|
+
|
|
101
|
+
1. Check plans at the [GoDD official site](https://www.getgodd.dev/pricing)
|
|
102
|
+
2. [Register an account](https://www.getgodd.dev/godd-admin/register) and purchase a subscription
|
|
103
|
+
3. Issue a license key from your [dashboard](https://www.getgodd.dev/godd-admin/dashboard)
|
|
104
|
+
|
|
105
|
+
Set the issued license key with `godd-a install --license-key=YOUR_KEY`.
|
|
106
|
+
|
|
107
|
+
### Requirements
|
|
108
|
+
|
|
109
|
+
- Node.js 22+
|
|
110
|
+
- Cursor IDE
|
|
111
|
+
- GoDD license key (get one at [official site](https://www.getgodd.dev/pricing))
|
|
112
|
+
|
|
113
|
+
### Troubleshooting
|
|
114
|
+
|
|
115
|
+
#### "0 tools available" is shown
|
|
116
|
+
|
|
117
|
+
If Cursor's MCP log shows errors like:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Unexpected end of JSON input
|
|
121
|
+
Unexpected token 'G', "GoDD MCP α"... is not valid JSON
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Cause**: `mcp.json` `args` does not include `"serve"`. Without it, the installer mode starts (human-readable text output) and breaks the JSON-RPC communication Cursor expects.
|
|
125
|
+
|
|
126
|
+
**Fix**:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Reinstall to regenerate mcp.json correctly
|
|
130
|
+
npx -y @autodevjapan/godd-mcp-alpha install --license-key=YOUR_KEY
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Then restart Cursor.
|
|
134
|
+
|
|
135
|
+
#### License key is bound to another device
|
|
136
|
+
|
|
137
|
+
GoDD license keys are bound to a device. To use on a different device, issue a new license key.
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
godd-a install --license-key=NEW_LICENSE_KEY
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### License
|
|
144
|
+
|
|
145
|
+
Proprietary — A GoDD license key is required. Purchase at the [official site](https://www.getgodd.dev/pricing).
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 日本語
|
|
150
|
+
|
|
3
151
|
Cursor IDE 向けの AI プロンプト配信システム。MCP (Model Context Protocol) を通じて、プロジェクトの技術スタックに最適化されたプロンプト・マインドセット・エージェント定義を提供します。
|
|
4
152
|
|
|
5
|
-
|
|
153
|
+
### インストール
|
|
6
154
|
|
|
7
155
|
```bash
|
|
8
156
|
npm install -g @autodevjapan/godd-mcp-alpha
|
|
9
157
|
```
|
|
10
158
|
|
|
11
|
-
|
|
159
|
+
### セットアップ(推奨)
|
|
12
160
|
|
|
13
161
|
```bash
|
|
14
162
|
# Cursor IDE に MCP サーバーを登録(mcp.json を自動生成)
|
|
@@ -21,12 +169,12 @@ godd-a init
|
|
|
21
169
|
godd-a init --auto
|
|
22
170
|
```
|
|
23
171
|
|
|
24
|
-
> **`godd-a install` を使ってください。** mcp.json の手動編集は非推奨です。
|
|
172
|
+
> **`godd-a install` を使ってください。** mcp.json の手動編集は非推奨です。
|
|
25
173
|
> `godd-a install` は起動コマンド・PATH・ライセンスキーを正しく設定します。
|
|
26
174
|
|
|
27
|
-
|
|
175
|
+
### mcp.json を手動で設定する場合
|
|
28
176
|
|
|
29
|
-
`godd-a install` が使えない環境では、`~/.cursor/mcp.json` を直接編集できます。
|
|
177
|
+
`godd-a install` が使えない環境では、`~/.cursor/mcp.json` を直接編集できます。
|
|
30
178
|
**`serve` 引数は必須です。** 省略するとインストーラーモードで起動し、MCP 通信が破綻します。
|
|
31
179
|
|
|
32
180
|
```json
|
|
@@ -43,13 +191,13 @@ godd-a init --auto
|
|
|
43
191
|
}
|
|
44
192
|
```
|
|
45
193
|
|
|
46
|
-
|
|
194
|
+
### 使い方
|
|
47
195
|
|
|
48
196
|
インストール後、Cursor IDE を再起動すると GoDD MCP α サーバーが自動で起動します。
|
|
49
197
|
|
|
50
|
-
Cursor のチャットで
|
|
198
|
+
Cursor のチャットで AI に使いたいツールを指示してください(例:「dev して」「レビューして」)。AI が GoDD のツールを自動的に検出して呼び出します。
|
|
51
199
|
|
|
52
|
-
|
|
200
|
+
### GoDD プロンプト一覧
|
|
53
201
|
|
|
54
202
|
Cursor IDE 上で利用できる GoDD プロンプト(MCP ツール)の一覧です。
|
|
55
203
|
|
|
@@ -73,14 +221,13 @@ Cursor IDE 上で利用できる GoDD プロンプト(MCP ツール)の一
|
|
|
73
221
|
| `config` | config.godd を正確に生成・修正する(スタック自動検出 + バリデーション) |
|
|
74
222
|
| `questions` | 質問リスト(質問リスト.md)からインタラクティブに質問を管理 |
|
|
75
223
|
| `e2e` | ブラウザベース E2E テスト(重要ユーザーフローの実行・検証) |
|
|
76
|
-
| `benchmark` | 競合プロンプト分析(GoDD vs Cursor Rules / Claude Code / Codex を比較) |
|
|
77
224
|
| `map` | プロジェクトナレッジグラフ(Mermaid でアーキテクチャ・依存関係を可視化) |
|
|
78
225
|
| `learn` | プロジェクト固有のパターン・慣例・落とし穴を保存/参照 |
|
|
79
226
|
| `diagram` | アーキテクチャ図の自動更新(コードと同期した Mermaid ドキュメントを維持) |
|
|
80
227
|
| `slide` | プロジェクトドキュメントからプレゼンスライドを生成(Marp Markdown 形式) |
|
|
81
228
|
| `design` | コードベースからビジュアルデザインを生成/更新(Pencil.dev 同期) |
|
|
82
229
|
|
|
83
|
-
|
|
230
|
+
### CLI コマンド
|
|
84
231
|
|
|
85
232
|
| コマンド | 説明 |
|
|
86
233
|
|---|---|
|
|
@@ -89,7 +236,7 @@ Cursor IDE 上で利用できる GoDD プロンプト(MCP ツール)の一
|
|
|
89
236
|
| `godd-a uninstall` | Cursor から MCP サーバーを削除 |
|
|
90
237
|
| `godd-a serve` | MCP stdio サーバーを起動(Cursor が自動呼び出し) |
|
|
91
238
|
|
|
92
|
-
|
|
239
|
+
### ライセンスキーの取得
|
|
93
240
|
|
|
94
241
|
GoDD MCP を利用するにはライセンスキーが必要です。以下の手順で取得できます。
|
|
95
242
|
|
|
@@ -99,15 +246,15 @@ GoDD MCP を利用するにはライセンスキーが必要です。以下の
|
|
|
99
246
|
|
|
100
247
|
発行されたライセンスキーを `godd-a install --license-key=YOUR_KEY` で設定してください。
|
|
101
248
|
|
|
102
|
-
|
|
249
|
+
### 動作要件
|
|
103
250
|
|
|
104
251
|
- Node.js 22 以上
|
|
105
252
|
- Cursor IDE
|
|
106
253
|
- GoDD ライセンスキー([公式サイト](https://www.getgodd.dev/pricing)で取得)
|
|
107
254
|
|
|
108
|
-
|
|
255
|
+
### トラブルシューティング
|
|
109
256
|
|
|
110
|
-
|
|
257
|
+
#### 「利用可能なツールが 0 個」と表示される
|
|
111
258
|
|
|
112
259
|
Cursor の MCP ログに以下のようなエラーが出ている場合:
|
|
113
260
|
|
|
@@ -127,7 +274,7 @@ npx -y @autodevjapan/godd-mcp-alpha install --license-key=YOUR_KEY
|
|
|
127
274
|
|
|
128
275
|
その後 Cursor を再起動してください。
|
|
129
276
|
|
|
130
|
-
|
|
277
|
+
#### ライセンスキーが別の端末に紐づいていると表示される
|
|
131
278
|
|
|
132
279
|
GoDD のライセンスキーは端末(デバイス)に紐づきます。別端末で使用する場合は新しいライセンスキーを発行してください。
|
|
133
280
|
|
|
@@ -135,6 +282,148 @@ GoDD のライセンスキーは端末(デバイス)に紐づきます。別
|
|
|
135
282
|
godd-a install --license-key=NEW_LICENSE_KEY
|
|
136
283
|
```
|
|
137
284
|
|
|
138
|
-
|
|
285
|
+
### ライセンス
|
|
139
286
|
|
|
140
287
|
Proprietary — GoDD ライセンスキーが必要です。[公式サイト](https://www.getgodd.dev/pricing)からご購入いただけます。
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Русский
|
|
292
|
+
|
|
293
|
+
Система доставки AI-промптов для Cursor IDE. Предоставляет оптимизированные под технологический стек проекта промпты, мировоззрения и определения агентов через MCP (Model Context Protocol).
|
|
294
|
+
|
|
295
|
+
### Установка
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
npm install -g @autodevjapan/godd-mcp-alpha
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Настройка (рекомендуется)
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
# Зарегистрировать MCP-сервер в Cursor IDE (автоматическая генерация mcp.json)
|
|
305
|
+
godd-a install --license-key=YOUR_LICENSE_KEY
|
|
306
|
+
|
|
307
|
+
# Автоматическая генерация config.godd для проекта (интерактивный режим)
|
|
308
|
+
godd-a init
|
|
309
|
+
|
|
310
|
+
# Или полностью автоматический режим (для CI/CD)
|
|
311
|
+
godd-a init --auto
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
> **Используйте `godd-a install`.** Ручное редактирование mcp.json не рекомендуется.
|
|
315
|
+
> `godd-a install` корректно настраивает команду запуска, PATH и лицензионный ключ.
|
|
316
|
+
|
|
317
|
+
### Ручная настройка mcp.json
|
|
318
|
+
|
|
319
|
+
Если `godd-a install` недоступен, можно напрямую отредактировать `~/.cursor/mcp.json`.
|
|
320
|
+
**Аргумент `serve` обязателен.** Без него запускается режим установщика, и MCP-коммуникация нарушается.
|
|
321
|
+
|
|
322
|
+
```json
|
|
323
|
+
{
|
|
324
|
+
"mcpServers": {
|
|
325
|
+
"godd-a": {
|
|
326
|
+
"command": "npx",
|
|
327
|
+
"args": ["-y", "@autodevjapan/godd-mcp-alpha@latest", "serve"],
|
|
328
|
+
"env": {
|
|
329
|
+
"GODD_LICENSE_KEY": "GODD-XXXX-XXXX"
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Использование
|
|
337
|
+
|
|
338
|
+
После установки перезапустите Cursor IDE — сервер GoDD MCP α запустится автоматически.
|
|
339
|
+
|
|
340
|
+
В чате Cursor просто попросите AI использовать нужный инструмент (например, «запусти dev», «сделай review»). AI автоматически обнаружит и вызовет соответствующий инструмент GoDD.
|
|
341
|
+
|
|
342
|
+
### Список промптов GoDD
|
|
343
|
+
|
|
344
|
+
Доступные промпты GoDD (MCP-инструменты) в Cursor IDE:
|
|
345
|
+
|
|
346
|
+
| Промпт | Описание |
|
|
347
|
+
|---|---|
|
|
348
|
+
| `dev` | Разработка (поэтапно: план → реализация → тесты → качество → документация) |
|
|
349
|
+
| `check` | Контроль качества (проверка соответствия спецификации, тесты, типы, линтер, безопасность) |
|
|
350
|
+
| `docs` | Генерация/обновление документации |
|
|
351
|
+
| `ship` | Отправка (коммит с правильной гранулярностью → проверка качества → push → создание PR) |
|
|
352
|
+
| `setup` | Настройка среды (с рекомендуемыми пресетами стека, уточнение недостающей информации) |
|
|
353
|
+
| `review` | Ревью (уровень CTO + контроль качества) |
|
|
354
|
+
| `test` | Запуск/создание тестов |
|
|
355
|
+
| `impact` | Анализ влияния |
|
|
356
|
+
| `commit` | Коммит изменений |
|
|
357
|
+
| `push` | Push на удалённый репозиторий |
|
|
358
|
+
| `pr` | Создание PR (по шаблону) |
|
|
359
|
+
| `deploy` | Деплой (с верификацией и планом отката) |
|
|
360
|
+
| `adr` | Создание ADR (Architecture Decision Record) |
|
|
361
|
+
| `release` | Генерация заметок к релизу (SemVer-совместимые) |
|
|
362
|
+
| `github` | Настройка GitHub (защита репозитория/веток и т.д.) |
|
|
363
|
+
| `config` | Генерация/исправление config.godd (автодетект стека + валидация) |
|
|
364
|
+
| `questions` | Управление списком вопросов (質問リスト.md) в интерактивном режиме |
|
|
365
|
+
| `e2e` | E2E-тестирование в браузере (выполнение и проверка критических пользовательских потоков) |
|
|
366
|
+
| `map` | Граф знаний проекта (визуализация архитектуры и зависимостей через Mermaid) |
|
|
367
|
+
| `learn` | Сохранение/вызов специфичных для проекта паттернов, соглашений и подводных камней |
|
|
368
|
+
| `diagram` | Автообновление архитектурных диаграмм (поддержка актуальных Mermaid-документов) |
|
|
369
|
+
| `slide` | Генерация презентационных слайдов из документации проекта (формат Marp Markdown) |
|
|
370
|
+
| `design` | Генерация/обновление визуального дизайна из кодовой базы (синхронизация с Pencil.dev) |
|
|
371
|
+
|
|
372
|
+
### Команды CLI
|
|
373
|
+
|
|
374
|
+
| Команда | Описание |
|
|
375
|
+
|---|---|
|
|
376
|
+
| `godd-a install [--license-key=KEY]` | Зарегистрировать MCP-сервер в Cursor |
|
|
377
|
+
| `godd-a init [--force] [--lang=LANG] [--auto]` | Сгенерировать config.godd для проекта |
|
|
378
|
+
| `godd-a uninstall` | Удалить MCP-сервер из Cursor |
|
|
379
|
+
| `godd-a serve` | Запустить MCP stdio-сервер (автоматически вызывается Cursor) |
|
|
380
|
+
|
|
381
|
+
### Получение лицензионного ключа
|
|
382
|
+
|
|
383
|
+
Для использования GoDD MCP необходим лицензионный ключ. Получите его следующим образом:
|
|
384
|
+
|
|
385
|
+
1. Ознакомьтесь с тарифными планами на [официальном сайте GoDD](https://www.getgodd.dev/pricing)
|
|
386
|
+
2. [Зарегистрируйте аккаунт](https://www.getgodd.dev/godd-admin/register) и приобретите подписку
|
|
387
|
+
3. Выпустите лицензионный ключ в [личном кабинете](https://www.getgodd.dev/godd-admin/dashboard)
|
|
388
|
+
|
|
389
|
+
Установите полученный ключ командой `godd-a install --license-key=YOUR_KEY`.
|
|
390
|
+
|
|
391
|
+
### Системные требования
|
|
392
|
+
|
|
393
|
+
- Node.js 22+
|
|
394
|
+
- Cursor IDE
|
|
395
|
+
- Лицензионный ключ GoDD (получите на [официальном сайте](https://www.getgodd.dev/pricing))
|
|
396
|
+
|
|
397
|
+
### Устранение неполадок
|
|
398
|
+
|
|
399
|
+
#### Отображается «0 доступных инструментов»
|
|
400
|
+
|
|
401
|
+
Если в логах MCP Cursor отображаются ошибки вида:
|
|
402
|
+
|
|
403
|
+
```
|
|
404
|
+
Unexpected end of JSON input
|
|
405
|
+
Unexpected token 'G', "GoDD MCP α"... is not valid JSON
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**Причина**: В `args` файла `mcp.json` отсутствует `"serve"`. Без него запускается режим установщика (текстовый вывод для человека), что нарушает JSON-RPC коммуникацию, ожидаемую Cursor.
|
|
409
|
+
|
|
410
|
+
**Решение**:
|
|
411
|
+
|
|
412
|
+
```bash
|
|
413
|
+
# Переустановите для правильной регенерации mcp.json
|
|
414
|
+
npx -y @autodevjapan/godd-mcp-alpha install --license-key=YOUR_KEY
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
Затем перезапустите Cursor.
|
|
418
|
+
|
|
419
|
+
#### Лицензионный ключ привязан к другому устройству
|
|
420
|
+
|
|
421
|
+
Лицензионные ключи GoDD привязываются к устройству. Для использования на другом устройстве выпустите новый ключ.
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
godd-a install --license-key=NEW_LICENSE_KEY
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
### Лицензия
|
|
428
|
+
|
|
429
|
+
Проприетарная — требуется лицензионный ключ GoDD. Приобретите на [официальном сайте](https://www.getgodd.dev/pricing).
|
package/dist/godd.cjs
CHANGED
|
@@ -187,7 +187,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
187
187
|
`);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),L4(r)}clear(){this._buffer=void 0}};function L4(e){return zx.parse(JSON.parse(e))}function II(e){return JSON.stringify(e)+`
|
|
188
188
|
`}var Nf=class{constructor(t=p_.default.stdin,r=p_.default.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new jf,this._started=!1,this._ondata=i=>{this._readBuffer.append(i),this.processReadBuffer()},this._onerror=i=>{this.onerror?.(i)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let i=II(t);this._stdout.write(i)?r():this._stdout.once("drain",r)})}};var zI=process.env.GODD_BRAND_PREFIX??"godd",cn="godd",V={displayName:"GoDD MCP \u03B1",cli:"godd-a",mcpKey:"godd-a",configFile:`config.${zI}`,licensePrefix:zI.toUpperCase(),toolPrefix:""};var Tp=require("node:fs"),hT=require("node:path"),yT=Uo(Jb(),1);var bc=["en","ja","ru"];function Co(e){return bc.includes(e)?e:null}var m2=F.object({vcs:F.string().optional(),browser_automation:F.string().optional(),e2e_testing:F.string().optional(),unit_testing:F.string().optional(),linting:F.string().optional(),formatting:F.string().optional(),type_checking:F.string().optional(),coverage:F.string().optional(),documentation:F.string().optional(),secret_scanning:F.string().optional(),security_analysis:F.string().optional(),unused_code:F.string().optional(),dependency_analysis:F.string().optional()}),g2=F.object({docs_dir:F.string().default("documents"),generate_gitattributes:F.preprocess(e=>e==="true"?!0:e==="false"?!1:e,F.boolean().default(!0)),generate_dependabot:F.preprocess(e=>e==="true"?!0:e==="false"?!1:e,F.boolean().default(!0))}),h2=F.object({tool:F.string().optional(),auto_suggest:F.preprocess(e=>e==="true"?!0:e==="false"?!1:e,F.boolean().optional()),design_review:F.preprocess(e=>e==="true"?!0:e==="false"?!1:e,F.boolean().optional())}),Hb=F.enum(bc),gT=F.object({display_language:Hb.default("en"),main_language:Hb.default("en"),sub_languages:F.array(Hb).default([]),programming_languages:F.array(F.string()).default([]),frontend:F.array(F.string()).default([]),backend:F.array(F.string()).default([]),database:F.array(F.string()).default([]),orm:F.array(F.string()).default([]),infra:F.array(F.string()).default([]),game:F.array(F.string()).default([]),mobile:F.array(F.string()).default([]),other:F.array(F.string()).default([]),tools:m2.default({}),design:h2.default({}),godd_files:g2.default({docs_dir:"documents",generate_gitattributes:!0,generate_dependabot:!0})});function Ep(e=process.cwd()){let t=(0,hT.resolve)(e,V.configFile);if(!(0,Tp.existsSync)(t))return null;try{let r=(0,Tp.readFileSync)(t,"utf-8"),i=(0,yT.parse)(r)??{};return y2(i),v2(i),gT.parse(i)}catch(r){return console.error(`[${V.displayName}] Failed to parse ${V.configFile}:`,r instanceof Error?r.message:r),null}}function y2(e){if("language"in e&&!("display_language"in e)){let t=e.language;e.display_language=t,e.main_language=t,delete e.language}}function v2(e){if("e2e_tool"in e){let t=typeof e.tools=="object"&&!Array.isArray(e.tools)?e.tools:{};t.e2e_testing=e.e2e_tool,e.tools=t,delete e.e2e_tool}for(let t of["tools","design","godd_files"]){let r=e[t];(r==null||Array.isArray(r)&&r.length===0)&&(e[t]={})}}var jp=new Set(["typescript","javascript","python","java","csharp","cpp","c","go","rust","php","swift","kotlin","ruby","dart","r","scala","objective-c","sql","html-css","bash","elixir","haskell","perl","lua","julia","clojure","fsharp","groovy","visual-basic","powershell","erlang","ocaml","zig","nim","crystal","solidity","fortran","cobol","assembly","d","ada","v","pascal","prolog","gdscript","gdshader"]),Np=new Set(["react","nextjs","vue","nuxt","svelte","angular","flutter","blazor","solid","astro","remix","qwik","ember","htmx","alpine","vite","electron","tauri","liftkit"]),Op=new Set(["express","nestjs","hono","fastify","fastapi","django","flask","gin","echo","fiber","chi","spring-boot","quarkus","micronaut","ktor","laravel","symfony","slim","codeigniter","cakephp","rails","sinatra","hanami","actix-web","axum","rocket","phoenix","aspnet","vapor","play","akka-http","servant","yesod","mojolicious","dancer","ring","pedestal","dart-frog"]),Cp=new Set(["postgresql","mysql","mongodb","redis","sqlite","dynamodb","cassandra","neo4j","elasticsearch","supabase","firebase","cockroachdb"]),Dp=new Set(["prisma","drizzle","typeorm","sequelize","sqlalchemy","tortoise-orm","eloquent","doctrine","activerecord","hibernate","mybatis","entity-framework","gorm","ent","diesel","sea-orm","ecto","exposed","peewee","django-orm"]),Ap=new Set(["docker","terraform","vercel","aws","gcp","github-actions","azure","cloudflare","fly-io","render","heroku","kubernetes","ansible","pulumi","netlify","railway"]),Rp=new Set(["react-native","expo","flutter","swiftui","uikit","jetpack-compose","kotlin-multiplatform","ionic","capacitor","maui","xamarin","tauri-mobile","nativescript"]),Mp=new Set(["godot","phaser","pyxel","unity","unreal","bevy","love2d","monogame","pygame","libgdx","cocos2d","defold","renpy"]),_2={typescript:{frontend:["react","nextjs","vue","nuxt","svelte","angular","solid","astro","remix","qwik","ember","htmx","alpine","vite","electron","tauri","liftkit"],backend:["express","nestjs","hono","fastify"],orm:["prisma","drizzle","typeorm","sequelize"],mobile:["react-native","expo","ionic","capacitor","nativescript"]},javascript:{frontend:["react","nextjs","vue","nuxt","svelte","angular","solid","astro","remix","qwik","ember","htmx","alpine","vite","electron","tauri","liftkit"],backend:["express","nestjs","hono","fastify"],orm:["prisma","drizzle","typeorm","sequelize"],mobile:["react-native","expo","ionic","capacitor","nativescript"]},python:{backend:["fastapi","django","flask"],orm:["sqlalchemy","tortoise-orm","peewee","django-orm"],game:["pygame","renpy","pyxel"]},go:{backend:["gin","echo","fiber","chi"],orm:["gorm","ent"]},rust:{frontend:["tauri"],backend:["actix-web","axum","rocket"],orm:["diesel","sea-orm"],game:["bevy"]},java:{backend:["spring-boot","quarkus","micronaut"],orm:["hibernate","mybatis"],mobile:["jetpack-compose"],game:["libgdx"]},kotlin:{backend:["spring-boot","ktor"],orm:["exposed","hibernate"],mobile:["jetpack-compose","kotlin-multiplatform"]},php:{backend:["laravel","symfony","slim","codeigniter","cakephp"],orm:["eloquent","doctrine"]},ruby:{backend:["rails","sinatra","hanami"],orm:["activerecord"]},swift:{backend:["vapor"],mobile:["swiftui","uikit"]},dart:{frontend:["flutter"],backend:["dart-frog"],mobile:["flutter"]},csharp:{backend:["aspnet"],orm:["entity-framework"],mobile:["maui","xamarin"],game:["unity","monogame"]},elixir:{backend:["phoenix"],orm:["ecto"]},scala:{backend:["play","akka-http"]},haskell:{backend:["servant","yesod"]},perl:{backend:["mojolicious","dancer"]},clojure:{backend:["ring","pedestal"]},lua:{game:["love2d","defold"]},gdscript:{game:["godot"]},cpp:{game:["unreal","cocos2d","godot"]}};function Do(e,t,r){if(r.length===0)return e;let i=new Set;for(let n of r){let o=_2[n];if(!o)continue;let s=o[t];if(s)for(let a of s)i.add(a)}return i.size===0?e:e.filter(n=>i.has(n))}function b2(e,t){let r=e.length,i=t.length,n=Array.from({length:r+1},()=>Array(i+1).fill(0));for(let o=0;o<=r;o++)n[o][0]=o;for(let o=0;o<=i;o++)n[0][o]=o;for(let o=1;o<=r;o++)for(let s=1;s<=i;s++){let a=e[o-1]===t[s-1]?0:1;n[o][s]=Math.min(n[o-1][s]+1,n[o][s-1]+1,n[o-1][s-1]+a)}return n[r][i]}function $2(e,t,r=2){let i=null,n=r+1;for(let o of t){if(Math.abs(o.length-e.length)>r)continue;let s=b2(e.toLowerCase(),o.toLowerCase());s<n&&(n=s,i=o)}return i}var k2=[{field:"programming_languages",known:jp},{field:"frontend",known:Np},{field:"backend",known:Op},{field:"database",known:Cp},{field:"orm",known:Dp},{field:"infra",known:Ap},{field:"game",known:Mp},{field:"mobile",known:Rp}];function qp(e){let t=[];for(let{field:r,known:i}of k2){let n=e[r];if(Array.isArray(n))for(let o of n)typeof o=="string"&&(i.has(o)||t.push({field:r,value:o,suggestion:$2(o,i)}))}return t}var bT=[{field:"display_language",type:"string",descriptions:{en:"GoDD display language (en / ja / ru)",ja:"GoDD \u306E\u8868\u793A\u8A00\u8A9E\uFF08en / ja / ru\uFF09",ru:"\u042F\u0437\u044B\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F GoDD (en / ja / ru)"},values:["en","ja","ru"]},{field:"main_language",type:"string",descriptions:{en:"Project main language (en / ja / ru)",ja:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30A4\u30F3\u8A00\u8A9E\uFF08en / ja / ru\uFF09",ru:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (en / ja / ru)"},values:["en","ja","ru"]},{field:"sub_languages",type:"string[]",descriptions:{en:"Team sub-languages",ja:"\u30C1\u30FC\u30E0\u306E\u30B5\u30D6\u8A00\u8A9E",ru:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B"},values:["en","ja","ru"]},{field:"programming_languages",type:"string[]",descriptions:{en:"Programming languages",ja:"\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E",ru:"\u042F\u0437\u044B\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F"},values:[...jp]},{field:"frontend",type:"string[]",descriptions:{en:"Frontend frameworks",ja:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",ru:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438"},values:[...Np]},{field:"backend",type:"string[]",descriptions:{en:"Backend frameworks",ja:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",ru:"\u0411\u044D\u043A\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438"},values:[...Op]},{field:"database",type:"string[]",descriptions:{en:"Databases",ja:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",ru:"\u0411\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445"},values:[...Cp]},{field:"orm",type:"string[]",descriptions:{en:"ORM",ja:"ORM",ru:"ORM"},values:[...Dp]},{field:"infra",type:"string[]",descriptions:{en:"Infrastructure",ja:"\u30A4\u30F3\u30D5\u30E9",ru:"\u0418\u043D\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430"},values:[...Ap]},{field:"game",type:"string[]",descriptions:{en:"Game engines / frameworks",ja:"\u30B2\u30FC\u30E0\u30A8\u30F3\u30B8\u30F3 / \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",ru:"\u0418\u0433\u0440\u043E\u0432\u044B\u0435 \u0434\u0432\u0438\u0436\u043A\u0438 / \u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438"},values:[...Mp]},{field:"mobile",type:"string[]",descriptions:{en:"Mobile / Cross-platform",ja:"\u30E2\u30D0\u30A4\u30EB / \u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0",ru:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 / \u041A\u0440\u043E\u0441\u0441\u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0435\u043D\u043D\u044B\u0435"},values:[...Rp]},{field:"other",type:"string[]",descriptions:{en:"Other (no validation, free text)",ja:"\u305D\u306E\u4ED6\uFF08\u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\u30F3\u5BFE\u8C61\u5916\u3001\u81EA\u7531\u8A18\u8FF0\uFF09",ru:"\u041F\u0440\u043E\u0447\u0435\u0435 (\u0431\u0435\u0437 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u0438, \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442)"},values:[]},{field:"design",type:"object",descriptions:{en:"Design tool integration (tool: pencil/figma, auto_suggest: true/false, design_review: true/false)",ja:"\u30C7\u30B6\u30A4\u30F3\u30C4\u30FC\u30EB\u9023\u643A\uFF08tool: pencil/figma\u3001auto_suggest: true/false\u3001design_review: true/false\uFF09",ru:"\u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044F \u0434\u0438\u0437\u0430\u0439\u043D-\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 (tool: pencil/figma, auto_suggest: true/false, design_review: true/false)"},values:[]},{field:"godd_files",type:"object",descriptions:{en:"GoDD managed files settings (docs_dir: path string, generate_gitattributes: true/false, generate_dependabot: true/false)",ja:"GoDD \u7BA1\u7406\u30D5\u30A1\u30A4\u30EB\u8A2D\u5B9A\uFF08docs_dir: \u30D1\u30B9\u6587\u5B57\u5217\u3001generate_gitattributes: true/false\u3001generate_dependabot: true/false\uFF09",ru:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0444\u0430\u0439\u043B\u043E\u0432 GoDD (docs_dir: \u0441\u0442\u0440\u043E\u043A\u0430 \u043F\u0443\u0442\u0438, generate_gitattributes: true/false, generate_dependabot: true/false)"},values:[]}];function $T(){return new Set([...bT.map(e=>e.field),"tools"])}var vT={en:{validValues:"Valid values",toolsDescription:"Tool settings (optional). Keys: vcs, browser_automation, e2e_testing, unit_testing, linting, formatting, type_checking, coverage, documentation, secret_scanning, security_analysis, unused_code, dependency_analysis"},ja:{validValues:"\u6709\u52B9\u5024",toolsDescription:"\u30C4\u30FC\u30EB\u8A2D\u5B9A\uFF08\u7701\u7565\u53EF\uFF09\u3002\u30AD\u30FC: vcs, browser_automation, e2e_testing, unit_testing, linting, formatting, type_checking, coverage, documentation, secret_scanning, security_analysis, unused_code, dependency_analysis"},ru:{validValues:"\u0414\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F",toolsDescription:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E). \u041A\u043B\u044E\u0447\u0438: vcs, browser_automation, e2e_testing, unit_testing, linting, formatting, type_checking, coverage, documentation, secret_scanning, security_analysis, unused_code, dependency_analysis"}};function kT(e="ja"){let t=vT[e]??vT.en,r=[];for(let i of bT)r.push(`### ${i.field} (${i.type})`),r.push(i.descriptions[e]??i.descriptions.en),i.values.length>0&&r.push(`${t.validValues}: ${i.values.join(", ")}`),r.push("");return r.push("### tools (object)"),r.push(t.toolsDescription),r.push(""),r.join(`
|
|
189
189
|
`)}var Wb="https://www.getgodd.dev/contact",_T={en:{header:"\u26A0 config.godd contains unrecognized values. Please fix them and try again.",problemValues:"Problematic values:",suggestion:(e,t)=>` - "${e}" \u2192 did you mean "${t}"?`,unsupported:e=>` - "${e}" \u2192 currently unsupported. Contact ${Wb} to request support.`,fixHeader:"How to fix:",fixEdit:" 1. Edit config.godd directly to correct the values",fixReinit:' 2. Or run "godd init --force" to regenerate'},ja:{header:"\u26A0 config.godd \u306B\u8A8D\u8B58\u3067\u304D\u306A\u3044\u5024\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u4FEE\u6B63\u3057\u3066\u304B\u3089\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",problemValues:"\u554F\u984C\u306E\u3042\u308B\u5024:",suggestion:(e,t)=>` - "${e}" \u2192 \u3082\u3057\u304B\u3057\u3066 "${t}" \u3067\u3059\u304B\uFF1F`,unsupported:e=>` - "${e}" \u2192 \u73FE\u5728\u672A\u5BFE\u5FDC\u3067\u3059\u3002\u5BFE\u5FDC\u3092\u3054\u5E0C\u671B\u306E\u5834\u5408\u306F ${Wb} \u304B\u3089\u3054\u9023\u7D61\u304F\u3060\u3055\u3044\u3002`,fixHeader:"\u4FEE\u6B63\u65B9\u6CD5:",fixEdit:" 1. config.godd \u3092\u76F4\u63A5\u7DE8\u96C6\u3057\u3066\u6B63\u3057\u3044\u5024\u306B\u4FEE\u6B63\u3059\u308B",fixReinit:' 2. \u307E\u305F\u306F "godd init --force" \u3067\u518D\u751F\u6210\u3059\u308B'},ru:{header:"\u26A0 config.godd \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u0440\u0430\u0432\u044C\u0442\u0435 \u0438\u0445 \u0438 \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430.",problemValues:"\u041F\u0440\u043E\u0431\u043B\u0435\u043C\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F:",suggestion:(e,t)=>` - "${e}" \u2192 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0432\u044B \u0438\u043C\u0435\u043B\u0438 \u0432 \u0432\u0438\u0434\u0443 "${t}"?`,unsupported:e=>` - "${e}" \u2192 \u043F\u043E\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F. \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 ${Wb} \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438.`,fixHeader:"\u041A\u0430\u043A \u0438\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C:",fixEdit:" 1. \u041E\u0442\u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0443\u0439\u0442\u0435 config.godd \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E, \u0443\u043A\u0430\u0437\u0430\u0432 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F",fixReinit:' 2. \u0418\u043B\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 "godd init --force" \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F'}};function ST(e,t="ja"){let r=_T[t]??_T.en,i=new Map;for(let o of e){let s=i.get(o.field)??[];s.push(o),i.set(o.field,s)}let n=[r.header,"",r.problemValues];for(let[o,s]of i){n.push(` ${o}:`);for(let a of s)n.push(a.suggestion?r.suggestion(a.value,a.suggestion):r.unsupported(a.value))}return n.push("",r.fixHeader,r.fixEdit,r.fixReinit),n.join(`
|
|
190
|
-
`)}var jr="1.25.17";var Yb={en:{dev:"Development (plan \u2192 implement \u2192 test \u2192 quality \u2192 docs in stages)",check:"Quality gate (verify Spec alignment, tests, types, lint, security)",docs:"Generate/update documentation",ship:"Ship (commit at proper granularity \u2192 quality check \u2192 push \u2192 create PR)",setup:"Environment setup (with recommended stack presets, confirms missing info)",review:"Review (CTO-level review + quality gate)",test:"Run/create tests",impact:"Impact analysis",commit:"Commit changes",push:"Push to remote",pr:"Create PR (template-compliant)",deploy:"Deploy (with verification & rollback plan)",adr:"Create ADR (Architecture Decision Record)",release:"Generate release notes (SemVer-compliant)",github:"GitHub configuration (repository/branch protection, etc.)",config:"Generate/repair config.godd (auto-detect stack + validation)",questions:"Interactive Q&A from question list (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"Browser-based E2E testing (execute & verify critical user flows)",benchmark:"Competitive prompt analysis (compare GoDD vs Cursor Rules / Claude Code / Codex)",map:"Project knowledge graph (visualize architecture & dependencies with Mermaid)",learn:"Save/recall project-specific patterns, conventions, and pitfalls",diagram:"Auto-update architecture diagrams (maintain living Mermaid docs in sync with code)",slide:"Generate presentation slides from project docs (Marp Markdown format)",design:"Generate/update visual designs from codebase (Pencil.dev sync)"},ja:{dev:"\u958B\u767A\uFF08\u6BB5\u968E\u7684\u306B\u8A08\u753B\u2192\u5B9F\u88C5\u2192\u30C6\u30B9\u30C8\u2192\u54C1\u8CEA\u2192\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u5B9F\u884C\uFF09",check:"\u54C1\u8CEA\u30B2\u30FC\u30C8\uFF08Spec\u6574\u5408\u30FB\u30C6\u30B9\u30C8\u30FB\u578B\u30FBLint\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3092\u691C\u8A3C\uFF09",docs:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210/\u66F4\u65B0",ship:"\u63D0\u51FA\uFF08\u9069\u5207\u306A\u7C92\u5EA6\u3067\u30B3\u30DF\u30C3\u30C8 \u2192 \u54C1\u8CEA\u30C1\u30A7\u30C3\u30AF \u2192 \u30D7\u30C3\u30B7\u30E5 \u2192 PR \u4F5C\u6210\uFF09",setup:"\u74B0\u5883\u69CB\u7BC9\uFF08\u63A8\u5968\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\u4ED8\u304D\u30FB\u4E0D\u8DB3\u60C5\u5831\u306F\u78BA\u8A8D\uFF09",review:"\u30EC\u30D3\u30E5\u30FC\uFF08CTO \u30EC\u30D9\u30EB\u306E\u30EC\u30D3\u30E5\u30FC + \u54C1\u8CEA\u30B2\u30FC\u30C8\uFF09",test:"\u30C6\u30B9\u30C8\u5B9F\u884C/\u4F5C\u6210",impact:"\u5F71\u97FF\u5206\u6790",commit:"\u5909\u66F4\u3092\u30B3\u30DF\u30C3\u30C8",push:"\u30EA\u30E2\u30FC\u30C8\u306B\u30D7\u30C3\u30B7\u30E5",pr:"PR \u4F5C\u6210\uFF08\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u6E96\u62E0\uFF09",deploy:"\u30C7\u30D7\u30ED\u30A4\uFF08\u691C\u8A3C\u30FB\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u8A08\u753B\u4ED8\u304D\uFF09",adr:"ADR\uFF08Architecture Decision Record\uFF09\u4F5C\u6210",release:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u751F\u6210\uFF08SemVer \u6E96\u62E0\uFF09",github:"GitHub \u8A2D\u5B9A\uFF08\u30EA\u30DD\u30B8\u30C8\u30EA/\u30D6\u30E9\u30F3\u30C1\u4FDD\u8B77\u7B49\uFF09",config:"config.godd \u3092\u6B63\u78BA\u306B\u751F\u6210\u30FB\u4FEE\u6B63\u3059\u308B\uFF08\u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA + \u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\u30F3\uFF09",questions:"\u8CEA\u554F\u30EA\u30B9\u30C8\uFF08\u8CEA\u554F\u30EA\u30B9\u30C8.md\uFF09\u304B\u3089\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u306B\u8CEA\u554F\u3092\u7BA1\u7406",e2e:"\u30D6\u30E9\u30A6\u30B6\u30D9\u30FC\u30B9 E2E \u30C6\u30B9\u30C8\uFF08\u91CD\u8981\u30E6\u30FC\u30B6\u30FC\u30D5\u30ED\u30FC\u306E\u5B9F\u884C\u30FB\u691C\u8A3C\uFF09",benchmark:"\u7AF6\u5408\u30D7\u30ED\u30F3\u30D7\u30C8\u5206\u6790\uFF08GoDD vs Cursor Rules / Claude Code / Codex \u3092\u6BD4\u8F03\uFF09",map:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\uFF08Mermaid \u3067\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u30FB\u4F9D\u5B58\u95A2\u4FC2\u3092\u53EF\u8996\u5316\uFF09",learn:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u56FA\u6709\u306E\u30D1\u30BF\u30FC\u30F3\u30FB\u6163\u4F8B\u30FB\u843D\u3068\u3057\u7A74\u3092\u4FDD\u5B58/\u53C2\u7167",diagram:"\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u56F3\u306E\u81EA\u52D5\u66F4\u65B0\uFF08\u30B3\u30FC\u30C9\u3068\u540C\u671F\u3057\u305F Mermaid \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u7DAD\u6301\uFF09",slide:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304B\u3089\u30D7\u30EC\u30BC\u30F3\u30B9\u30E9\u30A4\u30C9\u3092\u751F\u6210\uFF08Marp Markdown \u5F62\u5F0F\uFF09",design:"\u30B3\u30FC\u30C9\u30D9\u30FC\u30B9\u304B\u3089\u30D3\u30B8\u30E5\u30A2\u30EB\u30C7\u30B6\u30A4\u30F3\u3092\u751F\u6210/\u66F4\u65B0\uFF08Pencil.dev \u540C\u671F\uFF09"},ru:{dev:"\u0420\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u043A\u0430 (\u043F\u043B\u0430\u043D \u2192 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u2192 \u0442\u0435\u0441\u0442\u044B \u2192 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u043E \u2192 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u043F\u043E\u044D\u0442\u0430\u043F\u043D\u043E)",check:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 (Spec, \u0442\u0435\u0441\u0442\u044B, \u0442\u0438\u043F\u044B, \u043B\u0438\u043D\u0442\u0435\u0440, \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C)",docs:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438",ship:"\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 (\u043A\u043E\u043C\u043C\u0438\u0442 \u2192 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u2192 \u043F\u0443\u0448 \u2192 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 PR)",setup:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0441\u0440\u0435\u0434\u044B (\u0441 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u043C\u0438 \u043F\u0440\u0435\u0441\u0435\u0442\u0430\u043C\u0438 \u0441\u0442\u0435\u043A\u0430)",review:"\u0420\u0435\u0432\u044C\u044E (CTO-\u0443\u0440\u043E\u0432\u0435\u043D\u044C + \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430)",test:"\u0417\u0430\u043F\u0443\u0441\u043A/\u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0442\u0435\u0441\u0442\u043E\u0432",impact:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0432\u043B\u0438\u044F\u043D\u0438\u044F",commit:"\u0417\u0430\u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",push:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439",pr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C PR (\u043F\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u0443)",deploy:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C (\u0441 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u043E\u0439 \u0438 \u043F\u043B\u0430\u043D\u043E\u043C \u043E\u0442\u043A\u0430\u0442\u0430)",adr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C ADR (\u0437\u0430\u043F\u0438\u0441\u044C \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u043E\u0433\u043E \u0440\u0435\u0448\u0435\u043D\u0438\u044F)",release:"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043A \u0440\u0435\u043B\u0438\u0437\u0443 (SemVer)",github:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 GitHub (\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439/\u0437\u0430\u0449\u0438\u0442\u0430 \u0432\u0435\u0442\u043E\u043A \u0438 \u0442.\u0434.)",config:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 config.godd (\u0430\u0432\u0442\u043E\u0434\u0435\u0442\u0435\u043A\u0442 \u0441\u0442\u0435\u043A\u0430 + \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u044F)",questions:"\u0418\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 Q&A \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"E2E-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (\u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u043F\u043E\u0442\u043E\u043A\u043E\u0432)",benchmark:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u044B\u0439 \u0430\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u043C\u043F\u0442\u043E\u0432 (\u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u0435 GoDD \u0441 Cursor Rules / Claude Code / Codex)",map:"\u0413\u0440\u0430\u0444 \u0437\u043D\u0430\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u044B \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 Mermaid)",learn:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435/\u0432\u044B\u0437\u043E\u0432 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u0447\u043D\u044B\u0445 \u0434\u043B\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u043F\u0430\u0442\u0442\u0435\u0440\u043D\u043E\u0432, \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0439 \u0438 \u043F\u043E\u0434\u0432\u043E\u0434\u043D\u044B\u0445 \u043A\u0430\u043C\u043D\u0435\u0439",diagram:"\u0410\u0432\u0442\u043E\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u044B\u0445 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C (\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u044B\u0445 Mermaid-\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432)",slide:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F \u0441\u043B\u0430\u0439\u0434\u043E\u0432 \u0438\u0437 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0444\u043E\u0440\u043C\u0430\u0442 Marp Markdown)",design:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0434\u0438\u0437\u0430\u0439\u043D\u0430 \u0438\u0437 \u043A\u043E\u0434\u043E\u0432\u043E\u0439 \u0431\u0430\u0437\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F Pencil.dev)"}};var S2={dev:[{name:"request",required:!0},{name:"done_when",required:!1}],check:[{name:"target",required:!1}],docs:[{name:"target",required:!1}],ship:[{name:"title",required:!1}],review:[{name:"target",required:!1},{name:"action",required:!1}],test:[{name:"target",required:!1}],impact:[{name:"target",required:!1}],commit:[{name:"message",required:!1}],pr:[{name:"title",required:!1}],deploy:[{name:"target",required:!1}],adr:[{name:"title",required:!1}],release:[{name:"tag",required:!1}],setup:[{name:"preset",required:!1}],github:[{name:"request",required:!1}],config:[],questions:[{name:"action",required:!1}],e2e:[{name:"target",required:!1},{name:"url",required:!1}],benchmark:[{name:"target",required:!1}],map:[{name:"target",required:!1}],learn:[{name:"action",required:!1}],diagram:[{name:"target",required:!1}],slide:[{name:"type",required:!1},{name:"source",required:!1}],design:[{name:"target",required:!1},{name:"output",required:!1}]},Qb={en:{dev:{request:"Request details",done_when:"Completion criteria"},check:{target:"Check target (omit for all recent changes)"},docs:{target:"Target file/feature"},ship:{title:"PR title"},review:{target:"Target file/PR (e.g., PR URL, PR number, file path)",action:"Post-review action (approve / request-changes / comment)"},test:{target:"Test target"},impact:{target:"Analysis target"},commit:{message:"Commit message"},pr:{title:"PR title"},deploy:{target:"Deploy target"},adr:{title:"Decision title"},release:{tag:"Target tag (omit for HEAD since last release)"},setup:{preset:"Stack preset (omakase = recommended)"},github:{request:"Configuration request"},questions:{action:"Action: list (default) / resolve <id> / add <question>"},e2e:{target:"Target page/flow to test",url:"Base URL of the application"},benchmark:{target:"Competitor system to analyze (cursor-rules / claude-code / codex / all)"},map:{target:"Target scope (module/directory/layer to visualize)"},learn:{action:"Action: save <category> <content> / recall / list / forget <id>"},diagram:{target:"Target diagram scope (architecture / module / data-flow / erd / all)"},slide:{type:"Presentation type (sprint-review / architecture / release / onboarding)",source:"Source documents to base slides on"},design:{target:"Design target (all / page name / component name)",output:"Output format (pencil / tokens)"}},ja:{dev:{request:"\u4F9D\u983C\u5185\u5BB9",done_when:"\u5B8C\u4E86\u6761\u4EF6"},check:{target:"\u30C1\u30A7\u30C3\u30AF\u5BFE\u8C61\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u306E\u5909\u66F4\u5168\u4F53\uFF09"},docs:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/\u6A5F\u80FD"},ship:{title:"PR \u30BF\u30A4\u30C8\u30EB"},review:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/PR\uFF08\u4F8B: PR URL, PR\u756A\u53F7, \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF09",action:"\u30EC\u30D3\u30E5\u30FC\u5F8C\u306E\u30A2\u30AF\u30B7\u30E7\u30F3\uFF08approve / request-changes / comment\uFF09"},test:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61"},impact:{target:"\u5206\u6790\u5BFE\u8C61"},commit:{message:"\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8"},pr:{title:"PR \u30BF\u30A4\u30C8\u30EB"},deploy:{target:"\u30C7\u30D7\u30ED\u30A4\u5148"},adr:{title:"\u5224\u65AD\u306E\u30BF\u30A4\u30C8\u30EB"},release:{tag:"\u5BFE\u8C61\u30BF\u30B0\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u30EA\u30EA\u30FC\u30B9\u304B\u3089 HEAD\uFF09"},setup:{preset:"\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\uFF08omakase = \u63A8\u5968\u69CB\u6210\uFF09"},github:{request:"\u8A2D\u5B9A\u5185\u5BB9"},questions:{action:"\u64CD\u4F5C: list\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09/ resolve <id> / add <\u8CEA\u554F\u6587>"},e2e:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61\u306E\u30DA\u30FC\u30B8/\u30D5\u30ED\u30FC",url:"\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30D9\u30FC\u30B9 URL"},benchmark:{target:"\u5206\u6790\u5BFE\u8C61\u306E\u7AF6\u5408\uFF08cursor-rules / claude-code / codex / all\uFF09"},map:{target:"\u53EF\u8996\u5316\u5BFE\u8C61\uFF08\u30E2\u30B8\u30E5\u30FC\u30EB/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA/\u30EC\u30A4\u30E4\u30FC\uFF09"},learn:{action:"\u64CD\u4F5C: save <\u30AB\u30C6\u30B4\u30EA> <\u5185\u5BB9> / recall / list / forget <id>"},diagram:{target:"\u56F3\u306E\u5BFE\u8C61\u7BC4\u56F2\uFF08architecture / module / data-flow / erd / all\uFF09"},slide:{type:"\u30D7\u30EC\u30BC\u30F3\u7A2E\u985E\uFF08sprint-review / architecture / release / onboarding\uFF09",source:"\u30BD\u30FC\u30B9\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8"},design:{target:"\u30C7\u30B6\u30A4\u30F3\u5BFE\u8C61\uFF08all / \u30DA\u30FC\u30B8\u540D / \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\uFF09",output:"\u51FA\u529B\u5F62\u5F0F\uFF08pencil / tokens\uFF09"}},ru:{dev:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",done_when:"\u041A\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F"},check:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u0432\u0441\u0435 \u043D\u0435\u0434\u0430\u0432\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F)"},docs:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/\u0444\u0443\u043D\u043A\u0446\u0438\u044F"},ship:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},review:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/PR (URL PR, \u043D\u043E\u043C\u0435\u0440 PR, \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443)",action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043F\u043E\u0441\u043B\u0435 \u0440\u0435\u0432\u044C\u044E (approve / request-changes / comment)"},test:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F"},impact:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0430\u043D\u0430\u043B\u0438\u0437\u0430"},commit:{message:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043A\u043E\u043C\u043C\u0438\u0442\u0430"},pr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},deploy:{target:"\u0426\u0435\u043B\u044C \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F"},adr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0440\u0435\u0448\u0435\u043D\u0438\u044F"},release:{tag:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0442\u0435\u0433 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u043E\u0442 HEAD \u0434\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0440\u0435\u043B\u0438\u0437\u0430)"},setup:{preset:"\u041F\u0440\u0435\u0441\u0435\u0442 \u0441\u0442\u0435\u043A\u0430 (omakase = \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F)"},github:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438"},questions:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: list (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E) / resolve <id> / add <\u0432\u043E\u043F\u0440\u043E\u0441>"},e2e:{target:"\u0426\u0435\u043B\u0435\u0432\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430/\u043F\u043E\u0442\u043E\u043A \u0434\u043B\u044F \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",url:"\u0411\u0430\u0437\u043E\u0432\u044B\u0439 URL \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},benchmark:{target:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0438\u0441\u0442\u0435\u043C\u0430 \u0434\u043B\u044F \u0430\u043D\u0430\u043B\u0438\u0437\u0430 (cursor-rules / claude-code / codex / all)"},map:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 (\u043C\u043E\u0434\u0443\u043B\u044C/\u043A\u0430\u0442\u0430\u043B\u043E\u0433/\u0441\u043B\u043E\u0439 \u0434\u043B\u044F \u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438)"},learn:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: save <\u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F> <\u0441\u043E\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0435> / recall / list / forget <id>"},diagram:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B (architecture / module / data-flow / erd / all)"},slide:{type:"\u0422\u0438\u043F \u043F\u0440\u0435\u0437\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (sprint-review / architecture / release / onboarding)",source:"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B"},design:{target:"\u0426\u0435\u043B\u044C \u0434\u0438\u0437\u0430\u0439\u043D\u0430 (all / \u0438\u043C\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B / \u0438\u043C\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430)",output:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0432\u044B\u0432\u043E\u0434\u0430 (pencil / tokens)"}}},x2=["dev","check","docs","ship","setup","review","test","impact","commit","push","pr","deploy","adr","release","github","config","questions","e2e","benchmark","map","learn","diagram","slide","design"];var Xb={dev:{slugs:["common","dev"]},ship:{slugs:["common","commit","push","pr","check"]},review:{slugs:["common","review","check"]}};var Lp=new Set(["dev","review","setup","test","impact","docs","check","deploy","adr","release","e2e","benchmark","map","learn","diagram","slide","design"]);function xT(e){return e in Xb||Lp.has(e)}function e$(e){if(Xb[e])return Xb[e].slugs;if(Lp.has(e))return["common",e]}var Up=new Set(["config","questions"]);function t$(e="en"){let t=V.toolPrefix,r=Yb[e]??Yb.en;return x2.map(i=>({name:`${t}${i}`,description:r[i]??Yb.en[i]}))}function wT(e="en"){let t=V.toolPrefix,r=Qb[e]??Qb.en,i=Qb.en;return t$(e).map(n=>{let o=n.name.replace(t,""),s=S2[o]??[];return{name:n.name,description:n.description,inputSchema:{type:"object",properties:Object.fromEntries(s.map(a=>[a.name,{type:"string",description:r[o]?.[a.name]??i[o]?.[a.name]??a.name}])),required:s.filter(a=>a.required).map(a=>a.name)}}})}var ai=require("node:fs"),MT=require("node:path"),qT=Uo(Jb(),1);var Ne=require("node:fs"),Re=require("node:path"),jT=require("node:readline"),Lo=require("node:child_process");var w2={selectDisplayLanguage:"Select display language:",selectMainLanguage:"Select the main language for your project:",selectSubLanguages:"Select sub-languages used in your team:",selectSubLanguagesHint:"(comma-separated numbers, or press Enter to skip)",skipSubLanguages:"No sub-languages selected.",scanningProject:"Scanning project...",detectedStack:"Detected stack:",confirmStack:"Is this correct?",manualStackEntry:"Please select your tech stack manually.",selectProjectType:"What are you building? (select all that apply)",projectTypes:{web:"Web App (frontend + backend)",api:"API / Backend only",mobile:"Mobile App",game:"Game",cli:"CLI / Library / Script",desktop:"Desktop App"},selectProgrammingLanguages:"Programming languages:",selectFrontend:"Frontend frameworks:",selectBackend:"Backend frameworks:",selectDatabase:"Databases:",selectOrm:"ORM:",selectInfra:"Infrastructure:",selectGame:"Game engines / frameworks:",selectMobile:"Mobile / Cross-platform:",selectOther:"Other technologies not listed above (comma-separated, or press Enter to skip):",toolRecommendationsTitle:"Recommended tools for your stack:",toolInstallMode:"How would you like to install?",toolInstallDefault:"Default (install all)",toolInstallCustom:"Custom (choose individually)",toolInstallSkip:"Skip (install later)",toolInstallPrompt:"Install?",toolInstalling:"Installing",toolInstallSuccess:"Installed successfully.",toolAlreadyInstalled:"Already installed (up to date). Skipped.",toolInstallFailed:"Installation failed. You can install it later via setup prompt.",toolSkippedInProject:"Already in package.json \u2014 skipped",toolGuidance:"Manual setup required \u2014 see message above",toolSummaryTitle:"Installation Summary",toolSummarySuccess:"Installed",toolSummaryAlready:"Already up to date",toolSummarySkipped:"In package.json",toolSummaryGuidance:"Manual setup",toolSummaryFailed:"Failed",toolRetryHint:"Retry",auditRunning:"Running security audit...",auditClean:"No vulnerabilities found",auditWarning:"Vulnerabilities detected",auditFixPrompt:"Run audit fix to resolve high/critical vulnerabilities?",auditFixSuccess:"Audit fix applied successfully",auditFixFailed:"Audit fix could not resolve all vulnerabilities \u2014 review manually",toolUniversalTag:"all projects",toolStackSpecificTag:"your stack",toolCategories:{vcs:"Version Control",browser_automation:"Browser Automation",e2e_testing:"E2E Testing",unit_testing:"Unit Testing",linting:"Linting",formatting:"Formatting",type_checking:"Type Checking",coverage:"Coverage",documentation:"Documentation",secret_scanning:"Secret Scanning",security_analysis:"Security Analysis",unused_code:"Unused Code Detection",dependency_analysis:"Dependency Analysis"},githubDetected:"GitHub repository detected.",githubConfigPrompt:"Enable auto-delete for merged branches?",githubConfigSkipped:"Skipped GitHub auto-delete configuration.",githubConfigSuccess:"\u2713 Merged branches will be auto-deleted on GitHub.",githubConfigFailed:"\u2717 Could not configure auto-delete. Run `gh repo edit --delete-branch-on-merge` manually.",configCreated:"Generated",configExists:"already exists",configOverwritten:"Overwritten",useForceFlag:"Use --force to overwrite.",languages:"Languages",frontend:"Frontend",backend:"Backend",database:"Database",orm:"ORM",infra:"Infra",game:"Game",mobile:"Mobile",other:"Other",pressEnterToClose:"Press Enter to close...",unknownCommand:"Unknown command",usage:"Usage:",installSuccess:"Registered with Cursor!",installUpdated:"Configuration updated",installUnchanged:"Already up to date",licenseNotSet:"License key is not set. Set GODD_LICENSE_KEY environment variable or run: godd install --license-key=YOUR_KEY",restartCursor:"Restart Cursor to activate the MCP server.",installFailed:"Installation failed:",uninstallTitle:"Uninstall",uninstallSuccess:"Removed from Cursor",uninstallNotFound:"Not found (already removed)",uninstallFailed:"Uninstall failed:",initTitle:"Project initialization",initAutoHint:"Non-interactive mode (--auto): stack scan + config only; tool install wizard skipped. Use interactive init when you need guided tool setup.",yes:"Yes",no:"No",none:"None",invalidChoice:"Invalid choice. Please try again.",enterNumbers:"Enter numbers",updateAvailable:"A newer version is available:",updateCurrent:"current:",licenseMissing:"GODD_LICENSE_KEY environment variable is not set.",licenseMissingHint:"Re-register with: godd install --license-key=YOUR_KEY",licenseFailed:"License validation failed",configNotFound:"not found in project directory.",configNotFoundHint:'Run "godd init" to generate project configuration for better prompt accuracy.',configUnknownValues:"contains unknown values:",didYouMean:"did you mean",serverStarted:"started (stdio)",corruptMcpJson:"is corrupt. Backed up to {backup} and creating a fresh config.",licenseNotConfigured:"License key is not configured. Set GODD_LICENSE_KEY and restart Cursor.",resolvePromptFailed:"Failed to resolve prompt",resolveToolFailed:"Failed to resolve tool",localToolFailed:"Local tool execution failed",helpInstall:"Register MCP server into Cursor",helpInit:"Initialize project (interactive; use --auto for scan-only)",helpUninstall:"Remove MCP server from Cursor",helpServe:"Start MCP stdio server (called by Cursor)",fatalError:"Fatal error",compositeMissingSlugs:"WARNING: The following sections could not be loaded",goddFilesTitle:"GoDD managed files configuration:",goddFilesDocsPrompt:"Documentation directory (press Enter for default: documents):",goddFilesGitattributesPrompt:"Auto-create .gitattributes on init if missing?",goddFilesDependabotPrompt:"Auto-create .github/dependabot.yml on init if missing?",goddFilesCreated:"GoDD-MCP-alpha.md generated."},I2={selectDisplayLanguage:"\u8868\u793A\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectMainLanguage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30A4\u30F3\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguages:"\u30C1\u30FC\u30E0\u3067\u4F7F\u7528\u3059\u308B\u30B5\u30D6\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguagesHint:"(\u30AB\u30F3\u30DE\u533A\u5207\u308A\u306E\u756A\u53F7\u3001\u307E\u305F\u306FEnter\u3067\u30B9\u30AD\u30C3\u30D7)",skipSubLanguages:"\u30B5\u30D6\u8A00\u8A9E\u306F\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002",scanningProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30B9\u30AD\u30E3\u30F3\u4E2D...",detectedStack:"\u691C\u51FA\u3055\u308C\u305F\u30B9\u30BF\u30C3\u30AF:",confirmStack:"\u3053\u306E\u5185\u5BB9\u3067\u6B63\u3057\u3044\u3067\u3059\u304B\uFF1F",manualStackEntry:"\u6280\u8853\u30B9\u30BF\u30C3\u30AF\u3092\u624B\u52D5\u3067\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",selectProjectType:"\u4F55\u3092\u4F5C\u308A\u307E\u3059\u304B\uFF1F\uFF08\u8A72\u5F53\u3059\u308B\u3082\u306E\u3092\u3059\u3079\u3066\u9078\u629E\uFF09",projectTypes:{web:"Web \u30A2\u30D7\u30EA\uFF08\u30D5\u30ED\u30F3\u30C8 + \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\uFF09",api:"API / \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u306E\u307F",mobile:"\u30E2\u30D0\u30A4\u30EB\u30A2\u30D7\u30EA",game:"\u30B2\u30FC\u30E0",cli:"CLI / \u30E9\u30A4\u30D6\u30E9\u30EA / \u30B9\u30AF\u30EA\u30D7\u30C8",desktop:"\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30A2\u30D7\u30EA"},selectProgrammingLanguages:"\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E:",selectFrontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectBackend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectDatabase:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9:",selectOrm:"ORM:",selectInfra:"\u30A4\u30F3\u30D5\u30E9:",selectGame:"\u30B2\u30FC\u30E0\u30A8\u30F3\u30B8\u30F3 / \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectMobile:"\u30E2\u30D0\u30A4\u30EB / \u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0:",selectOther:"\u4E0A\u8A18\u306B\u306A\u3044\u6280\u8853\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u5165\u529B\u3001\u30B9\u30AD\u30C3\u30D7\u306F Enter\uFF09:",toolRecommendationsTitle:"\u30B9\u30BF\u30C3\u30AF\u306B\u63A8\u5968\u3055\u308C\u308B\u30C4\u30FC\u30EB:",toolInstallMode:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",toolInstallDefault:"\u30C7\u30D5\u30A9\u30EB\u30C8\uFF08\u3059\u3079\u3066\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallCustom:"\u30AB\u30B9\u30BF\u30E0\uFF08\u500B\u5225\u306B\u9078\u629E\uFF09",toolInstallSkip:"\u30B9\u30AD\u30C3\u30D7\uFF08\u5F8C\u3067\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallPrompt:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B\uFF1F",toolInstalling:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u4E2D",toolInstallSuccess:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002",toolAlreadyInstalled:"\u6700\u65B0\u7248\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u3067\u3059\u3002\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",toolInstallFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002setup \u30D7\u30ED\u30F3\u30D7\u30C8\u3067\u5F8C\u304B\u3089\u5BFE\u5FDC\u3067\u304D\u307E\u3059\u3002",toolSkippedInProject:"package.json \u306B\u5B9A\u7FA9\u6E08\u307F \u2014 \u30B9\u30AD\u30C3\u30D7",toolGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u304C\u5FC5\u8981\u3067\u3059 \u2014 \u4E0A\u8A18\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044",toolSummaryTitle:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u7D50\u679C\u30B5\u30DE\u30EA\u30FC",toolSummarySuccess:"\u6210\u529F",toolSummaryAlready:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F",toolSummarySkipped:"package.json \u5B9A\u7FA9\u6E08\u307F",toolSummaryGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7",toolSummaryFailed:"\u5931\u6557",toolRetryHint:"\u518D\u8A66\u884C",auditRunning:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u76E3\u67FB\u3092\u5B9F\u884C\u4E2D...",auditClean:"\u8106\u5F31\u6027\u306F\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F",auditWarning:"\u8106\u5F31\u6027\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F",auditFixPrompt:"audit fix \u3092\u5B9F\u884C\u3057\u3066 high/critical \u8106\u5F31\u6027\u3092\u4FEE\u6B63\u3057\u307E\u3059\u304B\uFF1F",auditFixSuccess:"audit fix \u304C\u6B63\u5E38\u306B\u9069\u7528\u3055\u308C\u307E\u3057\u305F",auditFixFailed:"audit fix \u3067\u3059\u3079\u3066\u306E\u8106\u5F31\u6027\u3092\u89E3\u6D88\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2014 \u624B\u52D5\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044",toolUniversalTag:"\u5168\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5171\u901A",toolStackSpecificTag:"\u30B9\u30BF\u30C3\u30AF\u56FA\u6709",toolCategories:{vcs:"\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406",browser_automation:"\u30D6\u30E9\u30A6\u30B6\u81EA\u52D5\u5316",e2e_testing:"E2E \u30C6\u30B9\u30C8",unit_testing:"\u30E6\u30CB\u30C3\u30C8\u30C6\u30B9\u30C8",linting:"\u30EA\u30F3\u30BF\u30FC",formatting:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30BF\u30FC",type_checking:"\u578B\u30C1\u30A7\u30C3\u30AF",coverage:"\u30AB\u30D0\u30EC\u30C3\u30B8",documentation:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210",secret_scanning:"\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u30B9\u30AD\u30E3\u30F3",security_analysis:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u5206\u6790",unused_code:"\u672A\u4F7F\u7528\u30B3\u30FC\u30C9\u691C\u51FA",dependency_analysis:"\u4F9D\u5B58\u5206\u6790"},githubDetected:"GitHub \u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002",githubConfigPrompt:"\u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306E\u81EA\u52D5\u524A\u9664\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u304B\uFF1F",githubConfigSkipped:"GitHub \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",githubConfigSuccess:"\u2713 \u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306F GitHub \u4E0A\u3067\u81EA\u52D5\u524A\u9664\u3055\u308C\u307E\u3059\u3002",githubConfigFailed:"\u2717 \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u624B\u52D5\u3067 `gh repo edit --delete-branch-on-merge` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",configCreated:"\u3092\u751F\u6210\u3057\u307E\u3057\u305F",configExists:"\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059",configOverwritten:"\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3057\u305F",useForceFlag:"\u4E0A\u66F8\u304D\u3059\u308B\u5834\u5408\u306F --force \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",languages:"\u8A00\u8A9E",frontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9",backend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9",database:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",orm:"ORM",infra:"\u30A4\u30F3\u30D5\u30E9",game:"\u30B2\u30FC\u30E0",mobile:"\u30E2\u30D0\u30A4\u30EB",other:"\u305D\u306E\u4ED6",pressEnterToClose:"Enter \u30AD\u30FC\u3092\u62BC\u3059\u3068\u9589\u3058\u307E\u3059...",unknownCommand:"\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9",usage:"\u4F7F\u3044\u65B9:",installSuccess:"Cursor \u306B\u767B\u9332\u3057\u307E\u3057\u305F\uFF01",installUpdated:"\u8A2D\u5B9A\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",installUnchanged:"\u65E2\u306B\u6700\u65B0\u306E\u8A2D\u5B9A\u3067\u3059",licenseNotSet:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u672A\u8A2D\u5B9A\u3067\u3059\u3002\u74B0\u5883\u5909\u6570 GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3059\u308B\u304B\u3001godd install --license-key=YOUR_KEY \u3067\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",restartCursor:"Cursor \u3092\u518D\u8D77\u52D5\u3059\u308B\u3068 MCP \u30B5\u30FC\u30D0\u30FC\u304C\u6709\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",installFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",uninstallTitle:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",uninstallSuccess:"Cursor \u304B\u3089\u524A\u9664\u3057\u307E\u3057\u305F",uninstallNotFound:"\u767B\u9332\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u65E2\u306B\u524A\u9664\u6E08\u307F\uFF09",uninstallFailed:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",initTitle:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u521D\u671F\u5316",initAutoHint:"\u975E\u5BFE\u8A71\u30E2\u30FC\u30C9\uFF08--auto\uFF09: \u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA\u3068 config.godd \u306E\u307F\u3002\u30C4\u30FC\u30EB\u5C0E\u5165\u30A6\u30A3\u30B6\u30FC\u30C9\u306F\u7701\u7565\u3055\u308C\u307E\u3059\u3002\u624B\u52D5\u3067\u30C4\u30FC\u30EB\u3092\u9078\u3073\u305F\u3044\u5834\u5408\u306F\u5BFE\u8A71\u5F0F init \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002",yes:"\u306F\u3044",no:"\u3044\u3044\u3048",none:"\u306A\u3057",invalidChoice:"\u7121\u52B9\u306A\u9078\u629E\u3067\u3059\u3002\u3082\u3046\u4E00\u5EA6\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",enterNumbers:"\u756A\u53F7\u3092\u5165\u529B",updateAvailable:"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:",updateCurrent:"\u73FE\u5728:",licenseMissing:"GODD_LICENSE_KEY \u74B0\u5883\u5909\u6570\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",licenseMissingHint:"godd install --license-key=YOUR_KEY \u3067\u518D\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",licenseFailed:"\u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u5931\u6557",configNotFound:"\u304C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",configNotFoundHint:"\u300Cgodd init\u300D\u3092\u5B9F\u884C\u3057\u3066\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u3092\u751F\u6210\u3059\u308B\u3068\u3001\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u7CBE\u5EA6\u304C\u5411\u4E0A\u3057\u307E\u3059\u3002",configUnknownValues:"\u306B\u4E0D\u660E\u306A\u5024\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059:",didYouMean:"\u3082\u3057\u304B\u3057\u3066",serverStarted:"\u3092\u8D77\u52D5\u3057\u307E\u3057\u305F (stdio)",corruptMcpJson:"\u304C\u58CA\u308C\u3066\u3044\u307E\u3059\u3002{backup} \u306B\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u4F5C\u6210\u3057\u3001\u65B0\u898F\u8A2D\u5B9A\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",licenseNotConfigured:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3057\u3066 Cursor \u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",resolvePromptFailed:"\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",resolveToolFailed:"\u30C4\u30FC\u30EB\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",localToolFailed:"\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\u306E\u5B9F\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F",helpInstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u306B\u767B\u9332",helpInit:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u521D\u671F\u5316\uFF08\u5BFE\u8A71\u5F0F\uFF0F--auto \u3067\u30B9\u30AD\u30E3\u30F3\u306E\u307F\uFF09",helpUninstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u304B\u3089\u524A\u9664",helpServe:"MCP stdio \u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\uFF08Cursor \u304C\u547C\u3073\u51FA\u3057\uFF09",fatalError:"\u81F4\u547D\u7684\u306A\u30A8\u30E9\u30FC",compositeMissingSlugs:"\u8B66\u544A: \u4EE5\u4E0B\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F",goddFilesTitle:"GoDD \u7BA1\u7406\u30D5\u30A1\u30A4\u30EB\u306E\u8A2D\u5B9A:",goddFilesDocsPrompt:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u4FDD\u5B58\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF08Enter \u3067\u30C7\u30D5\u30A9\u30EB\u30C8: documents\uFF09:",goddFilesGitattributesPrompt:"init \u6642\u306B .gitattributes \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesDependabotPrompt:"init \u6642\u306B .github/dependabot.yml \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesCreated:"GoDD-MCP-alpha.md \u3092\u751F\u6210\u3057\u307E\u3057\u305F\u3002"},z2={selectDisplayLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044F\u0437\u044B\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F:",selectMainLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0435\u043A\u0442\u0430:",selectSubLanguages:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B:",selectSubLanguagesHint:"(\u043D\u043E\u043C\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430)",skipSubLanguages:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B.",scanningProject:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430...",detectedStack:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0439 \u0441\u0442\u0435\u043A:",confirmStack:"\u0412\u0441\u0451 \u0432\u0435\u0440\u043D\u043E?",manualStackEntry:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0441\u0442\u0435\u043A \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",selectProjectType:"\u0427\u0442\u043E \u0432\u044B \u0441\u043E\u0437\u0434\u0430\u0451\u0442\u0435? (\u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0441\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0435)",projectTypes:{web:"\u0412\u0435\u0431-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 (\u0444\u0440\u043E\u043D\u0442\u0435\u043D\u0434 + \u0431\u044D\u043A\u0435\u043D\u0434)",api:"API / \u0442\u043E\u043B\u044C\u043A\u043E \u0431\u044D\u043A\u0435\u043D\u0434",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435",game:"\u0418\u0433\u0440\u0430",cli:"CLI / \u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 / \u0421\u043A\u0440\u0438\u043F\u0442",desktop:"\u0414\u0435\u0441\u043A\u0442\u043E\u043F\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435"},selectProgrammingLanguages:"\u042F\u0437\u044B\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F:",selectFrontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectBackend:"\u0411\u044D\u043A\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectDatabase:"\u0411\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445:",selectOrm:"ORM:",selectInfra:"\u0418\u043D\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430:",selectGame:"\u0418\u0433\u0440\u043E\u0432\u044B\u0435 \u0434\u0432\u0438\u0436\u043A\u0438 / \u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectMobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 / \u043A\u0440\u043E\u0441\u0441\u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0435\u043D\u043D\u044B\u0435:",selectOther:"\u0422\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438, \u043D\u0435 \u0432\u043E\u0448\u0435\u0434\u0448\u0438\u0435 \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u0432\u044B\u0448\u0435 (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E, \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430):",toolRecommendationsTitle:"\u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430:",toolInstallMode:"\u041A\u0430\u043A \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstallDefault:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435)",toolInstallCustom:"\u0412\u044B\u0431\u043E\u0440\u043E\u0447\u043D\u043E (\u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u043E \u043E\u0434\u043D\u043E\u043C\u0443)",toolInstallSkip:"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435)",toolInstallPrompt:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstalling:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430",toolInstallSuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0443\u0441\u043F\u0435\u0448\u043D\u043E.",toolAlreadyInstalled:"\u0423\u0436\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u0432\u0435\u0440\u0441\u0438\u044F. \u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E.",toolInstallFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C. \u041C\u043E\u0436\u043D\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 setup.",toolSkippedInProject:"\u0423\u0436\u0435 \u0432 package.json \u2014 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E",toolGuidance:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0440\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u2014 \u0441\u043C. \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432\u044B\u0448\u0435",toolSummaryTitle:"\u0418\u0442\u043E\u0433\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438",toolSummarySuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",toolSummaryAlready:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",toolSummarySkipped:"\u0412 package.json",toolSummaryGuidance:"\u0420\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430",toolSummaryFailed:"\u041E\u0448\u0438\u0431\u043A\u0430",toolRetryHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",auditRunning:"\u0417\u0430\u043F\u0443\u0441\u043A \u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438...",auditClean:"\u0423\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u043D\u0435 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B",auditWarning:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438",auditFixPrompt:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C audit fix \u0434\u043B\u044F \u0443\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0432\u044B\u0441\u043E\u043A\u0438\u0445/\u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0435\u0439?",auditFixSuccess:"audit fix \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0451\u043D",auditFixFailed:"audit fix \u043D\u0435 \u0441\u043C\u043E\u0433 \u0443\u0441\u0442\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u2014 \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E",toolUniversalTag:"\u0432\u0441\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B",toolStackSpecificTag:"\u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430",toolCategories:{vcs:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0432\u0435\u0440\u0441\u0438\u0439",browser_automation:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430",e2e_testing:"E2E \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",unit_testing:"\u042E\u043D\u0438\u0442-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",linting:"\u041B\u0438\u043D\u0442\u0438\u043D\u0433",formatting:"\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",type_checking:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0442\u0438\u043F\u043E\u0432",coverage:"\u041F\u043E\u043A\u0440\u044B\u0442\u0438\u0435 \u043A\u043E\u0434\u0430",documentation:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",secret_scanning:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0435\u043A\u0440\u0435\u0442\u043E\u0432",security_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",unused_code:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E \u043A\u043E\u0434\u0430",dependency_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439"},githubDetected:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0451\u043D GitHub-\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439.",githubConfigPrompt:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0445 \u0432\u0435\u0442\u043E\u043A?",githubConfigSkipped:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0430.",githubConfigSuccess:"\u2713 \u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0435 \u0432\u0435\u0442\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0443\u0434\u0430\u043B\u044F\u0442\u044C\u0441\u044F \u043D\u0430 GitHub.",githubConfigFailed:"\u2717 \u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435. \u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 `gh repo edit --delete-branch-on-merge` \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",configCreated:"\u0421\u043E\u0437\u0434\u0430\u043D",configExists:"\u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442",configOverwritten:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u043D",useForceFlag:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --force \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0438.",languages:"\u042F\u0437\u044B\u043A\u0438",frontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434",backend:"\u0411\u044D\u043A\u0435\u043D\u0434",database:"\u0411\u0430\u0437\u0430 \u0434\u0430\u043D\u043D\u044B\u0445",orm:"ORM",infra:"\u0418\u043D\u0444\u0440\u0430",game:"\u0418\u0433\u0440\u044B",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435",other:"\u041F\u0440\u043E\u0447\u0435\u0435",pressEnterToClose:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Enter \u0434\u043B\u044F \u0432\u044B\u0445\u043E\u0434\u0430...",unknownCommand:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430",usage:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435:",installSuccess:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 Cursor!",installUpdated:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430",installUnchanged:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",licenseNotSet:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u0437\u0430\u0434\u0430\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438\u043B\u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435: godd install --license-key=YOUR_KEY",restartCursor:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor \u0434\u043B\u044F \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.",installFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438:",uninstallTitle:"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435",uninstallSuccess:"\u0423\u0434\u0430\u043B\u0435\u043D\u043E \u0438\u0437 Cursor",uninstallNotFound:"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E (\u0443\u0436\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u043E)",uninstallFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F:",initTitle:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430",initAutoHint:"\u041D\u0435\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C (--auto): \u0442\u043E\u043B\u044C\u043A\u043E \u0430\u0432\u0442\u043E\u0441\u043A\u0430\u043D \u0441\u0442\u0435\u043A\u0430 \u0438 config; \u043C\u0430\u0441\u0442\u0435\u0440 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D. \u0414\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 init.",yes:"\u0414\u0430",no:"\u041D\u0435\u0442",none:"\u041D\u0435\u0442",invalidChoice:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u044B\u0431\u043E\u0440. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.",enterNumbers:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440\u0430",updateAvailable:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F:",updateCurrent:"\u0442\u0435\u043A\u0443\u0449\u0430\u044F:",licenseMissing:"\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0441\u0440\u0435\u0434\u044B GODD_LICENSE_KEY \u043D\u0435 \u0437\u0430\u0434\u0430\u043D\u0430.",licenseMissingHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435: godd install --license-key=YOUR_KEY",licenseFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",configNotFound:"\u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.",configNotFoundHint:'\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 "godd init" \u0434\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.',configUnknownValues:"\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F:",didYouMean:"\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0432\u044B \u0438\u043C\u0435\u043B\u0438 \u0432 \u0432\u0438\u0434\u0443",serverStarted:"\u0437\u0430\u043F\u0443\u0449\u0435\u043D (stdio)",corruptMcpJson:"\u043F\u043E\u0432\u0440\u0435\u0436\u0434\u0451\u043D. \u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F: {backup}. \u0421\u043E\u0437\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u043E\u0432\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F.",licenseNotConfigured:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor.",resolvePromptFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043F\u0440\u043E\u043C\u043F\u0442",resolveToolFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442",localToolFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",helpInstall:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432 Cursor",helpInit:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442 (\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u043E; --auto \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435)",helpUninstall:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0437 Cursor",helpServe:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C MCP stdio-\u0441\u0435\u0440\u0432\u0435\u0440 (\u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442\u0441\u044F Cursor)",fatalError:"\u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430",compositeMissingSlugs:"\u0412\u041D\u0418\u041C\u0410\u041D\u0418\u0415: \u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u044B \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",goddFilesTitle:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 GoDD:",goddFilesDocsPrompt:"\u0414\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u044F \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (Enter \u2014 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: documents):",goddFilesGitattributesPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .gitattributes \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesDependabotPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .github/dependabot.yml \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesCreated:"GoDD-MCP-alpha.md \u0441\u043E\u0437\u0434\u0430\u043D."},IT={en:w2,ja:I2,ru:z2};function Le(e){return IT[e]??IT.en}var r$={en:"English",ja:"\u65E5\u672C\u8A9E",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"};var x=e=>({win32:e,darwin:e,linux:e}),k=(e,...t)=>t.some(r=>e.programming_languages.includes(r)),ii=(e,...t)=>t.some(r=>e.mobile.includes(r)),P2=[{category:"vcs",tool:"gh",installCmd:{win32:"winget install GitHub.cli",darwin:"brew install gh",linux:'(type -p wget >/dev/null || sudo apt-get install wget -y) && sudo mkdir -p -m 755 /etc/apt/keyrings && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt-get update && sudo apt-get install gh -y'},universal:!0,condition:()=>!0},{category:"browser_automation",tool:"browser-use",installCmd:x("pip install --upgrade browser-use"),universal:!0,condition:()=>!0},{category:"secret_scanning",tool:"gitleaks",installCmd:{win32:"winget install Gitleaks.Gitleaks",darwin:"brew install gitleaks",linux:"go install github.com/gitleaks/gitleaks/v8@latest"},universal:!0,condition:()=>!0},{category:"e2e_testing",tool:"playwright",installCmd:x("npm i -D @playwright/test@latest && npx playwright install"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unit_testing",tool:"vitest",installCmd:x("npm i -D vitest@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"linting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"formatting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"type_checking",tool:"typescript",installCmd:x("npm i -D typescript@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"coverage",tool:"@vitest/coverage-v8",installCmd:x("npm i -D @vitest/coverage-v8@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unused_code",tool:"knip",installCmd:x("npm i -D knip@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"dependency_analysis",tool:"dependency-cruiser",installCmd:x("npm i -D dependency-cruiser@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"documentation",tool:"typedoc",installCmd:x("npm i -D typedoc@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"e2e_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest httpx pytest-asyncio"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest"),universal:!1,condition:e=>k(e,"python")},{category:"linting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"formatting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"type_checking",tool:"pyright",installCmd:x("pip install --upgrade pyright"),universal:!1,condition:e=>k(e,"python")},{category:"coverage",tool:"pytest-cov",installCmd:x("pip install --upgrade pytest-cov"),universal:!1,condition:e=>k(e,"python")},{category:"unused_code",tool:"vulture",installCmd:x("pip install --upgrade vulture"),universal:!1,condition:e=>k(e,"python")},{category:"dependency_analysis",tool:"pipdeptree",installCmd:x("pip install --upgrade pipdeptree"),universal:!1,condition:e=>k(e,"python")},{category:"documentation",tool:"mkdocs",installCmd:x("pip install --upgrade mkdocs mkdocs-material"),universal:!1,condition:e=>k(e,"python")},{category:"security_analysis",tool:"bandit",installCmd:x("pip install --upgrade bandit"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"testify",installCmd:x("go get github.com/stretchr/testify@latest"),universal:!1,condition:e=>k(e,"go")},{category:"formatting",tool:"gofmt",installCmd:x("echo gofmt \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"coverage",tool:"go-cover",installCmd:x("echo go test -cover \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"linting",tool:"golangci-lint",installCmd:{win32:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest",darwin:"brew install golangci-lint",linux:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"},universal:!1,condition:e=>k(e,"go")},{category:"unused_code",tool:"deadcode",installCmd:x("go install golang.org/x/tools/cmd/deadcode@latest"),universal:!1,condition:e=>k(e,"go")},{category:"documentation",tool:"godoc",installCmd:x("go install golang.org/x/tools/cmd/godoc@latest"),universal:!1,condition:e=>k(e,"go")},{category:"security_analysis",tool:"gosec",installCmd:x("go install github.com/securego/gosec/v2/cmd/gosec@latest"),universal:!1,condition:e=>k(e,"go")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 \u2014 add to pom.xml or build.gradle"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"linting",tool:"checkstyle",installCmd:x("echo Checkstyle \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"formatting",tool:"google-java-format",installCmd:x("echo google-java-format \u2014 add to build config"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"coverage",tool:"jacoco",installCmd:x("echo JaCoCo \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"security_analysis",tool:"spotbugs",installCmd:x("echo SpotBugs \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 + MockK \u2014 add to build.gradle.kts"),universal:!1,condition:e=>k(e,"kotlin")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"formatting",tool:"ktlint",installCmd:x("echo ktlint \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"coverage",tool:"kover",installCmd:x("echo Kover \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"documentation",tool:"dokka",installCmd:x("echo Dokka \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"csharp")},{category:"formatting",tool:"dotnet-format",installCmd:x("echo dotnet format \u2014 built-in (.NET 6+)"),universal:!1,condition:e=>k(e,"csharp")},{category:"coverage",tool:"coverlet",installCmd:x("dotnet add package coverlet.collector"),universal:!1,condition:e=>k(e,"csharp")},{category:"linting",tool:"dotnet-analyzers",installCmd:x("echo .NET Analyzers \u2014 built-in with .NET 5+ SDK"),universal:!1,condition:e=>k(e,"csharp")},{category:"documentation",tool:"docfx",installCmd:x("dotnet tool install -g docfx"),universal:!1,condition:e=>k(e,"csharp")},{category:"unit_testing",tool:"googletest",installCmd:x("echo GoogleTest \u2014 add via CMake FetchContent"),universal:!1,condition:e=>k(e,"cpp","c")},{category:"linting",tool:"clang-tidy",installCmd:{win32:"choco install llvm",darwin:"brew install llvm",linux:"sudo apt-get install -y clang-tidy"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"coverage",tool:"lcov",installCmd:{win32:"choco install lcov",darwin:"brew install lcov",linux:"sudo apt-get install -y lcov"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"documentation",tool:"doxygen",installCmd:{win32:"choco install doxygen.install",darwin:"brew install doxygen",linux:"sudo apt-get install -y doxygen"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"security_analysis",tool:"cppcheck",installCmd:{win32:"choco install cppcheck",darwin:"brew install cppcheck",linux:"sudo apt-get install -y cppcheck"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"unit_testing",tool:"phpunit",installCmd:x("composer require --dev phpunit/phpunit"),universal:!1,condition:e=>k(e,"php")},{category:"linting",tool:"phpstan",installCmd:x("composer require --dev phpstan/phpstan"),universal:!1,condition:e=>k(e,"php")},{category:"formatting",tool:"php-cs-fixer",installCmd:x("composer require --dev friendsofphp/php-cs-fixer"),universal:!1,condition:e=>k(e,"php")},{category:"documentation",tool:"phpdoc",installCmd:x("composer require --dev phpdocumentor/phpdocumentor"),universal:!1,condition:e=>k(e,"php")},{category:"security_analysis",tool:"psalm",installCmd:x("composer require --dev vimeo/psalm"),universal:!1,condition:e=>k(e,"php")},{category:"unit_testing",tool:"rspec",installCmd:x("gem install rspec && rspec --init"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"formatting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"coverage",tool:"simplecov",installCmd:x("gem install simplecov"),universal:!1,condition:e=>k(e,"ruby")},{category:"documentation",tool:"yard",installCmd:x("gem install yard"),universal:!1,condition:e=>k(e,"ruby")},{category:"security_analysis",tool:"brakeman",installCmd:x("gem install brakeman"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"formatting",tool:"swiftformat",installCmd:{win32:"echo SwiftFormat \u2014 not available on Windows",darwin:"brew install swiftformat",linux:"echo SwiftFormat \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"unit_testing",tool:"cargo-test",installCmd:x("echo cargo test is built into the Rust toolchain"),universal:!1,condition:e=>k(e,"rust")},{category:"linting",tool:"clippy",installCmd:x("rustup component add clippy"),universal:!1,condition:e=>k(e,"rust")},{category:"formatting",tool:"rustfmt",installCmd:x("rustup component add rustfmt"),universal:!1,condition:e=>k(e,"rust")},{category:"coverage",tool:"tarpaulin",installCmd:x("cargo install cargo-tarpaulin"),universal:!1,condition:e=>k(e,"rust")},{category:"security_analysis",tool:"cargo-audit",installCmd:x("cargo install cargo-audit"),universal:!1,condition:e=>k(e,"rust")},{category:"unit_testing",tool:"flutter-test",installCmd:x("echo flutter test \u2014 built-in with Flutter SDK"),universal:!1,condition:e=>ii(e,"flutter")},{category:"linting",tool:"flutter-lints",installCmd:x("dart pub add --dev flutter_lints"),universal:!1,condition:e=>ii(e,"flutter")},{category:"documentation",tool:"dartdoc",installCmd:x("dart pub global activate dartdoc"),universal:!1,condition:e=>k(e,"dart")},{category:"linting",tool:"credo",installCmd:x('echo Credo \u2014 add {:credo, "~> 1.7"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"type_checking",tool:"dialyxir",installCmd:x('echo Dialyxir \u2014 add {:dialyxir, "~> 1.4"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"coverage",tool:"excoveralls",installCmd:x('echo ExCoveralls \u2014 add {:excoveralls, "~> 0.18"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"documentation",tool:"ex-doc",installCmd:x('echo ExDoc \u2014 add {:ex_doc, "~> 0.34"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"unit_testing",tool:"scalatest",installCmd:x("echo ScalaTest \u2014 add to build.sbt"),universal:!1,condition:e=>k(e,"scala")},{category:"linting",tool:"scalafix",installCmd:x("echo Scalafix \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"formatting",tool:"scalafmt",installCmd:x("echo Scalafmt \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"coverage",tool:"scoverage",installCmd:x("echo Scoverage \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"unit_testing",tool:"testthat",installCmd:x(`Rscript -e 'install.packages("testthat")'`),universal:!1,condition:e=>k(e,"r")},{category:"linting",tool:"lintr",installCmd:x(`Rscript -e 'install.packages("lintr")'`),universal:!1,condition:e=>k(e,"r")},{category:"formatting",tool:"styler",installCmd:x(`Rscript -e 'install.packages("styler")'`),universal:!1,condition:e=>k(e,"r")},{category:"coverage",tool:"covr",installCmd:x(`Rscript -e 'install.packages("covr")'`),universal:!1,condition:e=>k(e,"r")},{category:"documentation",tool:"roxygen2",installCmd:x(`Rscript -e 'install.packages("roxygen2")'`),universal:!1,condition:e=>k(e,"r")},{category:"unit_testing",tool:"hspec",installCmd:x("cabal install hspec"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"hlint",installCmd:x("cabal install hlint"),universal:!1,condition:e=>k(e,"haskell")},{category:"formatting",tool:"ormolu",installCmd:x("cabal install ormolu"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"perlcritic",installCmd:x("cpanm Perl::Critic"),universal:!1,condition:e=>k(e,"perl")},{category:"formatting",tool:"perltidy",installCmd:x("cpanm Perl::Tidy"),universal:!1,condition:e=>k(e,"perl")},{category:"linting",tool:"clj-kondo",installCmd:{win32:"echo clj-kondo \u2014 download from GitHub releases",darwin:"brew install borkdude/brew/clj-kondo",linux:"echo clj-kondo \u2014 download from GitHub releases"},universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"cljfmt",installCmd:x("echo cljfmt \u2014 add to deps.edn"),universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"juliaformatter",installCmd:x(`julia -e 'using Pkg; Pkg.add("JuliaFormatter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"documentation",tool:"documenter",installCmd:x(`julia -e 'using Pkg; Pkg.add("Documenter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"unit_testing",tool:"busted",installCmd:x("luarocks install busted"),universal:!1,condition:e=>k(e,"lua")},{category:"linting",tool:"luacheck",installCmd:x("luarocks install luacheck"),universal:!1,condition:e=>k(e,"lua")},{category:"formatting",tool:"stylua",installCmd:{win32:"cargo install stylua",darwin:"brew install stylua",linux:"cargo install stylua"},universal:!1,condition:e=>k(e,"lua")},{category:"unit_testing",tool:"forge-test",installCmd:{win32:"echo Foundry \u2014 install from https://getfoundry.sh",darwin:"curl -L https://foundry.paradigm.xyz | bash && foundryup",linux:"curl -L https://foundry.paradigm.xyz | bash && foundryup"},universal:!1,condition:e=>k(e,"solidity")},{category:"linting",tool:"solhint",installCmd:x("npm i -g solhint@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"formatting",tool:"prettier-solidity",installCmd:x("npm i -D prettier@latest prettier-plugin-solidity@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"security_analysis",tool:"slither",installCmd:x("pip install --upgrade slither-analyzer"),universal:!1,condition:e=>k(e,"solidity")},{category:"e2e_testing",tool:"detox",installCmd:x("npm i -D detox@latest"),universal:!1,condition:e=>ii(e,"react-native","expo")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>ii(e,"jetpack-compose","kotlin-multiplatform")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>ii(e,"swiftui","uikit")},{category:"e2e_testing",tool:"cypress",installCmd:x("npm i -D cypress@latest"),universal:!1,condition:e=>ii(e,"ionic","capacitor")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>ii(e,"maui")},{category:"linting",tool:"gdlint",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"formatting",tool:"gdformat",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"fsharp")},{category:"formatting",tool:"fantomas",installCmd:x("dotnet tool install -g fantomas"),universal:!1,condition:e=>k(e,"fsharp")},{category:"unit_testing",tool:"alcotest",installCmd:x("opam install alcotest"),universal:!1,condition:e=>k(e,"ocaml")},{category:"formatting",tool:"ocamlformat",installCmd:x("opam install ocamlformat"),universal:!1,condition:e=>k(e,"ocaml")},{category:"unit_testing",tool:"eunit",installCmd:x("echo EUnit is built into OTP \u2014 use rebar3 eunit"),universal:!1,condition:e=>k(e,"erlang")},{category:"linting",tool:"elvis",installCmd:x("echo elvis \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"formatting",tool:"erlfmt",installCmd:x("echo erlfmt \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"unit_testing",tool:"zig-test",installCmd:x("echo zig test is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"formatting",tool:"zig-fmt",installCmd:x("echo zig fmt is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"unit_testing",tool:"nim-unittest",installCmd:x("echo nim unittest is built into the Nim standard library"),universal:!1,condition:e=>k(e,"nim")},{category:"formatting",tool:"nimpretty",installCmd:x("echo nimpretty is built into the Nim toolchain"),universal:!1,condition:e=>k(e,"nim")},{category:"linting",tool:"ameba",installCmd:x("echo Ameba \u2014 add to shard.yml"),universal:!1,condition:e=>k(e,"crystal")},{category:"unit_testing",tool:"dub-test",installCmd:x("echo dub test is built into the D toolchain"),universal:!1,condition:e=>k(e,"d")},{category:"linting",tool:"codenarc",installCmd:x("echo CodeNarc \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"groovy")},{category:"linting",tool:"oclint",installCmd:{win32:"echo OCLint \u2014 not available on Windows",darwin:"brew install oclint",linux:"echo OCLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"objective-c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"objective-c")},{category:"unit_testing",tool:"mstest",installCmd:x("dotnet add package MSTest.TestFramework MSTest.TestAdapter"),universal:!1,condition:e=>k(e,"visual-basic")},{category:"unit_testing",tool:"pester",installCmd:x("Install-Module -Name Pester -Force -SkipPublisherCheck"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"psscriptanalyzer",installCmd:x("Install-Module -Name PSScriptAnalyzer -Force"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"formatting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"linting",tool:"shellcheck",installCmd:{win32:"winget install koalaman.shellcheck",darwin:"brew install shellcheck",linux:"sudo apt-get install -y shellcheck"},universal:!1,condition:e=>k(e,"bash")},{category:"formatting",tool:"shfmt",installCmd:{win32:"go install mvdan.cc/sh/v3/cmd/shfmt@latest",darwin:"brew install shfmt",linux:"go install mvdan.cc/sh/v3/cmd/shfmt@latest"},universal:!1,condition:e=>k(e,"bash")}];function zT(e){let t=new Set,r=[];for(let i of P2)t.has(i.category)||i.condition(e)&&(r.push(i),t.add(i.category));return r}var Fe=require("node:fs"),er=require("node:path");var Zp="<!-- GoDD:start -->",Fp="<!-- GoDD:end -->";function T2(e){let t=(0,er.resolve)(e,".godd","state","current-phase.json");if(!(0,Fe.existsSync)(t))return null;try{let r=JSON.parse((0,Fe.readFileSync)(t,"utf-8")),i=["","### NES Context (Next Edit Suggestions)",""];return r.phase&&i.push(`- **Current phase**: ${r.phase} (${r.status??"unknown"})`),r.workflow_context&&i.push(`- **Context**: ${r.workflow_context}`),Array.isArray(r.next_likely_files)&&r.next_likely_files.length>0&&i.push(`- **Next likely files**: ${r.next_likely_files.join(", ")}`),i.join(`
|
|
190
|
+
`)}var jr="1.25.18";var Yb={en:{dev:"Development (plan \u2192 implement \u2192 test \u2192 quality \u2192 docs in stages)",check:"Quality gate (verify Spec alignment, tests, types, lint, security)",docs:"Generate/update documentation",ship:"Ship (commit at proper granularity \u2192 quality check \u2192 push \u2192 create PR)",setup:"Environment setup (with recommended stack presets, confirms missing info)",review:"Review (CTO-level review + quality gate)",test:"Run/create tests",impact:"Impact analysis",commit:"Commit changes",push:"Push to remote",pr:"Create PR (template-compliant)",deploy:"Deploy (with verification & rollback plan)",adr:"Create ADR (Architecture Decision Record)",release:"Generate release notes (SemVer-compliant)",github:"GitHub configuration (repository/branch protection, etc.)",config:"Generate/repair config.godd (auto-detect stack + validation)",questions:"Interactive Q&A from question list (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"Browser-based E2E testing (execute & verify critical user flows)",benchmark:"Competitive prompt analysis (compare GoDD vs Cursor Rules / Claude Code / Codex)",map:"Project knowledge graph (visualize architecture & dependencies with Mermaid)",learn:"Save/recall project-specific patterns, conventions, and pitfalls",diagram:"Auto-update architecture diagrams (maintain living Mermaid docs in sync with code)",slide:"Generate presentation slides from project docs (Marp Markdown format)",design:"Generate/update visual designs from codebase (Pencil.dev sync)"},ja:{dev:"\u958B\u767A\uFF08\u6BB5\u968E\u7684\u306B\u8A08\u753B\u2192\u5B9F\u88C5\u2192\u30C6\u30B9\u30C8\u2192\u54C1\u8CEA\u2192\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u5B9F\u884C\uFF09",check:"\u54C1\u8CEA\u30B2\u30FC\u30C8\uFF08Spec\u6574\u5408\u30FB\u30C6\u30B9\u30C8\u30FB\u578B\u30FBLint\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3092\u691C\u8A3C\uFF09",docs:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210/\u66F4\u65B0",ship:"\u63D0\u51FA\uFF08\u9069\u5207\u306A\u7C92\u5EA6\u3067\u30B3\u30DF\u30C3\u30C8 \u2192 \u54C1\u8CEA\u30C1\u30A7\u30C3\u30AF \u2192 \u30D7\u30C3\u30B7\u30E5 \u2192 PR \u4F5C\u6210\uFF09",setup:"\u74B0\u5883\u69CB\u7BC9\uFF08\u63A8\u5968\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\u4ED8\u304D\u30FB\u4E0D\u8DB3\u60C5\u5831\u306F\u78BA\u8A8D\uFF09",review:"\u30EC\u30D3\u30E5\u30FC\uFF08CTO \u30EC\u30D9\u30EB\u306E\u30EC\u30D3\u30E5\u30FC + \u54C1\u8CEA\u30B2\u30FC\u30C8\uFF09",test:"\u30C6\u30B9\u30C8\u5B9F\u884C/\u4F5C\u6210",impact:"\u5F71\u97FF\u5206\u6790",commit:"\u5909\u66F4\u3092\u30B3\u30DF\u30C3\u30C8",push:"\u30EA\u30E2\u30FC\u30C8\u306B\u30D7\u30C3\u30B7\u30E5",pr:"PR \u4F5C\u6210\uFF08\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u6E96\u62E0\uFF09",deploy:"\u30C7\u30D7\u30ED\u30A4\uFF08\u691C\u8A3C\u30FB\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u8A08\u753B\u4ED8\u304D\uFF09",adr:"ADR\uFF08Architecture Decision Record\uFF09\u4F5C\u6210",release:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u751F\u6210\uFF08SemVer \u6E96\u62E0\uFF09",github:"GitHub \u8A2D\u5B9A\uFF08\u30EA\u30DD\u30B8\u30C8\u30EA/\u30D6\u30E9\u30F3\u30C1\u4FDD\u8B77\u7B49\uFF09",config:"config.godd \u3092\u6B63\u78BA\u306B\u751F\u6210\u30FB\u4FEE\u6B63\u3059\u308B\uFF08\u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA + \u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\u30F3\uFF09",questions:"\u8CEA\u554F\u30EA\u30B9\u30C8\uFF08\u8CEA\u554F\u30EA\u30B9\u30C8.md\uFF09\u304B\u3089\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u306B\u8CEA\u554F\u3092\u7BA1\u7406",e2e:"\u30D6\u30E9\u30A6\u30B6\u30D9\u30FC\u30B9 E2E \u30C6\u30B9\u30C8\uFF08\u91CD\u8981\u30E6\u30FC\u30B6\u30FC\u30D5\u30ED\u30FC\u306E\u5B9F\u884C\u30FB\u691C\u8A3C\uFF09",benchmark:"\u7AF6\u5408\u30D7\u30ED\u30F3\u30D7\u30C8\u5206\u6790\uFF08GoDD vs Cursor Rules / Claude Code / Codex \u3092\u6BD4\u8F03\uFF09",map:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\uFF08Mermaid \u3067\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u30FB\u4F9D\u5B58\u95A2\u4FC2\u3092\u53EF\u8996\u5316\uFF09",learn:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u56FA\u6709\u306E\u30D1\u30BF\u30FC\u30F3\u30FB\u6163\u4F8B\u30FB\u843D\u3068\u3057\u7A74\u3092\u4FDD\u5B58/\u53C2\u7167",diagram:"\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u56F3\u306E\u81EA\u52D5\u66F4\u65B0\uFF08\u30B3\u30FC\u30C9\u3068\u540C\u671F\u3057\u305F Mermaid \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u7DAD\u6301\uFF09",slide:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304B\u3089\u30D7\u30EC\u30BC\u30F3\u30B9\u30E9\u30A4\u30C9\u3092\u751F\u6210\uFF08Marp Markdown \u5F62\u5F0F\uFF09",design:"\u30B3\u30FC\u30C9\u30D9\u30FC\u30B9\u304B\u3089\u30D3\u30B8\u30E5\u30A2\u30EB\u30C7\u30B6\u30A4\u30F3\u3092\u751F\u6210/\u66F4\u65B0\uFF08Pencil.dev \u540C\u671F\uFF09"},ru:{dev:"\u0420\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u043A\u0430 (\u043F\u043B\u0430\u043D \u2192 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u2192 \u0442\u0435\u0441\u0442\u044B \u2192 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u043E \u2192 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u043F\u043E\u044D\u0442\u0430\u043F\u043D\u043E)",check:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 (Spec, \u0442\u0435\u0441\u0442\u044B, \u0442\u0438\u043F\u044B, \u043B\u0438\u043D\u0442\u0435\u0440, \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C)",docs:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438",ship:"\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 (\u043A\u043E\u043C\u043C\u0438\u0442 \u2192 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u2192 \u043F\u0443\u0448 \u2192 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 PR)",setup:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0441\u0440\u0435\u0434\u044B (\u0441 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u043C\u0438 \u043F\u0440\u0435\u0441\u0435\u0442\u0430\u043C\u0438 \u0441\u0442\u0435\u043A\u0430)",review:"\u0420\u0435\u0432\u044C\u044E (CTO-\u0443\u0440\u043E\u0432\u0435\u043D\u044C + \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430)",test:"\u0417\u0430\u043F\u0443\u0441\u043A/\u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0442\u0435\u0441\u0442\u043E\u0432",impact:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0432\u043B\u0438\u044F\u043D\u0438\u044F",commit:"\u0417\u0430\u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",push:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439",pr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C PR (\u043F\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u0443)",deploy:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C (\u0441 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u043E\u0439 \u0438 \u043F\u043B\u0430\u043D\u043E\u043C \u043E\u0442\u043A\u0430\u0442\u0430)",adr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C ADR (\u0437\u0430\u043F\u0438\u0441\u044C \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u043E\u0433\u043E \u0440\u0435\u0448\u0435\u043D\u0438\u044F)",release:"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043A \u0440\u0435\u043B\u0438\u0437\u0443 (SemVer)",github:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 GitHub (\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439/\u0437\u0430\u0449\u0438\u0442\u0430 \u0432\u0435\u0442\u043E\u043A \u0438 \u0442.\u0434.)",config:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 config.godd (\u0430\u0432\u0442\u043E\u0434\u0435\u0442\u0435\u043A\u0442 \u0441\u0442\u0435\u043A\u0430 + \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u044F)",questions:"\u0418\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 Q&A \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"E2E-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (\u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u043F\u043E\u0442\u043E\u043A\u043E\u0432)",benchmark:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u044B\u0439 \u0430\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u043C\u043F\u0442\u043E\u0432 (\u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u0435 GoDD \u0441 Cursor Rules / Claude Code / Codex)",map:"\u0413\u0440\u0430\u0444 \u0437\u043D\u0430\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u044B \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 Mermaid)",learn:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435/\u0432\u044B\u0437\u043E\u0432 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u0447\u043D\u044B\u0445 \u0434\u043B\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u043F\u0430\u0442\u0442\u0435\u0440\u043D\u043E\u0432, \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0439 \u0438 \u043F\u043E\u0434\u0432\u043E\u0434\u043D\u044B\u0445 \u043A\u0430\u043C\u043D\u0435\u0439",diagram:"\u0410\u0432\u0442\u043E\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u044B\u0445 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C (\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u044B\u0445 Mermaid-\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432)",slide:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F \u0441\u043B\u0430\u0439\u0434\u043E\u0432 \u0438\u0437 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0444\u043E\u0440\u043C\u0430\u0442 Marp Markdown)",design:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0434\u0438\u0437\u0430\u0439\u043D\u0430 \u0438\u0437 \u043A\u043E\u0434\u043E\u0432\u043E\u0439 \u0431\u0430\u0437\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F Pencil.dev)"}};var S2={dev:[{name:"request",required:!0},{name:"done_when",required:!1}],check:[{name:"target",required:!1}],docs:[{name:"target",required:!1}],ship:[{name:"title",required:!1}],review:[{name:"target",required:!1},{name:"action",required:!1}],test:[{name:"target",required:!1}],impact:[{name:"target",required:!1}],commit:[{name:"message",required:!1}],pr:[{name:"title",required:!1}],deploy:[{name:"target",required:!1}],adr:[{name:"title",required:!1}],release:[{name:"tag",required:!1}],setup:[{name:"preset",required:!1}],github:[{name:"request",required:!1}],config:[],questions:[{name:"action",required:!1}],e2e:[{name:"target",required:!1},{name:"url",required:!1}],benchmark:[{name:"target",required:!1}],map:[{name:"target",required:!1}],learn:[{name:"action",required:!1}],diagram:[{name:"target",required:!1}],slide:[{name:"type",required:!1},{name:"source",required:!1}],design:[{name:"target",required:!1},{name:"output",required:!1}]},Qb={en:{dev:{request:"Request details",done_when:"Completion criteria"},check:{target:"Check target (omit for all recent changes)"},docs:{target:"Target file/feature"},ship:{title:"PR title"},review:{target:"Target file/PR (e.g., PR URL, PR number, file path)",action:"Post-review action (approve / request-changes / comment)"},test:{target:"Test target"},impact:{target:"Analysis target"},commit:{message:"Commit message"},pr:{title:"PR title"},deploy:{target:"Deploy target"},adr:{title:"Decision title"},release:{tag:"Target tag (omit for HEAD since last release)"},setup:{preset:"Stack preset (omakase = recommended)"},github:{request:"Configuration request"},questions:{action:"Action: list (default) / resolve <id> / add <question>"},e2e:{target:"Target page/flow to test",url:"Base URL of the application"},benchmark:{target:"Competitor system to analyze (cursor-rules / claude-code / codex / all)"},map:{target:"Target scope (module/directory/layer to visualize)"},learn:{action:"Action: save <category> <content> / recall / list / forget <id>"},diagram:{target:"Target diagram scope (architecture / module / data-flow / erd / all)"},slide:{type:"Presentation type (sprint-review / architecture / release / onboarding)",source:"Source documents to base slides on"},design:{target:"Design target (all / page name / component name)",output:"Output format (pencil / tokens)"}},ja:{dev:{request:"\u4F9D\u983C\u5185\u5BB9",done_when:"\u5B8C\u4E86\u6761\u4EF6"},check:{target:"\u30C1\u30A7\u30C3\u30AF\u5BFE\u8C61\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u306E\u5909\u66F4\u5168\u4F53\uFF09"},docs:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/\u6A5F\u80FD"},ship:{title:"PR \u30BF\u30A4\u30C8\u30EB"},review:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/PR\uFF08\u4F8B: PR URL, PR\u756A\u53F7, \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF09",action:"\u30EC\u30D3\u30E5\u30FC\u5F8C\u306E\u30A2\u30AF\u30B7\u30E7\u30F3\uFF08approve / request-changes / comment\uFF09"},test:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61"},impact:{target:"\u5206\u6790\u5BFE\u8C61"},commit:{message:"\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8"},pr:{title:"PR \u30BF\u30A4\u30C8\u30EB"},deploy:{target:"\u30C7\u30D7\u30ED\u30A4\u5148"},adr:{title:"\u5224\u65AD\u306E\u30BF\u30A4\u30C8\u30EB"},release:{tag:"\u5BFE\u8C61\u30BF\u30B0\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u30EA\u30EA\u30FC\u30B9\u304B\u3089 HEAD\uFF09"},setup:{preset:"\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\uFF08omakase = \u63A8\u5968\u69CB\u6210\uFF09"},github:{request:"\u8A2D\u5B9A\u5185\u5BB9"},questions:{action:"\u64CD\u4F5C: list\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09/ resolve <id> / add <\u8CEA\u554F\u6587>"},e2e:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61\u306E\u30DA\u30FC\u30B8/\u30D5\u30ED\u30FC",url:"\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30D9\u30FC\u30B9 URL"},benchmark:{target:"\u5206\u6790\u5BFE\u8C61\u306E\u7AF6\u5408\uFF08cursor-rules / claude-code / codex / all\uFF09"},map:{target:"\u53EF\u8996\u5316\u5BFE\u8C61\uFF08\u30E2\u30B8\u30E5\u30FC\u30EB/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA/\u30EC\u30A4\u30E4\u30FC\uFF09"},learn:{action:"\u64CD\u4F5C: save <\u30AB\u30C6\u30B4\u30EA> <\u5185\u5BB9> / recall / list / forget <id>"},diagram:{target:"\u56F3\u306E\u5BFE\u8C61\u7BC4\u56F2\uFF08architecture / module / data-flow / erd / all\uFF09"},slide:{type:"\u30D7\u30EC\u30BC\u30F3\u7A2E\u985E\uFF08sprint-review / architecture / release / onboarding\uFF09",source:"\u30BD\u30FC\u30B9\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8"},design:{target:"\u30C7\u30B6\u30A4\u30F3\u5BFE\u8C61\uFF08all / \u30DA\u30FC\u30B8\u540D / \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\uFF09",output:"\u51FA\u529B\u5F62\u5F0F\uFF08pencil / tokens\uFF09"}},ru:{dev:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",done_when:"\u041A\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F"},check:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u0432\u0441\u0435 \u043D\u0435\u0434\u0430\u0432\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F)"},docs:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/\u0444\u0443\u043D\u043A\u0446\u0438\u044F"},ship:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},review:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/PR (URL PR, \u043D\u043E\u043C\u0435\u0440 PR, \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443)",action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043F\u043E\u0441\u043B\u0435 \u0440\u0435\u0432\u044C\u044E (approve / request-changes / comment)"},test:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F"},impact:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0430\u043D\u0430\u043B\u0438\u0437\u0430"},commit:{message:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043A\u043E\u043C\u043C\u0438\u0442\u0430"},pr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},deploy:{target:"\u0426\u0435\u043B\u044C \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F"},adr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0440\u0435\u0448\u0435\u043D\u0438\u044F"},release:{tag:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0442\u0435\u0433 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u043E\u0442 HEAD \u0434\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0440\u0435\u043B\u0438\u0437\u0430)"},setup:{preset:"\u041F\u0440\u0435\u0441\u0435\u0442 \u0441\u0442\u0435\u043A\u0430 (omakase = \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F)"},github:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438"},questions:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: list (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E) / resolve <id> / add <\u0432\u043E\u043F\u0440\u043E\u0441>"},e2e:{target:"\u0426\u0435\u043B\u0435\u0432\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430/\u043F\u043E\u0442\u043E\u043A \u0434\u043B\u044F \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",url:"\u0411\u0430\u0437\u043E\u0432\u044B\u0439 URL \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},benchmark:{target:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0438\u0441\u0442\u0435\u043C\u0430 \u0434\u043B\u044F \u0430\u043D\u0430\u043B\u0438\u0437\u0430 (cursor-rules / claude-code / codex / all)"},map:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 (\u043C\u043E\u0434\u0443\u043B\u044C/\u043A\u0430\u0442\u0430\u043B\u043E\u0433/\u0441\u043B\u043E\u0439 \u0434\u043B\u044F \u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438)"},learn:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: save <\u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F> <\u0441\u043E\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0435> / recall / list / forget <id>"},diagram:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B (architecture / module / data-flow / erd / all)"},slide:{type:"\u0422\u0438\u043F \u043F\u0440\u0435\u0437\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (sprint-review / architecture / release / onboarding)",source:"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B"},design:{target:"\u0426\u0435\u043B\u044C \u0434\u0438\u0437\u0430\u0439\u043D\u0430 (all / \u0438\u043C\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B / \u0438\u043C\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430)",output:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0432\u044B\u0432\u043E\u0434\u0430 (pencil / tokens)"}}},x2=["dev","check","docs","ship","setup","review","test","impact","commit","push","pr","deploy","adr","release","github","config","questions","e2e","map","learn","diagram","slide","design"];var Xb={dev:{slugs:["common","dev"]},ship:{slugs:["common","commit","push","pr","check"]},review:{slugs:["common","review","check"]}};var Lp=new Set(["dev","review","setup","test","impact","docs","check","deploy","adr","release","e2e","benchmark","map","learn","diagram","slide","design"]);function xT(e){return e in Xb||Lp.has(e)}function e$(e){if(Xb[e])return Xb[e].slugs;if(Lp.has(e))return["common",e]}var Up=new Set(["config","questions"]);function t$(e="en"){let t=V.toolPrefix,r=Yb[e]??Yb.en;return x2.map(i=>({name:`${t}${i}`,description:r[i]??Yb.en[i]}))}function wT(e="en"){let t=V.toolPrefix,r=Qb[e]??Qb.en,i=Qb.en;return t$(e).map(n=>{let o=n.name.replace(t,""),s=S2[o]??[];return{name:n.name,description:n.description,inputSchema:{type:"object",properties:Object.fromEntries(s.map(a=>[a.name,{type:"string",description:r[o]?.[a.name]??i[o]?.[a.name]??a.name}])),required:s.filter(a=>a.required).map(a=>a.name)}}})}var ai=require("node:fs"),MT=require("node:path"),qT=Uo(Jb(),1);var Ne=require("node:fs"),Re=require("node:path"),jT=require("node:readline"),Lo=require("node:child_process");var w2={selectDisplayLanguage:"Select display language:",selectMainLanguage:"Select the main language for your project:",selectSubLanguages:"Select sub-languages used in your team:",selectSubLanguagesHint:"(comma-separated numbers, or press Enter to skip)",skipSubLanguages:"No sub-languages selected.",scanningProject:"Scanning project...",detectedStack:"Detected stack:",confirmStack:"Is this correct?",manualStackEntry:"Please select your tech stack manually.",selectProjectType:"What are you building? (select all that apply)",projectTypes:{web:"Web App (frontend + backend)",api:"API / Backend only",mobile:"Mobile App",game:"Game",cli:"CLI / Library / Script",desktop:"Desktop App"},selectProgrammingLanguages:"Programming languages:",selectFrontend:"Frontend frameworks:",selectBackend:"Backend frameworks:",selectDatabase:"Databases:",selectOrm:"ORM:",selectInfra:"Infrastructure:",selectGame:"Game engines / frameworks:",selectMobile:"Mobile / Cross-platform:",selectOther:"Other technologies not listed above (comma-separated, or press Enter to skip):",toolRecommendationsTitle:"Recommended tools for your stack:",toolInstallMode:"How would you like to install?",toolInstallDefault:"Default (install all)",toolInstallCustom:"Custom (choose individually)",toolInstallSkip:"Skip (install later)",toolInstallPrompt:"Install?",toolInstalling:"Installing",toolInstallSuccess:"Installed successfully.",toolAlreadyInstalled:"Already installed (up to date). Skipped.",toolInstallFailed:"Installation failed. You can install it later via setup prompt.",toolSkippedInProject:"Already in package.json \u2014 skipped",toolGuidance:"Manual setup required \u2014 see message above",toolSummaryTitle:"Installation Summary",toolSummarySuccess:"Installed",toolSummaryAlready:"Already up to date",toolSummarySkipped:"In package.json",toolSummaryGuidance:"Manual setup",toolSummaryFailed:"Failed",toolRetryHint:"Retry",auditRunning:"Running security audit...",auditClean:"No vulnerabilities found",auditWarning:"Vulnerabilities detected",auditFixPrompt:"Run audit fix to resolve high/critical vulnerabilities?",auditFixSuccess:"Audit fix applied successfully",auditFixFailed:"Audit fix could not resolve all vulnerabilities \u2014 review manually",toolUniversalTag:"all projects",toolStackSpecificTag:"your stack",toolCategories:{vcs:"Version Control",browser_automation:"Browser Automation",e2e_testing:"E2E Testing",unit_testing:"Unit Testing",linting:"Linting",formatting:"Formatting",type_checking:"Type Checking",coverage:"Coverage",documentation:"Documentation",secret_scanning:"Secret Scanning",security_analysis:"Security Analysis",unused_code:"Unused Code Detection",dependency_analysis:"Dependency Analysis"},githubDetected:"GitHub repository detected.",githubConfigPrompt:"Enable auto-delete for merged branches?",githubConfigSkipped:"Skipped GitHub auto-delete configuration.",githubConfigSuccess:"\u2713 Merged branches will be auto-deleted on GitHub.",githubConfigFailed:"\u2717 Could not configure auto-delete. Run `gh repo edit --delete-branch-on-merge` manually.",configCreated:"Generated",configExists:"already exists",configOverwritten:"Overwritten",useForceFlag:"Use --force to overwrite.",languages:"Languages",frontend:"Frontend",backend:"Backend",database:"Database",orm:"ORM",infra:"Infra",game:"Game",mobile:"Mobile",other:"Other",pressEnterToClose:"Press Enter to close...",unknownCommand:"Unknown command",usage:"Usage:",installSuccess:"Registered with Cursor!",installUpdated:"Configuration updated",installUnchanged:"Already up to date",licenseNotSet:"License key is not set. Set GODD_LICENSE_KEY environment variable or run: godd install --license-key=YOUR_KEY",restartCursor:"Restart Cursor to activate the MCP server.",installFailed:"Installation failed:",uninstallTitle:"Uninstall",uninstallSuccess:"Removed from Cursor",uninstallNotFound:"Not found (already removed)",uninstallFailed:"Uninstall failed:",initTitle:"Project initialization",initAutoHint:"Non-interactive mode (--auto): stack scan + config only; tool install wizard skipped. Use interactive init when you need guided tool setup.",yes:"Yes",no:"No",none:"None",invalidChoice:"Invalid choice. Please try again.",enterNumbers:"Enter numbers",updateAvailable:"A newer version is available:",updateCurrent:"current:",licenseMissing:"GODD_LICENSE_KEY environment variable is not set.",licenseMissingHint:"Re-register with: godd install --license-key=YOUR_KEY",licenseFailed:"License validation failed",configNotFound:"not found in project directory.",configNotFoundHint:'Run "godd init" to generate project configuration for better prompt accuracy.',configUnknownValues:"contains unknown values:",didYouMean:"did you mean",serverStarted:"started (stdio)",corruptMcpJson:"is corrupt. Backed up to {backup} and creating a fresh config.",licenseNotConfigured:"License key is not configured. Set GODD_LICENSE_KEY and restart Cursor.",resolvePromptFailed:"Failed to resolve prompt",resolveToolFailed:"Failed to resolve tool",localToolFailed:"Local tool execution failed",helpInstall:"Register MCP server into Cursor",helpInit:"Initialize project (interactive; use --auto for scan-only)",helpUninstall:"Remove MCP server from Cursor",helpServe:"Start MCP stdio server (called by Cursor)",fatalError:"Fatal error",compositeMissingSlugs:"WARNING: The following sections could not be loaded",goddFilesTitle:"GoDD managed files configuration:",goddFilesDocsPrompt:"Documentation directory (press Enter for default: documents):",goddFilesGitattributesPrompt:"Auto-create .gitattributes on init if missing?",goddFilesDependabotPrompt:"Auto-create .github/dependabot.yml on init if missing?",goddFilesCreated:"GoDD-MCP-alpha.md generated."},I2={selectDisplayLanguage:"\u8868\u793A\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectMainLanguage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30A4\u30F3\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguages:"\u30C1\u30FC\u30E0\u3067\u4F7F\u7528\u3059\u308B\u30B5\u30D6\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguagesHint:"(\u30AB\u30F3\u30DE\u533A\u5207\u308A\u306E\u756A\u53F7\u3001\u307E\u305F\u306FEnter\u3067\u30B9\u30AD\u30C3\u30D7)",skipSubLanguages:"\u30B5\u30D6\u8A00\u8A9E\u306F\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002",scanningProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30B9\u30AD\u30E3\u30F3\u4E2D...",detectedStack:"\u691C\u51FA\u3055\u308C\u305F\u30B9\u30BF\u30C3\u30AF:",confirmStack:"\u3053\u306E\u5185\u5BB9\u3067\u6B63\u3057\u3044\u3067\u3059\u304B\uFF1F",manualStackEntry:"\u6280\u8853\u30B9\u30BF\u30C3\u30AF\u3092\u624B\u52D5\u3067\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",selectProjectType:"\u4F55\u3092\u4F5C\u308A\u307E\u3059\u304B\uFF1F\uFF08\u8A72\u5F53\u3059\u308B\u3082\u306E\u3092\u3059\u3079\u3066\u9078\u629E\uFF09",projectTypes:{web:"Web \u30A2\u30D7\u30EA\uFF08\u30D5\u30ED\u30F3\u30C8 + \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\uFF09",api:"API / \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u306E\u307F",mobile:"\u30E2\u30D0\u30A4\u30EB\u30A2\u30D7\u30EA",game:"\u30B2\u30FC\u30E0",cli:"CLI / \u30E9\u30A4\u30D6\u30E9\u30EA / \u30B9\u30AF\u30EA\u30D7\u30C8",desktop:"\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30A2\u30D7\u30EA"},selectProgrammingLanguages:"\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E:",selectFrontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectBackend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectDatabase:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9:",selectOrm:"ORM:",selectInfra:"\u30A4\u30F3\u30D5\u30E9:",selectGame:"\u30B2\u30FC\u30E0\u30A8\u30F3\u30B8\u30F3 / \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectMobile:"\u30E2\u30D0\u30A4\u30EB / \u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0:",selectOther:"\u4E0A\u8A18\u306B\u306A\u3044\u6280\u8853\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u5165\u529B\u3001\u30B9\u30AD\u30C3\u30D7\u306F Enter\uFF09:",toolRecommendationsTitle:"\u30B9\u30BF\u30C3\u30AF\u306B\u63A8\u5968\u3055\u308C\u308B\u30C4\u30FC\u30EB:",toolInstallMode:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",toolInstallDefault:"\u30C7\u30D5\u30A9\u30EB\u30C8\uFF08\u3059\u3079\u3066\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallCustom:"\u30AB\u30B9\u30BF\u30E0\uFF08\u500B\u5225\u306B\u9078\u629E\uFF09",toolInstallSkip:"\u30B9\u30AD\u30C3\u30D7\uFF08\u5F8C\u3067\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallPrompt:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B\uFF1F",toolInstalling:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u4E2D",toolInstallSuccess:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002",toolAlreadyInstalled:"\u6700\u65B0\u7248\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u3067\u3059\u3002\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",toolInstallFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002setup \u30D7\u30ED\u30F3\u30D7\u30C8\u3067\u5F8C\u304B\u3089\u5BFE\u5FDC\u3067\u304D\u307E\u3059\u3002",toolSkippedInProject:"package.json \u306B\u5B9A\u7FA9\u6E08\u307F \u2014 \u30B9\u30AD\u30C3\u30D7",toolGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u304C\u5FC5\u8981\u3067\u3059 \u2014 \u4E0A\u8A18\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044",toolSummaryTitle:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u7D50\u679C\u30B5\u30DE\u30EA\u30FC",toolSummarySuccess:"\u6210\u529F",toolSummaryAlready:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F",toolSummarySkipped:"package.json \u5B9A\u7FA9\u6E08\u307F",toolSummaryGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7",toolSummaryFailed:"\u5931\u6557",toolRetryHint:"\u518D\u8A66\u884C",auditRunning:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u76E3\u67FB\u3092\u5B9F\u884C\u4E2D...",auditClean:"\u8106\u5F31\u6027\u306F\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F",auditWarning:"\u8106\u5F31\u6027\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F",auditFixPrompt:"audit fix \u3092\u5B9F\u884C\u3057\u3066 high/critical \u8106\u5F31\u6027\u3092\u4FEE\u6B63\u3057\u307E\u3059\u304B\uFF1F",auditFixSuccess:"audit fix \u304C\u6B63\u5E38\u306B\u9069\u7528\u3055\u308C\u307E\u3057\u305F",auditFixFailed:"audit fix \u3067\u3059\u3079\u3066\u306E\u8106\u5F31\u6027\u3092\u89E3\u6D88\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2014 \u624B\u52D5\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044",toolUniversalTag:"\u5168\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5171\u901A",toolStackSpecificTag:"\u30B9\u30BF\u30C3\u30AF\u56FA\u6709",toolCategories:{vcs:"\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406",browser_automation:"\u30D6\u30E9\u30A6\u30B6\u81EA\u52D5\u5316",e2e_testing:"E2E \u30C6\u30B9\u30C8",unit_testing:"\u30E6\u30CB\u30C3\u30C8\u30C6\u30B9\u30C8",linting:"\u30EA\u30F3\u30BF\u30FC",formatting:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30BF\u30FC",type_checking:"\u578B\u30C1\u30A7\u30C3\u30AF",coverage:"\u30AB\u30D0\u30EC\u30C3\u30B8",documentation:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210",secret_scanning:"\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u30B9\u30AD\u30E3\u30F3",security_analysis:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u5206\u6790",unused_code:"\u672A\u4F7F\u7528\u30B3\u30FC\u30C9\u691C\u51FA",dependency_analysis:"\u4F9D\u5B58\u5206\u6790"},githubDetected:"GitHub \u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002",githubConfigPrompt:"\u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306E\u81EA\u52D5\u524A\u9664\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u304B\uFF1F",githubConfigSkipped:"GitHub \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",githubConfigSuccess:"\u2713 \u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306F GitHub \u4E0A\u3067\u81EA\u52D5\u524A\u9664\u3055\u308C\u307E\u3059\u3002",githubConfigFailed:"\u2717 \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u624B\u52D5\u3067 `gh repo edit --delete-branch-on-merge` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",configCreated:"\u3092\u751F\u6210\u3057\u307E\u3057\u305F",configExists:"\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059",configOverwritten:"\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3057\u305F",useForceFlag:"\u4E0A\u66F8\u304D\u3059\u308B\u5834\u5408\u306F --force \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",languages:"\u8A00\u8A9E",frontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9",backend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9",database:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",orm:"ORM",infra:"\u30A4\u30F3\u30D5\u30E9",game:"\u30B2\u30FC\u30E0",mobile:"\u30E2\u30D0\u30A4\u30EB",other:"\u305D\u306E\u4ED6",pressEnterToClose:"Enter \u30AD\u30FC\u3092\u62BC\u3059\u3068\u9589\u3058\u307E\u3059...",unknownCommand:"\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9",usage:"\u4F7F\u3044\u65B9:",installSuccess:"Cursor \u306B\u767B\u9332\u3057\u307E\u3057\u305F\uFF01",installUpdated:"\u8A2D\u5B9A\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",installUnchanged:"\u65E2\u306B\u6700\u65B0\u306E\u8A2D\u5B9A\u3067\u3059",licenseNotSet:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u672A\u8A2D\u5B9A\u3067\u3059\u3002\u74B0\u5883\u5909\u6570 GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3059\u308B\u304B\u3001godd install --license-key=YOUR_KEY \u3067\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",restartCursor:"Cursor \u3092\u518D\u8D77\u52D5\u3059\u308B\u3068 MCP \u30B5\u30FC\u30D0\u30FC\u304C\u6709\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",installFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",uninstallTitle:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",uninstallSuccess:"Cursor \u304B\u3089\u524A\u9664\u3057\u307E\u3057\u305F",uninstallNotFound:"\u767B\u9332\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u65E2\u306B\u524A\u9664\u6E08\u307F\uFF09",uninstallFailed:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",initTitle:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u521D\u671F\u5316",initAutoHint:"\u975E\u5BFE\u8A71\u30E2\u30FC\u30C9\uFF08--auto\uFF09: \u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA\u3068 config.godd \u306E\u307F\u3002\u30C4\u30FC\u30EB\u5C0E\u5165\u30A6\u30A3\u30B6\u30FC\u30C9\u306F\u7701\u7565\u3055\u308C\u307E\u3059\u3002\u624B\u52D5\u3067\u30C4\u30FC\u30EB\u3092\u9078\u3073\u305F\u3044\u5834\u5408\u306F\u5BFE\u8A71\u5F0F init \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002",yes:"\u306F\u3044",no:"\u3044\u3044\u3048",none:"\u306A\u3057",invalidChoice:"\u7121\u52B9\u306A\u9078\u629E\u3067\u3059\u3002\u3082\u3046\u4E00\u5EA6\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",enterNumbers:"\u756A\u53F7\u3092\u5165\u529B",updateAvailable:"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:",updateCurrent:"\u73FE\u5728:",licenseMissing:"GODD_LICENSE_KEY \u74B0\u5883\u5909\u6570\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",licenseMissingHint:"godd install --license-key=YOUR_KEY \u3067\u518D\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",licenseFailed:"\u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u5931\u6557",configNotFound:"\u304C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",configNotFoundHint:"\u300Cgodd init\u300D\u3092\u5B9F\u884C\u3057\u3066\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u3092\u751F\u6210\u3059\u308B\u3068\u3001\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u7CBE\u5EA6\u304C\u5411\u4E0A\u3057\u307E\u3059\u3002",configUnknownValues:"\u306B\u4E0D\u660E\u306A\u5024\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059:",didYouMean:"\u3082\u3057\u304B\u3057\u3066",serverStarted:"\u3092\u8D77\u52D5\u3057\u307E\u3057\u305F (stdio)",corruptMcpJson:"\u304C\u58CA\u308C\u3066\u3044\u307E\u3059\u3002{backup} \u306B\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u4F5C\u6210\u3057\u3001\u65B0\u898F\u8A2D\u5B9A\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",licenseNotConfigured:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3057\u3066 Cursor \u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",resolvePromptFailed:"\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",resolveToolFailed:"\u30C4\u30FC\u30EB\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",localToolFailed:"\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\u306E\u5B9F\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F",helpInstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u306B\u767B\u9332",helpInit:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u521D\u671F\u5316\uFF08\u5BFE\u8A71\u5F0F\uFF0F--auto \u3067\u30B9\u30AD\u30E3\u30F3\u306E\u307F\uFF09",helpUninstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u304B\u3089\u524A\u9664",helpServe:"MCP stdio \u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\uFF08Cursor \u304C\u547C\u3073\u51FA\u3057\uFF09",fatalError:"\u81F4\u547D\u7684\u306A\u30A8\u30E9\u30FC",compositeMissingSlugs:"\u8B66\u544A: \u4EE5\u4E0B\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F",goddFilesTitle:"GoDD \u7BA1\u7406\u30D5\u30A1\u30A4\u30EB\u306E\u8A2D\u5B9A:",goddFilesDocsPrompt:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u4FDD\u5B58\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF08Enter \u3067\u30C7\u30D5\u30A9\u30EB\u30C8: documents\uFF09:",goddFilesGitattributesPrompt:"init \u6642\u306B .gitattributes \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesDependabotPrompt:"init \u6642\u306B .github/dependabot.yml \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesCreated:"GoDD-MCP-alpha.md \u3092\u751F\u6210\u3057\u307E\u3057\u305F\u3002"},z2={selectDisplayLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044F\u0437\u044B\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F:",selectMainLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0435\u043A\u0442\u0430:",selectSubLanguages:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B:",selectSubLanguagesHint:"(\u043D\u043E\u043C\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430)",skipSubLanguages:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B.",scanningProject:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430...",detectedStack:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0439 \u0441\u0442\u0435\u043A:",confirmStack:"\u0412\u0441\u0451 \u0432\u0435\u0440\u043D\u043E?",manualStackEntry:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0441\u0442\u0435\u043A \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",selectProjectType:"\u0427\u0442\u043E \u0432\u044B \u0441\u043E\u0437\u0434\u0430\u0451\u0442\u0435? (\u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0441\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0435)",projectTypes:{web:"\u0412\u0435\u0431-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 (\u0444\u0440\u043E\u043D\u0442\u0435\u043D\u0434 + \u0431\u044D\u043A\u0435\u043D\u0434)",api:"API / \u0442\u043E\u043B\u044C\u043A\u043E \u0431\u044D\u043A\u0435\u043D\u0434",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435",game:"\u0418\u0433\u0440\u0430",cli:"CLI / \u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 / \u0421\u043A\u0440\u0438\u043F\u0442",desktop:"\u0414\u0435\u0441\u043A\u0442\u043E\u043F\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435"},selectProgrammingLanguages:"\u042F\u0437\u044B\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F:",selectFrontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectBackend:"\u0411\u044D\u043A\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectDatabase:"\u0411\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445:",selectOrm:"ORM:",selectInfra:"\u0418\u043D\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430:",selectGame:"\u0418\u0433\u0440\u043E\u0432\u044B\u0435 \u0434\u0432\u0438\u0436\u043A\u0438 / \u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectMobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 / \u043A\u0440\u043E\u0441\u0441\u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0435\u043D\u043D\u044B\u0435:",selectOther:"\u0422\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438, \u043D\u0435 \u0432\u043E\u0448\u0435\u0434\u0448\u0438\u0435 \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u0432\u044B\u0448\u0435 (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E, \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430):",toolRecommendationsTitle:"\u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430:",toolInstallMode:"\u041A\u0430\u043A \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstallDefault:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435)",toolInstallCustom:"\u0412\u044B\u0431\u043E\u0440\u043E\u0447\u043D\u043E (\u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u043E \u043E\u0434\u043D\u043E\u043C\u0443)",toolInstallSkip:"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435)",toolInstallPrompt:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstalling:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430",toolInstallSuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0443\u0441\u043F\u0435\u0448\u043D\u043E.",toolAlreadyInstalled:"\u0423\u0436\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u0432\u0435\u0440\u0441\u0438\u044F. \u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E.",toolInstallFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C. \u041C\u043E\u0436\u043D\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 setup.",toolSkippedInProject:"\u0423\u0436\u0435 \u0432 package.json \u2014 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E",toolGuidance:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0440\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u2014 \u0441\u043C. \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432\u044B\u0448\u0435",toolSummaryTitle:"\u0418\u0442\u043E\u0433\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438",toolSummarySuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",toolSummaryAlready:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",toolSummarySkipped:"\u0412 package.json",toolSummaryGuidance:"\u0420\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430",toolSummaryFailed:"\u041E\u0448\u0438\u0431\u043A\u0430",toolRetryHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",auditRunning:"\u0417\u0430\u043F\u0443\u0441\u043A \u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438...",auditClean:"\u0423\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u043D\u0435 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B",auditWarning:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438",auditFixPrompt:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C audit fix \u0434\u043B\u044F \u0443\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0432\u044B\u0441\u043E\u043A\u0438\u0445/\u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0435\u0439?",auditFixSuccess:"audit fix \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0451\u043D",auditFixFailed:"audit fix \u043D\u0435 \u0441\u043C\u043E\u0433 \u0443\u0441\u0442\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u2014 \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E",toolUniversalTag:"\u0432\u0441\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B",toolStackSpecificTag:"\u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430",toolCategories:{vcs:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0432\u0435\u0440\u0441\u0438\u0439",browser_automation:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430",e2e_testing:"E2E \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",unit_testing:"\u042E\u043D\u0438\u0442-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",linting:"\u041B\u0438\u043D\u0442\u0438\u043D\u0433",formatting:"\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",type_checking:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0442\u0438\u043F\u043E\u0432",coverage:"\u041F\u043E\u043A\u0440\u044B\u0442\u0438\u0435 \u043A\u043E\u0434\u0430",documentation:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",secret_scanning:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0435\u043A\u0440\u0435\u0442\u043E\u0432",security_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",unused_code:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E \u043A\u043E\u0434\u0430",dependency_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439"},githubDetected:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0451\u043D GitHub-\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439.",githubConfigPrompt:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0445 \u0432\u0435\u0442\u043E\u043A?",githubConfigSkipped:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0430.",githubConfigSuccess:"\u2713 \u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0435 \u0432\u0435\u0442\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0443\u0434\u0430\u043B\u044F\u0442\u044C\u0441\u044F \u043D\u0430 GitHub.",githubConfigFailed:"\u2717 \u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435. \u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 `gh repo edit --delete-branch-on-merge` \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",configCreated:"\u0421\u043E\u0437\u0434\u0430\u043D",configExists:"\u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442",configOverwritten:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u043D",useForceFlag:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --force \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0438.",languages:"\u042F\u0437\u044B\u043A\u0438",frontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434",backend:"\u0411\u044D\u043A\u0435\u043D\u0434",database:"\u0411\u0430\u0437\u0430 \u0434\u0430\u043D\u043D\u044B\u0445",orm:"ORM",infra:"\u0418\u043D\u0444\u0440\u0430",game:"\u0418\u0433\u0440\u044B",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435",other:"\u041F\u0440\u043E\u0447\u0435\u0435",pressEnterToClose:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Enter \u0434\u043B\u044F \u0432\u044B\u0445\u043E\u0434\u0430...",unknownCommand:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430",usage:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435:",installSuccess:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 Cursor!",installUpdated:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430",installUnchanged:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",licenseNotSet:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u0437\u0430\u0434\u0430\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438\u043B\u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435: godd install --license-key=YOUR_KEY",restartCursor:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor \u0434\u043B\u044F \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.",installFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438:",uninstallTitle:"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435",uninstallSuccess:"\u0423\u0434\u0430\u043B\u0435\u043D\u043E \u0438\u0437 Cursor",uninstallNotFound:"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E (\u0443\u0436\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u043E)",uninstallFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F:",initTitle:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430",initAutoHint:"\u041D\u0435\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C (--auto): \u0442\u043E\u043B\u044C\u043A\u043E \u0430\u0432\u0442\u043E\u0441\u043A\u0430\u043D \u0441\u0442\u0435\u043A\u0430 \u0438 config; \u043C\u0430\u0441\u0442\u0435\u0440 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D. \u0414\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 init.",yes:"\u0414\u0430",no:"\u041D\u0435\u0442",none:"\u041D\u0435\u0442",invalidChoice:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u044B\u0431\u043E\u0440. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.",enterNumbers:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440\u0430",updateAvailable:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F:",updateCurrent:"\u0442\u0435\u043A\u0443\u0449\u0430\u044F:",licenseMissing:"\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0441\u0440\u0435\u0434\u044B GODD_LICENSE_KEY \u043D\u0435 \u0437\u0430\u0434\u0430\u043D\u0430.",licenseMissingHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435: godd install --license-key=YOUR_KEY",licenseFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",configNotFound:"\u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.",configNotFoundHint:'\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 "godd init" \u0434\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.',configUnknownValues:"\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F:",didYouMean:"\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0432\u044B \u0438\u043C\u0435\u043B\u0438 \u0432 \u0432\u0438\u0434\u0443",serverStarted:"\u0437\u0430\u043F\u0443\u0449\u0435\u043D (stdio)",corruptMcpJson:"\u043F\u043E\u0432\u0440\u0435\u0436\u0434\u0451\u043D. \u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F: {backup}. \u0421\u043E\u0437\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u043E\u0432\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F.",licenseNotConfigured:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor.",resolvePromptFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043F\u0440\u043E\u043C\u043F\u0442",resolveToolFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442",localToolFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",helpInstall:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432 Cursor",helpInit:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442 (\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u043E; --auto \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435)",helpUninstall:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0437 Cursor",helpServe:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C MCP stdio-\u0441\u0435\u0440\u0432\u0435\u0440 (\u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442\u0441\u044F Cursor)",fatalError:"\u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430",compositeMissingSlugs:"\u0412\u041D\u0418\u041C\u0410\u041D\u0418\u0415: \u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u044B \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",goddFilesTitle:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 GoDD:",goddFilesDocsPrompt:"\u0414\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u044F \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (Enter \u2014 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: documents):",goddFilesGitattributesPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .gitattributes \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesDependabotPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .github/dependabot.yml \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesCreated:"GoDD-MCP-alpha.md \u0441\u043E\u0437\u0434\u0430\u043D."},IT={en:w2,ja:I2,ru:z2};function Le(e){return IT[e]??IT.en}var r$={en:"English",ja:"\u65E5\u672C\u8A9E",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"};var x=e=>({win32:e,darwin:e,linux:e}),k=(e,...t)=>t.some(r=>e.programming_languages.includes(r)),ii=(e,...t)=>t.some(r=>e.mobile.includes(r)),P2=[{category:"vcs",tool:"gh",installCmd:{win32:"winget install GitHub.cli",darwin:"brew install gh",linux:'(type -p wget >/dev/null || sudo apt-get install wget -y) && sudo mkdir -p -m 755 /etc/apt/keyrings && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt-get update && sudo apt-get install gh -y'},universal:!0,condition:()=>!0},{category:"browser_automation",tool:"browser-use",installCmd:x("pip install --upgrade browser-use"),universal:!0,condition:()=>!0},{category:"secret_scanning",tool:"gitleaks",installCmd:{win32:"winget install Gitleaks.Gitleaks",darwin:"brew install gitleaks",linux:"go install github.com/gitleaks/gitleaks/v8@latest"},universal:!0,condition:()=>!0},{category:"e2e_testing",tool:"playwright",installCmd:x("npm i -D @playwright/test@latest && npx playwright install"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unit_testing",tool:"vitest",installCmd:x("npm i -D vitest@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"linting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"formatting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"type_checking",tool:"typescript",installCmd:x("npm i -D typescript@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"coverage",tool:"@vitest/coverage-v8",installCmd:x("npm i -D @vitest/coverage-v8@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unused_code",tool:"knip",installCmd:x("npm i -D knip@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"dependency_analysis",tool:"dependency-cruiser",installCmd:x("npm i -D dependency-cruiser@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"documentation",tool:"typedoc",installCmd:x("npm i -D typedoc@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"e2e_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest httpx pytest-asyncio"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest"),universal:!1,condition:e=>k(e,"python")},{category:"linting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"formatting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"type_checking",tool:"pyright",installCmd:x("pip install --upgrade pyright"),universal:!1,condition:e=>k(e,"python")},{category:"coverage",tool:"pytest-cov",installCmd:x("pip install --upgrade pytest-cov"),universal:!1,condition:e=>k(e,"python")},{category:"unused_code",tool:"vulture",installCmd:x("pip install --upgrade vulture"),universal:!1,condition:e=>k(e,"python")},{category:"dependency_analysis",tool:"pipdeptree",installCmd:x("pip install --upgrade pipdeptree"),universal:!1,condition:e=>k(e,"python")},{category:"documentation",tool:"mkdocs",installCmd:x("pip install --upgrade mkdocs mkdocs-material"),universal:!1,condition:e=>k(e,"python")},{category:"security_analysis",tool:"bandit",installCmd:x("pip install --upgrade bandit"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"testify",installCmd:x("go get github.com/stretchr/testify@latest"),universal:!1,condition:e=>k(e,"go")},{category:"formatting",tool:"gofmt",installCmd:x("echo gofmt \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"coverage",tool:"go-cover",installCmd:x("echo go test -cover \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"linting",tool:"golangci-lint",installCmd:{win32:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest",darwin:"brew install golangci-lint",linux:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"},universal:!1,condition:e=>k(e,"go")},{category:"unused_code",tool:"deadcode",installCmd:x("go install golang.org/x/tools/cmd/deadcode@latest"),universal:!1,condition:e=>k(e,"go")},{category:"documentation",tool:"godoc",installCmd:x("go install golang.org/x/tools/cmd/godoc@latest"),universal:!1,condition:e=>k(e,"go")},{category:"security_analysis",tool:"gosec",installCmd:x("go install github.com/securego/gosec/v2/cmd/gosec@latest"),universal:!1,condition:e=>k(e,"go")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 \u2014 add to pom.xml or build.gradle"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"linting",tool:"checkstyle",installCmd:x("echo Checkstyle \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"formatting",tool:"google-java-format",installCmd:x("echo google-java-format \u2014 add to build config"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"coverage",tool:"jacoco",installCmd:x("echo JaCoCo \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"security_analysis",tool:"spotbugs",installCmd:x("echo SpotBugs \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 + MockK \u2014 add to build.gradle.kts"),universal:!1,condition:e=>k(e,"kotlin")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"formatting",tool:"ktlint",installCmd:x("echo ktlint \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"coverage",tool:"kover",installCmd:x("echo Kover \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"documentation",tool:"dokka",installCmd:x("echo Dokka \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"csharp")},{category:"formatting",tool:"dotnet-format",installCmd:x("echo dotnet format \u2014 built-in (.NET 6+)"),universal:!1,condition:e=>k(e,"csharp")},{category:"coverage",tool:"coverlet",installCmd:x("dotnet add package coverlet.collector"),universal:!1,condition:e=>k(e,"csharp")},{category:"linting",tool:"dotnet-analyzers",installCmd:x("echo .NET Analyzers \u2014 built-in with .NET 5+ SDK"),universal:!1,condition:e=>k(e,"csharp")},{category:"documentation",tool:"docfx",installCmd:x("dotnet tool install -g docfx"),universal:!1,condition:e=>k(e,"csharp")},{category:"unit_testing",tool:"googletest",installCmd:x("echo GoogleTest \u2014 add via CMake FetchContent"),universal:!1,condition:e=>k(e,"cpp","c")},{category:"linting",tool:"clang-tidy",installCmd:{win32:"choco install llvm",darwin:"brew install llvm",linux:"sudo apt-get install -y clang-tidy"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"coverage",tool:"lcov",installCmd:{win32:"choco install lcov",darwin:"brew install lcov",linux:"sudo apt-get install -y lcov"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"documentation",tool:"doxygen",installCmd:{win32:"choco install doxygen.install",darwin:"brew install doxygen",linux:"sudo apt-get install -y doxygen"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"security_analysis",tool:"cppcheck",installCmd:{win32:"choco install cppcheck",darwin:"brew install cppcheck",linux:"sudo apt-get install -y cppcheck"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"unit_testing",tool:"phpunit",installCmd:x("composer require --dev phpunit/phpunit"),universal:!1,condition:e=>k(e,"php")},{category:"linting",tool:"phpstan",installCmd:x("composer require --dev phpstan/phpstan"),universal:!1,condition:e=>k(e,"php")},{category:"formatting",tool:"php-cs-fixer",installCmd:x("composer require --dev friendsofphp/php-cs-fixer"),universal:!1,condition:e=>k(e,"php")},{category:"documentation",tool:"phpdoc",installCmd:x("composer require --dev phpdocumentor/phpdocumentor"),universal:!1,condition:e=>k(e,"php")},{category:"security_analysis",tool:"psalm",installCmd:x("composer require --dev vimeo/psalm"),universal:!1,condition:e=>k(e,"php")},{category:"unit_testing",tool:"rspec",installCmd:x("gem install rspec && rspec --init"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"formatting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"coverage",tool:"simplecov",installCmd:x("gem install simplecov"),universal:!1,condition:e=>k(e,"ruby")},{category:"documentation",tool:"yard",installCmd:x("gem install yard"),universal:!1,condition:e=>k(e,"ruby")},{category:"security_analysis",tool:"brakeman",installCmd:x("gem install brakeman"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"formatting",tool:"swiftformat",installCmd:{win32:"echo SwiftFormat \u2014 not available on Windows",darwin:"brew install swiftformat",linux:"echo SwiftFormat \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"unit_testing",tool:"cargo-test",installCmd:x("echo cargo test is built into the Rust toolchain"),universal:!1,condition:e=>k(e,"rust")},{category:"linting",tool:"clippy",installCmd:x("rustup component add clippy"),universal:!1,condition:e=>k(e,"rust")},{category:"formatting",tool:"rustfmt",installCmd:x("rustup component add rustfmt"),universal:!1,condition:e=>k(e,"rust")},{category:"coverage",tool:"tarpaulin",installCmd:x("cargo install cargo-tarpaulin"),universal:!1,condition:e=>k(e,"rust")},{category:"security_analysis",tool:"cargo-audit",installCmd:x("cargo install cargo-audit"),universal:!1,condition:e=>k(e,"rust")},{category:"unit_testing",tool:"flutter-test",installCmd:x("echo flutter test \u2014 built-in with Flutter SDK"),universal:!1,condition:e=>ii(e,"flutter")},{category:"linting",tool:"flutter-lints",installCmd:x("dart pub add --dev flutter_lints"),universal:!1,condition:e=>ii(e,"flutter")},{category:"documentation",tool:"dartdoc",installCmd:x("dart pub global activate dartdoc"),universal:!1,condition:e=>k(e,"dart")},{category:"linting",tool:"credo",installCmd:x('echo Credo \u2014 add {:credo, "~> 1.7"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"type_checking",tool:"dialyxir",installCmd:x('echo Dialyxir \u2014 add {:dialyxir, "~> 1.4"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"coverage",tool:"excoveralls",installCmd:x('echo ExCoveralls \u2014 add {:excoveralls, "~> 0.18"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"documentation",tool:"ex-doc",installCmd:x('echo ExDoc \u2014 add {:ex_doc, "~> 0.34"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"unit_testing",tool:"scalatest",installCmd:x("echo ScalaTest \u2014 add to build.sbt"),universal:!1,condition:e=>k(e,"scala")},{category:"linting",tool:"scalafix",installCmd:x("echo Scalafix \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"formatting",tool:"scalafmt",installCmd:x("echo Scalafmt \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"coverage",tool:"scoverage",installCmd:x("echo Scoverage \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"unit_testing",tool:"testthat",installCmd:x(`Rscript -e 'install.packages("testthat")'`),universal:!1,condition:e=>k(e,"r")},{category:"linting",tool:"lintr",installCmd:x(`Rscript -e 'install.packages("lintr")'`),universal:!1,condition:e=>k(e,"r")},{category:"formatting",tool:"styler",installCmd:x(`Rscript -e 'install.packages("styler")'`),universal:!1,condition:e=>k(e,"r")},{category:"coverage",tool:"covr",installCmd:x(`Rscript -e 'install.packages("covr")'`),universal:!1,condition:e=>k(e,"r")},{category:"documentation",tool:"roxygen2",installCmd:x(`Rscript -e 'install.packages("roxygen2")'`),universal:!1,condition:e=>k(e,"r")},{category:"unit_testing",tool:"hspec",installCmd:x("cabal install hspec"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"hlint",installCmd:x("cabal install hlint"),universal:!1,condition:e=>k(e,"haskell")},{category:"formatting",tool:"ormolu",installCmd:x("cabal install ormolu"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"perlcritic",installCmd:x("cpanm Perl::Critic"),universal:!1,condition:e=>k(e,"perl")},{category:"formatting",tool:"perltidy",installCmd:x("cpanm Perl::Tidy"),universal:!1,condition:e=>k(e,"perl")},{category:"linting",tool:"clj-kondo",installCmd:{win32:"echo clj-kondo \u2014 download from GitHub releases",darwin:"brew install borkdude/brew/clj-kondo",linux:"echo clj-kondo \u2014 download from GitHub releases"},universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"cljfmt",installCmd:x("echo cljfmt \u2014 add to deps.edn"),universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"juliaformatter",installCmd:x(`julia -e 'using Pkg; Pkg.add("JuliaFormatter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"documentation",tool:"documenter",installCmd:x(`julia -e 'using Pkg; Pkg.add("Documenter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"unit_testing",tool:"busted",installCmd:x("luarocks install busted"),universal:!1,condition:e=>k(e,"lua")},{category:"linting",tool:"luacheck",installCmd:x("luarocks install luacheck"),universal:!1,condition:e=>k(e,"lua")},{category:"formatting",tool:"stylua",installCmd:{win32:"cargo install stylua",darwin:"brew install stylua",linux:"cargo install stylua"},universal:!1,condition:e=>k(e,"lua")},{category:"unit_testing",tool:"forge-test",installCmd:{win32:"echo Foundry \u2014 install from https://getfoundry.sh",darwin:"curl -L https://foundry.paradigm.xyz | bash && foundryup",linux:"curl -L https://foundry.paradigm.xyz | bash && foundryup"},universal:!1,condition:e=>k(e,"solidity")},{category:"linting",tool:"solhint",installCmd:x("npm i -g solhint@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"formatting",tool:"prettier-solidity",installCmd:x("npm i -D prettier@latest prettier-plugin-solidity@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"security_analysis",tool:"slither",installCmd:x("pip install --upgrade slither-analyzer"),universal:!1,condition:e=>k(e,"solidity")},{category:"e2e_testing",tool:"detox",installCmd:x("npm i -D detox@latest"),universal:!1,condition:e=>ii(e,"react-native","expo")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>ii(e,"jetpack-compose","kotlin-multiplatform")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>ii(e,"swiftui","uikit")},{category:"e2e_testing",tool:"cypress",installCmd:x("npm i -D cypress@latest"),universal:!1,condition:e=>ii(e,"ionic","capacitor")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>ii(e,"maui")},{category:"linting",tool:"gdlint",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"formatting",tool:"gdformat",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"fsharp")},{category:"formatting",tool:"fantomas",installCmd:x("dotnet tool install -g fantomas"),universal:!1,condition:e=>k(e,"fsharp")},{category:"unit_testing",tool:"alcotest",installCmd:x("opam install alcotest"),universal:!1,condition:e=>k(e,"ocaml")},{category:"formatting",tool:"ocamlformat",installCmd:x("opam install ocamlformat"),universal:!1,condition:e=>k(e,"ocaml")},{category:"unit_testing",tool:"eunit",installCmd:x("echo EUnit is built into OTP \u2014 use rebar3 eunit"),universal:!1,condition:e=>k(e,"erlang")},{category:"linting",tool:"elvis",installCmd:x("echo elvis \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"formatting",tool:"erlfmt",installCmd:x("echo erlfmt \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"unit_testing",tool:"zig-test",installCmd:x("echo zig test is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"formatting",tool:"zig-fmt",installCmd:x("echo zig fmt is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"unit_testing",tool:"nim-unittest",installCmd:x("echo nim unittest is built into the Nim standard library"),universal:!1,condition:e=>k(e,"nim")},{category:"formatting",tool:"nimpretty",installCmd:x("echo nimpretty is built into the Nim toolchain"),universal:!1,condition:e=>k(e,"nim")},{category:"linting",tool:"ameba",installCmd:x("echo Ameba \u2014 add to shard.yml"),universal:!1,condition:e=>k(e,"crystal")},{category:"unit_testing",tool:"dub-test",installCmd:x("echo dub test is built into the D toolchain"),universal:!1,condition:e=>k(e,"d")},{category:"linting",tool:"codenarc",installCmd:x("echo CodeNarc \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"groovy")},{category:"linting",tool:"oclint",installCmd:{win32:"echo OCLint \u2014 not available on Windows",darwin:"brew install oclint",linux:"echo OCLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"objective-c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"objective-c")},{category:"unit_testing",tool:"mstest",installCmd:x("dotnet add package MSTest.TestFramework MSTest.TestAdapter"),universal:!1,condition:e=>k(e,"visual-basic")},{category:"unit_testing",tool:"pester",installCmd:x("Install-Module -Name Pester -Force -SkipPublisherCheck"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"psscriptanalyzer",installCmd:x("Install-Module -Name PSScriptAnalyzer -Force"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"formatting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"linting",tool:"shellcheck",installCmd:{win32:"winget install koalaman.shellcheck",darwin:"brew install shellcheck",linux:"sudo apt-get install -y shellcheck"},universal:!1,condition:e=>k(e,"bash")},{category:"formatting",tool:"shfmt",installCmd:{win32:"go install mvdan.cc/sh/v3/cmd/shfmt@latest",darwin:"brew install shfmt",linux:"go install mvdan.cc/sh/v3/cmd/shfmt@latest"},universal:!1,condition:e=>k(e,"bash")}];function zT(e){let t=new Set,r=[];for(let i of P2)t.has(i.category)||i.condition(e)&&(r.push(i),t.add(i.category));return r}var Fe=require("node:fs"),er=require("node:path");var Zp="<!-- GoDD:start -->",Fp="<!-- GoDD:end -->";function T2(e){let t=(0,er.resolve)(e,".godd","state","current-phase.json");if(!(0,Fe.existsSync)(t))return null;try{let r=JSON.parse((0,Fe.readFileSync)(t,"utf-8")),i=["","### NES Context (Next Edit Suggestions)",""];return r.phase&&i.push(`- **Current phase**: ${r.phase} (${r.status??"unknown"})`),r.workflow_context&&i.push(`- **Context**: ${r.workflow_context}`),Array.isArray(r.next_likely_files)&&r.next_likely_files.length>0&&i.push(`- **Next likely files**: ${r.next_likely_files.join(", ")}`),i.join(`
|
|
191
191
|
`)}catch{return null}}function E2(e,t){let r=["### GoDD stack snapshot","",`Auto-detected from this repository (updated when \`${V.toolPrefix}config\` or \`${V.cli} init\` runs):`,""];for(let[n,o]of Object.entries(e))Array.isArray(o)&&o.length>0&&r.push(`- **${n}**: ${o.join(", ")}`);let i=T2(t);return i&&r.push(i),r.push("",`_Generated by ${V.displayName} MCP \u2014 keep this block for drift detection._`),r.join(`
|
|
192
192
|
`)}function Ao(e,t){let r=(0,er.resolve)(e,"AGENTS.md"),i=E2(t,e),n=`${Zp}
|
|
193
193
|
${i}
|