@autodevjapan/godd-mcp-alpha 2.14.1 → 2.15.1
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 +53 -604
- package/assets/native/godd-native-aarch64-apple-darwin +0 -0
- package/assets/native/godd-native-aarch64-apple-darwin.sha256 +1 -1
- package/assets/native/godd-native-x86_64-apple-darwin +0 -0
- package/assets/native/godd-native-x86_64-apple-darwin.sha256 +1 -1
- package/assets/native/godd-native-x86_64-pc-windows-msvc.exe +0 -0
- package/assets/native/godd-native-x86_64-pc-windows-msvc.exe.sha256 +1 -1
- package/assets/native/godd-native-x86_64-unknown-linux-musl +0 -0
- package/assets/native/godd-native-x86_64-unknown-linux-musl.sha256 +1 -1
- package/dist/compile-cache-adapter-contract.cjs +1 -0
- package/dist/compile-cache-adapter-contract.d.ts +83 -0
- package/dist/godd.cjs +210 -206
- package/docs/adapter-contracts.md +112 -0
- package/native-assets.json +9 -9
- package/package.json +15 -6
- package/scripts/native-assets.js +5 -2
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<p align="center"><strong>Govern AI development from intent to verified, shippable code.</strong></p>
|
|
8
8
|
|
|
9
|
-
<p align="center"><a href="https://www.getgodd.dev/">Official site</a> · <a href="https://www.getgodd.dev/pricing">Plans</a> · <a href="https://www.getgodd.dev/godd-admin/register">Get started</a></p>
|
|
9
|
+
<p align="center"><a href="https://www.getgodd.dev/">Official site</a> · <a href="https://www.getgodd.dev/en/docs">Docs</a> · <a href="https://www.getgodd.dev/en/pricing">Plans</a> · <a href="https://www.getgodd.dev/godd-admin/register">Get started</a></p>
|
|
10
10
|
|
|
11
11
|
[🇺🇸 English](#english) | [🇯🇵 日本語](#日本語) | [🇷🇺 Русский](#русский)
|
|
12
12
|
|
|
@@ -14,669 +14,118 @@
|
|
|
14
14
|
|
|
15
15
|
## English
|
|
16
16
|
|
|
17
|
-
**
|
|
17
|
+
**Say what you want in plain language. GoDD runs the whole cycle — plan → implement → test → review → document → ship.** It works inside Cursor, Claude Code, Codex, Kimi CLI, and Antigravity over the Model Context Protocol.
|
|
18
18
|
|
|
19
|
-
### Why
|
|
19
|
+
### Why GoDD
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
21
|
+
- **~2,000–5,000 tokens per call instead of ~80,000+.** Prompts are delivered **on demand** — only the one you invoke enters context. Always-on rule files burn your context window before you even type.
|
|
22
|
+
- **Your AI stops guessing.** Every prompt is built on seven proven xDD methodologies (Spec / Acceptance-Test / Test / Domain / Neo-Model / Docs / Issue-Driven Development), so it plans, tests, and documents like a senior engineer.
|
|
23
|
+
- **One command does the whole job.** `/dev`, `/review`, `/ship` each run a complete cycle — not a single step you have to babysit.
|
|
24
|
+
- **It knows your stack.** `godd-a init` profiles your language, framework, and tooling, and delivered prompts adapt to it.
|
|
25
|
+
- **No migration.** One server registers with every client you already use.
|
|
26
26
|
|
|
27
|
-
###
|
|
28
|
-
|
|
29
|
-
- **A GoDD license key** (required — see [Getting a license key](#getting-a-license-key))
|
|
30
|
-
- Node.js 22+
|
|
31
|
-
- An MCP-compatible client: Cursor IDE, Claude Code CLI, Codex, Kimi CLI, or Antigravity IDE
|
|
32
|
-
|
|
33
|
-
### Getting a license key
|
|
34
|
-
|
|
35
|
-
A valid license key is required to use GoDD MCP.
|
|
36
|
-
|
|
37
|
-
1. Review plans on the [GoDD official site](https://www.getgodd.dev/pricing)
|
|
38
|
-
2. [Create an account](https://www.getgodd.dev/godd-admin/register) and choose a subscription
|
|
39
|
-
3. Issue a license key from your [dashboard](https://www.getgodd.dev/godd-admin/dashboard)
|
|
40
|
-
|
|
41
|
-
### Startup and offline behavior
|
|
42
|
-
|
|
43
|
-
GoDD validates the license online every time the MCP server starts. There is no offline
|
|
44
|
-
license grace period: a timeout, connection failure, server error, or rejected license stops
|
|
45
|
-
startup. After that online validation succeeds, a temporary lexicon outage can use a
|
|
46
|
-
digest- and MAC-verified last-known-good generation within
|
|
47
|
-
`GODD_REGISTRY_CACHE_MAX_AGE_DAYS` (30 days by default). Fallback is limited to endpoint
|
|
48
|
-
unavailability. Any successful but invalid/oversize response, source mismatch, revision
|
|
49
|
-
rollback, bounded HTTP 409 `LEXICON_INTEGRITY_FAILURE`, 401/403, expired or modified
|
|
50
|
-
cache, or missing cache stops startup. A mid-stream disconnect is unavailable and may
|
|
51
|
-
use LKG; an oversized stream is fatal. The same 15-second deadline covers headers and
|
|
52
|
-
the complete bounded body. Revisions are canonical nonzero u64 decimals.
|
|
53
|
-
The cache has no independent trusted high-water anchor: CAS rejects concurrent stale
|
|
54
|
-
writes, but cannot detect restoration of an older wholly authentic cache file. The
|
|
55
|
-
max-age ceiling only bounds that residual replay window.
|
|
56
|
-
|
|
57
|
-
### Installation
|
|
27
|
+
### Install
|
|
58
28
|
|
|
59
29
|
```bash
|
|
60
30
|
npm install -g @autodevjapan/godd-mcp-alpha
|
|
31
|
+
godd-a install # auto-detect your MCP clients and register with each
|
|
32
|
+
godd-a init # generate a project profile
|
|
61
33
|
```
|
|
62
34
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
# Auto-detect installed MCP clients and register with each of them
|
|
67
|
-
godd-a install --license-key=YOUR_LICENSE_KEY
|
|
68
|
-
|
|
69
|
-
# Or target one client: cursor / claude-code / codex / kimi / antigravity / all
|
|
70
|
-
godd-a install --client=cursor --license-key=YOUR_LICENSE_KEY
|
|
71
|
-
|
|
72
|
-
# Generate a project config (interactive; add --auto for CI/CD)
|
|
73
|
-
godd-a init
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
`godd-a init` and the MCP `config` tool also use the Rust native anchored filesystem boundary to atomically synchronize a marker-scoped block in the project-root `.gitignore` for GoDD's local artifacts. Existing rules outside that block are preserved. If the markers are malformed, the target is a symlink/non-regular file, the lock is busy, I/O fails, or the native process exceeds its 15-second timeout, GoDD leaves the file untouched and fails init/config with a stable error code. Only already tracked files produce a non-fatal `GODD_GITIGNORE_TRACKED_FILES` warning; GoDD never runs `git rm` automatically.
|
|
77
|
-
|
|
78
|
-
If `GODD_GITIGNORE_LOCKED` persists, first confirm that no init/config process is running, then remove only `.godd/managed-gitignore.lock` and retry. Do not remove the entire `.godd` directory or change the Git index.
|
|
79
|
-
|
|
80
|
-
> Use `godd-a install` — it configures the startup command, PATH, and license key for you. Restart your client afterward and the GoDD tools appear automatically.
|
|
81
|
-
|
|
82
|
-
`godd_files.docs_dir` in `config.godd` selects the single repository-relative root for specs, ADRs, diagrams, and guides (default: `documents`). Always write it as a YAML double-quoted scalar (for example, `docs_dir: "docs"`) so valid names such as `true`, `null`, and `123` remain strings. Use `/` separators; each segment accepts only Unicode letters/numbers and `._-`. Empty values, absolute paths, backslashes, shell-expansion characters, trailing dots, `.` / `..` segments, and Windows reserved device names (including extensions and NFKC-compatible forms such as `COM¹`) are rejected. The configured value is also supplied to Registry-rendered prompts, so GoDD does not create a second documentation root.
|
|
83
|
-
|
|
84
|
-
### Usage
|
|
85
|
-
|
|
86
|
-
Invoke GoDD in whichever way your client supports:
|
|
87
|
-
|
|
88
|
-
- **Native UI** — type `/` in the chat and pick a GoDD prompt (e.g. `/dev`, `/review`), or in Agent mode just ask ("run dev", "do a review").
|
|
89
|
-
- **Slash commands** — `godd-a install` writes `/godd-a-<tool>` command files for clients that support them (Cursor, Claude Code, Codex, Antigravity).
|
|
90
|
-
- **Text dispatch** — type `/godd-a/dev <args>` as plain text; the AI routes it to the matching tool.
|
|
91
|
-
|
|
92
|
-
### Audio adapter contract
|
|
93
|
-
|
|
94
|
-
Adapter implementers can import the side-effect-free, typed npm subpath:
|
|
95
|
-
|
|
96
|
-
```ts
|
|
97
|
-
import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
The contract preserves waveform/mel inputs and PCM16 WAV output. Padding, frame, and trim arithmetic remain Rust-owned and are rejected if duplicated in the Node payload. This validates the adapter boundary only; it does not expose a production inference route.
|
|
35
|
+
Then type `/` in your client and pick a GoDD prompt — or just ask ("run dev", "do a review").
|
|
101
36
|
|
|
102
|
-
###
|
|
37
|
+
### Requirements
|
|
103
38
|
|
|
104
|
-
|
|
39
|
+
Node.js 22+ · an MCP client (Cursor / Claude Code / Codex / Kimi CLI / Antigravity) · a license key.
|
|
105
40
|
|
|
106
|
-
|
|
107
|
-
import {
|
|
108
|
-
forwardMediaIntervalTransformation,
|
|
109
|
-
loadMediaIntervalCalibrationSnapshot,
|
|
110
|
-
validateMediaIntervalAdapterContract,
|
|
111
|
-
} from "@autodevjapan/godd-mcp-alpha/media-interval-adapter-contract";
|
|
41
|
+
The server validates your license online at every startup — there is no offline grace period.
|
|
112
42
|
|
|
113
|
-
|
|
114
|
-
const transformation = forwardMediaIntervalTransformation(contract);
|
|
115
|
-
const calibration = loadMediaIntervalCalibrationSnapshot();
|
|
116
|
-
if (calibration.status === "INCONCLUSIVE") {
|
|
117
|
-
throw new Error("Media interval calibration could not be verified");
|
|
118
|
-
}
|
|
119
|
-
```
|
|
43
|
+
### Everything else
|
|
120
44
|
|
|
121
|
-
The
|
|
122
|
-
|
|
123
|
-
### GoDD prompts
|
|
124
|
-
|
|
125
|
-
| Prompt | Description |
|
|
126
|
-
|---|---|
|
|
127
|
-
| `run` | Unified entry point — parses a text command like "/godd-a/<tool> <args>" and runs the matching tool |
|
|
128
|
-
| `dev` | Development (plan → implement → test → quality → docs in stages) |
|
|
129
|
-
| `check` | Quality gate (verify Spec alignment, tests, types, lint, security) |
|
|
130
|
-
| `docs` | Generate/update documentation |
|
|
131
|
-
| `ship` | Ship (commit at proper granularity → quality check → push → create PR) |
|
|
132
|
-
| `setup` | Environment setup (with recommended stack presets, confirms missing info) |
|
|
133
|
-
| `review` | Review (CTO-level review + quality gate) |
|
|
134
|
-
| `test` | Run/create tests |
|
|
135
|
-
| `impact` | Impact analysis |
|
|
136
|
-
| `commit` | Commit changes |
|
|
137
|
-
| `push` | Push to remote |
|
|
138
|
-
| `pr` | Create PR (template-compliant) |
|
|
139
|
-
| `deploy` | Deploy (with verification & rollback plan) |
|
|
140
|
-
| `adr` | Create ADR (Architecture Decision Record) |
|
|
141
|
-
| `release` | Generate release notes (SemVer-compliant) |
|
|
142
|
-
| `github` | GitHub configuration (repository/branch protection, etc.) |
|
|
143
|
-
| `config` | Generate/repair config.godd (auto-detect stack + validation) |
|
|
144
|
-
| `questions` | Interactive Q&A from question list (質問リスト.md) |
|
|
145
|
-
| `e2e` | Browser-based E2E testing (execute & verify critical user flows) |
|
|
146
|
-
| `map` | Project knowledge graph (visualize architecture & dependencies with Mermaid) |
|
|
147
|
-
| `learn` | Save/recall project-specific patterns, conventions, and pitfalls |
|
|
148
|
-
| `scratchpad` | Persistent conversation memory — save/recall/search/list/forget with BM25 vector search (Qdrant or local JSON fallback) |
|
|
149
|
-
| `diagram` | Auto-update architecture diagrams (maintain living Mermaid docs in sync with code) |
|
|
150
|
-
| `slide` | Generate presentation slides from project docs (Marp Markdown format) |
|
|
151
|
-
| `design` | Generate/update visual designs from codebase (Pencil.dev sync) |
|
|
152
|
-
| `metrics` | Token efficiency and optional evidence-based quality, budget, learning outcome, and guardrail preflight report |
|
|
153
|
-
| `plan` | Run bounded approved plans with durable lifecycle, observable persisted deadlines, two-phase cancellation, and deterministic review |
|
|
154
|
-
|
|
155
|
-
The machine-readable version of this table is published at
|
|
156
|
-
[getgodd.dev/godd/commands.json](https://getgodd.dev/godd/commands.json); the agent
|
|
157
|
-
onboarding guide lives at [getgodd.dev/connect.md](https://getgodd.dev/connect.md).
|
|
158
|
-
|
|
159
|
-
### CLI commands
|
|
160
|
-
|
|
161
|
-
| Command | Description |
|
|
162
|
-
|---|---|
|
|
163
|
-
| `godd-a install [--license-key=KEY] [--client=...]` | Register with MCP clients (auto-detects installed clients when `--client` is omitted) |
|
|
164
|
-
| `godd-a init [--force] [--lang=LANG] [--auto]` | Generate the project config |
|
|
165
|
-
| `godd-a uninstall [--client=...]` | Remove from MCP clients |
|
|
166
|
-
| `godd-a version` (or `--version` / `-v`) | Show the installed version and check for updates |
|
|
167
|
-
| `godd-a serve` | Start the MCP stdio server (auto-invoked by the client) |
|
|
168
|
-
| `godd-a shard partition <plan|lease|report|expire|abandon|status>` | Manage a Rust-native shard plan that prevents missing or duplicate sequences |
|
|
169
|
-
| `godd-a realtime admission --evaluated-at-ms <u64>` | Evaluate one bounded event envelope from stdin with fail-closed ALLOW/DENY/INCONCLUSIVE receipts |
|
|
170
|
-
| `godd-a dataset coverage --ledger <path>` | Persist CAS-issued sample attempts and bounded coverage from one strict JSON stdin action using the trusted system clock |
|
|
171
|
-
|
|
172
|
-
Start a shard workflow with
|
|
173
|
-
`plan --state-dir <dir> --source-root <dir> --selector 1/M`; it creates an immutable
|
|
174
|
-
plan for every shard and a fully pre-seeded ledger. A worker calls
|
|
175
|
-
`lease --state-dir <dir> --selector N/M --ttl-ms <ms>` and uses the returned
|
|
176
|
-
`assigned_ids` and digest instead of enumerating the source root again. Send the worker's
|
|
177
|
-
completion report as one JSON document on stdin to `report --state-dir <dir>`. Use
|
|
178
|
-
`expire --state-dir <dir>` to sweep expired leases,
|
|
179
|
-
`abandon --state-dir <dir> --selector N/M` to abandon one explicitly,
|
|
180
|
-
`lease ... --takeover` to reassign it, and `status --state-dir <dir>` to read aggregate state.
|
|
181
|
-
The npm CLI only forwards this wire protocol to the packaged Rust command. Each successful
|
|
182
|
-
action writes exactly one JSON document to stdout and exits 0; invalid input or state,
|
|
183
|
-
persistence failure, and conflicts write only a stable `PARTITION_*` reason code to stderr
|
|
184
|
-
and exit 2.
|
|
185
|
-
|
|
186
|
-
Plaintext `assigned_ids` appear only in a lease response. Diagnostics never include sequence
|
|
187
|
-
IDs or host paths. Lease responses and `status` return the current `ledger_revision`; an
|
|
188
|
-
accepted report receipt returns the next revision. Copy `plan_generation`,
|
|
189
|
-
`reporting_shard_index`, and `lease_generation` from the lease response into the report JSON,
|
|
190
|
-
and set `expected_ledger_revision` from the latest receipt or `status`. Do not convert
|
|
191
|
-
`PARTITION_CAS_MISMATCH` into success: fetch `status` again and reevaluate the report.
|
|
192
|
-
The strict report body has this shape; `expected_state` is one of `assigned`, `completed`,
|
|
193
|
-
`rejected`, or `missing`, while `outcome` is `completed` or `rejected`:
|
|
194
|
-
|
|
195
|
-
```json
|
|
196
|
-
{
|
|
197
|
-
"plan_generation": {
|
|
198
|
-
"source_generation": "<64 lowercase hex>",
|
|
199
|
-
"expected_set_digest": "<64 lowercase hex>"
|
|
200
|
-
},
|
|
201
|
-
"sequence_id": "<one assigned_ids value>",
|
|
202
|
-
"reporting_shard_index": 1,
|
|
203
|
-
"lease_generation": 1,
|
|
204
|
-
"expected_state": "assigned",
|
|
205
|
-
"expected_ledger_revision": 0,
|
|
206
|
-
"outcome": "completed"
|
|
207
|
-
}
|
|
208
|
-
```
|
|
45
|
+
The full tool list, CLI reference, and troubleshooting live on the **[documentation site](https://www.getgodd.dev/en/docs)**.
|
|
209
46
|
|
|
210
|
-
|
|
211
|
-
`principal:sha256:<hex64>`, `resource:sha256:<hex64>`, and `evidence:sha256:<hex64>`.
|
|
212
|
-
Raw tokens, cookies, user names, and socket IDs are rejected without being echoed.
|
|
213
|
-
|
|
214
|
-
Dataset coverage accepts exactly one strict JSON action: `initialize`, `issue`, `report`,
|
|
215
|
-
`sweep`, or `finalize`. `initialize` preregisters the generation, assigned/expected sample
|
|
216
|
-
sets, retry policy, coverage thresholds and both declared digests, plus the replacement policy
|
|
217
|
-
(`forbidden`; `within_assigned_set` is reserved and rejected in Stage 2). `issue` takes `canonical_sample_id` and
|
|
218
|
-
`requested_position`; `report` adds an issued `attempt` and a typed outcome (`Accepted`,
|
|
219
|
-
`Rejected`, `TimedOut`, `Cancelled`, or `InfrastructureFailed`); `sweep` has no payload;
|
|
220
|
-
`finalize` must repeat the preregistered thresholds, digests, and replacement policy exactly.
|
|
221
|
-
Retry exhaustion atomically appends a `TerminalDecision`; load rejects any missing, duplicate, or
|
|
222
|
-
tampered terminal-event projection.
|
|
223
|
-
The usual flow is initialize → issue → report (repeat) → sweep/finalize. Success writes one JSON
|
|
224
|
-
receipt and exits 0. Invalid JSON/state, persistence failure, or a conflict writes only a stable
|
|
225
|
-
reason-code envelope to stderr and exits 2. Coverage receipts bind the generation source,
|
|
226
|
-
threshold/expected-set, ledger/event-head, and full durable-snapshot digests, finalized event sequence,
|
|
227
|
-
failure-attempt counts by class, and at most 32 stable opaque terminal-failure fingerprints;
|
|
228
|
-
raw sample IDs are never returned.
|
|
229
|
-
The parent directory of `--ledger` must already exist; the command never creates path components.
|
|
230
|
-
|
|
231
|
-
### Troubleshooting
|
|
232
|
-
|
|
233
|
-
**"0 tools available" in your client** — this means the server was started without the required `serve` argument. Re-run `godd-a install` to regenerate the client config correctly, then restart the client.
|
|
47
|
+
Writing an adapter? All three subpath contracts (media interval / audio length / compile cache) ship with the package at `docs/adapter-contracts.md`.
|
|
234
48
|
|
|
235
49
|
### License
|
|
236
50
|
|
|
237
|
-
Proprietary.
|
|
51
|
+
Proprietary. A valid license key is required — [see plans](https://www.getgodd.dev/en/pricing).
|
|
238
52
|
|
|
239
53
|
---
|
|
240
54
|
|
|
241
55
|
## 日本語
|
|
242
56
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
### GoDD を使うメリット
|
|
246
|
-
|
|
247
|
-
- **より高品質なコードを、より速く。** すべてのプロンプトは実証済みの 7 つの xDD 手法(Spec / 受入テスト / テスト / ドメイン / Neo-Model / ドキュメント / Issue 駆動開発)に基づいており、AI が推測ではなくシニアエンジニアのように計画・テスト・文書化します。
|
|
248
|
-
- **1 タスク = 1 コマンド。** `/dev` `/review` `/ship` などを呼ぶだけで、計画 → 実装 → テスト → 品質 → ドキュメントの一連のサイクルを AI が実行します。
|
|
249
|
-
- **トークン削減でコストも低減。** プロンプトは**オンデマンド配信** — 呼び出したものだけが AI のコンテキストに入ります。常時読み込み型のルールファイルが 1 タスク ~80,000 トークン以上かかるのに対し、GoDD は 1 呼び出しあたり ~2,000〜5,000 トークン程度です。
|
|
250
|
-
- **今お使いのクライアントでそのまま。** 同じサーバーが対応クライアントすべてに登録でき、プロジェクト設定は自動検出されます。
|
|
251
|
-
- **スタックに追従。** `godd-a init` がプロジェクトプロファイルを生成し、配信されるプロンプトが言語・フレームワーク・ツールに合わせて最適化されます。
|
|
252
|
-
|
|
253
|
-
### 動作要件
|
|
57
|
+
**やりたいことを自然言語で言うだけ。GoDD が 設計 → 実装 → テスト → レビュー → ドキュメント → 出荷 まで一気通貫で回します。** Cursor / Claude Code / Codex / Kimi CLI / Antigravity の中で、MCP 経由で動きます。
|
|
254
58
|
|
|
255
|
-
|
|
256
|
-
- Node.js 22 以上
|
|
257
|
-
- MCP 対応クライアント: Cursor IDE / Claude Code CLI / Codex / Kimi CLI / Antigravity IDE のいずれか
|
|
59
|
+
### GoDD の強み
|
|
258
60
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
1
|
|
264
|
-
2. [アカウント登録](https://www.getgodd.dev/godd-admin/register)してサブスクリプションを選択
|
|
265
|
-
3. [ダッシュボード](https://www.getgodd.dev/godd-admin/dashboard)からライセンスキーを発行
|
|
266
|
-
|
|
267
|
-
### 起動とオフライン時の動作
|
|
268
|
-
|
|
269
|
-
MCP server は起動のたびに license をオンライン検証します。offline の猶予期間はなく、
|
|
270
|
-
timeout、接続失敗、server error、license 拒否では起動しません。今回のオンライン検証が
|
|
271
|
-
成功した後に限り、lexicon の一時障害では digest/MAC 検証済みの最終正常世代を
|
|
272
|
-
`GODD_REGISTRY_CACHE_MAX_AGE_DAYS`(既定30日)以内で利用します。縮退はendpoint
|
|
273
|
-
unavailable時だけです。成功応答の不正・oversize、source不一致、revision rollback、
|
|
274
|
-
HTTP 409 `LEXICON_INTEGRITY_FAILURE`、401/403、期限切れ・改ざんcache、cache不在では
|
|
275
|
-
起動を拒否します。stream途中切断はunavailable、上限超過はfatalです。revisionは
|
|
276
|
-
nonzero u64 decimalに限定し、同じ15秒deadlineをheadersからbody完読まで強制します。
|
|
277
|
-
独立したtrusted high-water anchorはないため、CASは
|
|
278
|
-
同時stale writeを拒否しても過去の正規cache file全体の復元を検出できません。
|
|
279
|
-
max-age ceilingはこの残存replay windowを上限化するだけです。
|
|
61
|
+
- **1 回あたり約 2,000〜5,000 トークン。常時読み込み型なら約 80,000 以上。** プロンプトは**オンデマンド配信**で、呼び出したものだけがコンテキストに入ります。常時適用のルールファイルは、入力する前からコンテキストを食い潰します。
|
|
62
|
+
- **AI が「当てずっぽう」をやめます。** すべてのプロンプトが 7 つの xDD(Spec / ATDD / Test / DDD / Neo-MDD / Docs / Issue Driven Development)を土台にしており、シニアエンジニアと同じ順序で設計・テスト・文書化します。
|
|
63
|
+
- **1 コマンドで一通り終わります。** `/dev`・`/review`・`/ship` はそれぞれが完結したサイクルで、逐一面倒を見る必要がありません。
|
|
64
|
+
- **あなたのスタックを理解します。** `godd-a init` が言語・フレームワーク・ツールチェーンを判定し、配信されるプロンプトがそれに合わせて変わります。
|
|
65
|
+
- **乗り換え不要。** 1 つのサーバーが、今使っているクライアント全てに登録されます。
|
|
280
66
|
|
|
281
67
|
### インストール
|
|
282
68
|
|
|
283
69
|
```bash
|
|
284
70
|
npm install -g @autodevjapan/godd-mcp-alpha
|
|
71
|
+
godd-a install # インストール済みの MCP クライアントを自動検出して登録
|
|
72
|
+
godd-a init # プロジェクト設定を生成
|
|
285
73
|
```
|
|
286
74
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
# インストール済みの MCP クライアントを自動検出し、全てに登録
|
|
291
|
-
godd-a install --license-key=YOUR_LICENSE_KEY
|
|
292
|
-
|
|
293
|
-
# 特定のクライアントを指定: cursor / claude-code / codex / kimi / antigravity / all
|
|
294
|
-
godd-a install --client=cursor --license-key=YOUR_LICENSE_KEY
|
|
295
|
-
|
|
296
|
-
# プロジェクト設定を生成(インタラクティブ。CI/CD 用は --auto)
|
|
297
|
-
godd-a init
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
`godd-a init` と MCP の `config` ツールは、Rust native の anchored filesystem 境界を使って、プロジェクトルートの `.gitignore` に GoDD のローカル成果物用マーカーブロックも atomic に同期します。ブロック外の既存ルールは保持されます。マーカー不正、symlink/非通常ファイル、lock競合、I/O 失敗、native process の15秒 timeout時はファイルを変更せず、安定したエラーコードで init/config を失敗させます。すでに追跡済みのファイルだけは非致命的な `GODD_GITIGNORE_TRACKED_FILES` 警告となり、GoDD が自動で `git rm` を実行することはありません。
|
|
75
|
+
あとはクライアントで `/` を打って GoDD のプロンプトを選ぶだけ。「dev して」「レビューして」と話しかけても動きます。
|
|
301
76
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
> `godd-a install` を使ってください — 起動コマンド・PATH・ライセンスキーを自動で設定します。実行後にクライアントを再起動すると、GoDD ツールが自動的に表示されます。
|
|
305
|
-
|
|
306
|
-
`config.godd` の `godd_files.docs_dir` で、仕様・ADR・図・ガイドを置く単一のリポジトリ相対ルートを選択できます(既定: `documents`)。`true`、`null`、`123`のような合法名も文字列のまま保持するため、必ずYAMLの二重引用符で囲んでください(例: `docs_dir: "docs"`)。`/` 区切りで指定し、各セグメントには Unicode の文字・数字と `._-` だけを使用します。空値、絶対パス、バックスラッシュ、shell 展開文字、末尾の`.`、`.` / `..` セグメント、Windows予約device名(拡張子付きや`COM¹`のようなNFKC互換形も含む)は拒否されます。この設定は Registry で描画されるプロンプトにも渡るため、GoDD が別のドキュメントルートを作ることはありません。
|
|
307
|
-
|
|
308
|
-
### 使い方
|
|
309
|
-
|
|
310
|
-
クライアントが対応している方法で GoDD を呼び出せます。
|
|
311
|
-
|
|
312
|
-
- **ネイティブ UI** — チャットで `/` を入力して GoDD プロンプト(`/dev`, `/review` など)を選択、または Agent モードで自然文で依頼(「dev を実行」「レビューして」)。
|
|
313
|
-
- **スラッシュコマンド** — `godd-a install` が対応クライアント(Cursor / Claude Code / Codex / Antigravity)に `/godd-a-<tool>` コマンドファイルを生成します。
|
|
314
|
-
- **テキストディスパッチ** — チャットに `/godd-a/dev <args>` と入力すると、AI が対応ツールに振り分けます。
|
|
315
|
-
|
|
316
|
-
### Audio adapter contract
|
|
317
|
-
|
|
318
|
-
adapter実装者は、副作用のない型付きnpm subpathを利用できます。
|
|
319
|
-
|
|
320
|
-
```ts
|
|
321
|
-
import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
このcontractはwaveform/mel入力とPCM16 WAV出力を固定します。padding・frame・trimの算術はRustだけが所有し、Node payloadへの複製を拒否します。これはadapter境界の検証用であり、production inference routeを公開するものではありません。
|
|
325
|
-
|
|
326
|
-
### Media interval adapter contract
|
|
77
|
+
### 動作要件
|
|
327
78
|
|
|
328
|
-
|
|
79
|
+
Node.js 22+ ・ MCP クライアント(Cursor / Claude Code / Codex / Kimi CLI / Antigravity)・ライセンスキー。
|
|
329
80
|
|
|
330
|
-
|
|
331
|
-
import {
|
|
332
|
-
forwardMediaIntervalTransformation,
|
|
333
|
-
loadMediaIntervalCalibrationSnapshot,
|
|
334
|
-
validateMediaIntervalAdapterContract,
|
|
335
|
-
} from "@autodevjapan/godd-mcp-alpha/media-interval-adapter-contract";
|
|
81
|
+
ライセンスは MCP サーバー起動のたびにオンラインで検証します。オフライン猶予期間はありません。
|
|
336
82
|
|
|
337
|
-
|
|
338
|
-
const transformation = forwardMediaIntervalTransformation(contract);
|
|
339
|
-
const calibration = loadMediaIntervalCalibrationSnapshot();
|
|
340
|
-
if (calibration.status === "INCONCLUSIVE") {
|
|
341
|
-
throw new Error("Media interval calibrationを検証できませんでした");
|
|
342
|
-
}
|
|
343
|
-
```
|
|
83
|
+
### その他
|
|
344
84
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
### GoDD プロンプト
|
|
348
|
-
|
|
349
|
-
| プロンプト | 説明 |
|
|
350
|
-
|---|---|
|
|
351
|
-
| `run` | 統一エントリポイント — "/godd-a/<tool> <args>" 形式のテキストコマンドをパースして対応ツールを実行 |
|
|
352
|
-
| `dev` | 開発(段階的に計画→実装→テスト→品質→ドキュメントを実行) |
|
|
353
|
-
| `check` | 品質ゲート(Spec整合・テスト・型・Lint・セキュリティを検証) |
|
|
354
|
-
| `docs` | ドキュメント生成/更新 |
|
|
355
|
-
| `ship` | 提出(適切な粒度でコミット → 品質チェック → プッシュ → PR 作成) |
|
|
356
|
-
| `setup` | 環境構築(推奨スタックプリセット付き・不足情報は確認) |
|
|
357
|
-
| `review` | レビュー(CTO レベルのレビュー + 品質ゲート) |
|
|
358
|
-
| `test` | テスト実行/作成 |
|
|
359
|
-
| `impact` | 影響分析 |
|
|
360
|
-
| `commit` | 変更をコミット |
|
|
361
|
-
| `push` | リモートにプッシュ |
|
|
362
|
-
| `pr` | PR 作成(テンプレート準拠) |
|
|
363
|
-
| `deploy` | デプロイ(検証・ロールバック計画付き) |
|
|
364
|
-
| `adr` | ADR(Architecture Decision Record)作成 |
|
|
365
|
-
| `release` | リリースノート生成(SemVer 準拠) |
|
|
366
|
-
| `github` | GitHub 設定(リポジトリ/ブランチ保護等) |
|
|
367
|
-
| `config` | config.godd を正確に生成・修正する(スタック自動検出 + バリデーション) |
|
|
368
|
-
| `questions` | 質問リスト(質問リスト.md)からインタラクティブに質問を管理 |
|
|
369
|
-
| `e2e` | ブラウザベース E2E テスト(重要ユーザーフローの実行・検証) |
|
|
370
|
-
| `map` | プロジェクトナレッジグラフ(Mermaid でアーキテクチャ・依存関係を可視化) |
|
|
371
|
-
| `learn` | プロジェクト固有のパターン・慣例・落とし穴を保存/参照 |
|
|
372
|
-
| `scratchpad` | 会話記憶の永続化 — BM25 ベクター検索で save/recall/search/list/forget(Qdrant またはローカル JSON フォールバック) |
|
|
373
|
-
| `diagram` | アーキテクチャ図の自動更新(コードと同期した Mermaid ドキュメントを維持) |
|
|
374
|
-
| `slide` | プロジェクトドキュメントからプレゼンスライドを生成(Marp Markdown 形式) |
|
|
375
|
-
| `design` | コードベースからビジュアルデザインを生成/更新(Pencil.dev 同期) |
|
|
376
|
-
| `metrics` | トークン効率と、任意の証拠に基づく品質・予算・学習成果・guardrail preflightレポート |
|
|
377
|
-
| `plan` | 承認済み計画を有界な永続 lifecycle、観測可能な永続 deadline、二相 cancel、決定的 review 付きで実行する |
|
|
378
|
-
|
|
379
|
-
この表の機械可読版は
|
|
380
|
-
[getgodd.dev/godd/commands.json](https://getgodd.dev/godd/commands.json) に公開しています。
|
|
381
|
-
エージェント向けの接続手順は [getgodd.dev/connect.md](https://getgodd.dev/connect.md) を参照してください。
|
|
382
|
-
|
|
383
|
-
### CLI コマンド
|
|
384
|
-
|
|
385
|
-
| コマンド | 説明 |
|
|
386
|
-
|---|---|
|
|
387
|
-
| `godd-a install [--license-key=KEY] [--client=...]` | MCP クライアントに登録(`--client` 省略時はインストール済みを自動検出) |
|
|
388
|
-
| `godd-a init [--force] [--lang=LANG] [--auto]` | プロジェクト設定を生成 |
|
|
389
|
-
| `godd-a uninstall [--client=...]` | MCP クライアントから削除 |
|
|
390
|
-
| `godd-a version`(または `--version` / `-v`) | インストール済みバージョンの表示と更新確認 |
|
|
391
|
-
| `godd-a serve` | MCP stdio サーバーを起動(クライアントが自動呼び出し) |
|
|
392
|
-
| `godd-a shard partition <plan|lease|report|expire|abandon|status>` | sequence集合の欠落・重複を防ぐRust native shard planを管理 |
|
|
393
|
-
| `godd-a realtime admission --evaluated-at-ms <u64>` | stdinのbounded event envelopeをfail-closedな3値receiptとして評価 |
|
|
394
|
-
| `godd-a dataset coverage --ledger <path>` | trusted system clockとstrict JSON action 1件からCAS払い出しsample attemptとbounded coverageを永続化 |
|
|
395
|
-
|
|
396
|
-
Shard plan は、最初に `plan --state-dir <dir> --source-root <dir> --selector 1/M`
|
|
397
|
-
で全 shard の immutable plan と全件 pre-seed ledger を作成します。worker は
|
|
398
|
-
`lease --state-dir <dir> --selector N/M --ttl-ms <ms>` の応答に含まれる
|
|
399
|
-
`assigned_ids` と digest を使用し、source root を再列挙しません。worker の完了報告は
|
|
400
|
-
`report --state-dir <dir>` の stdin に JSON で渡します。期限監視は
|
|
401
|
-
`expire --state-dir <dir>`、明示的放棄は
|
|
402
|
-
`abandon --state-dir <dir> --selector N/M`、再割当は `lease ... --takeover`、集約状態は
|
|
403
|
-
`status --state-dir <dir>` で確認します。npm CLI はこの wire protocol を packaged Rust
|
|
404
|
-
command へ中継するだけです。成功した各 action は stdout へ JSON 1件を出して exit 0、
|
|
405
|
-
不正な入力・状態、永続化失敗、競合は stderr へ安定した `PARTITION_*` reason codeだけを
|
|
406
|
-
出して exit 2 です。
|
|
407
|
-
|
|
408
|
-
平文の `assigned_ids` は lease response だけに含まれます。診断には sequence ID や
|
|
409
|
-
host path は出力されません。
|
|
410
|
-
lease応答と`status`は現在の`ledger_revision`を返し、accepted report receiptは次の
|
|
411
|
-
revisionを返します。report JSONの`plan_generation`、`reporting_shard_index`、
|
|
412
|
-
`lease_generation`はlease応答から、`expected_ledger_revision`は直前のreceiptまたは
|
|
413
|
-
`status`から渡します。競合時は`PARTITION_CAS_MISMATCH`を成功へ変換せず、statusを
|
|
414
|
-
再取得して再評価してください。
|
|
415
|
-
strict report body は次の形です。`expected_state` は `assigned` / `completed` /
|
|
416
|
-
`rejected` / `missing`、`outcome` は `completed` / `rejected` のいずれかです。
|
|
417
|
-
|
|
418
|
-
```json
|
|
419
|
-
{
|
|
420
|
-
"plan_generation": {
|
|
421
|
-
"source_generation": "<64 lowercase hex>",
|
|
422
|
-
"expected_set_digest": "<64 lowercase hex>"
|
|
423
|
-
},
|
|
424
|
-
"sequence_id": "<one assigned_ids value>",
|
|
425
|
-
"reporting_shard_index": 1,
|
|
426
|
-
"lease_generation": 1,
|
|
427
|
-
"expected_state": "assigned",
|
|
428
|
-
"expected_ledger_revision": 0,
|
|
429
|
-
"outcome": "completed"
|
|
430
|
-
}
|
|
431
|
-
```
|
|
85
|
+
ツール一覧・CLI リファレンス・トラブルシューティングは **[ドキュメントサイト](https://www.getgodd.dev/docs)** にまとまっています。
|
|
432
86
|
|
|
433
|
-
|
|
434
|
-
(`principal:sha256:<hex64>`、`resource:sha256:<hex64>`、`evidence:sha256:<hex64>`)
|
|
435
|
-
だけを受理します。生token、cookie、ユーザー名、socket IDは表示せず拒否します。
|
|
436
|
-
|
|
437
|
-
Dataset coverage は strict JSON の `initialize` / `issue` / `report` / `sweep` /
|
|
438
|
-
`finalize` のいずれか1 actionだけを受理します。`initialize` で generation、割当/期待sample集合、
|
|
439
|
-
retry policy、coverage thresholds、両declared digest、replacement policy
|
|
440
|
-
(Stage 2は`forbidden`のみ。`within_assigned_set`は予約済みで拒否)を事前固定します。`issue` は
|
|
441
|
-
`canonical_sample_id` と `requested_position`、`report` は発行済み `attempt` と型付きoutcome
|
|
442
|
-
(`Accepted` / `Rejected` / `TimedOut` / `Cancelled` / `InfrastructureFailed`)を受け取り、
|
|
443
|
-
`sweep` はpayloadなし、`finalize` は事前固定したthresholds・digests・policyとの完全一致を要求します。
|
|
444
|
-
retry exhaustion時は`TerminalDecision`を原子的にappendし、欠落・重複・改変されたterminal projectionはloadで拒否します。
|
|
445
|
-
典型フローは initialize → issue → report(反復)→ sweep/finalize です。成功はJSON receiptを
|
|
446
|
-
stdoutへ1件出してexit 0、不正JSON/state・永続化失敗・conflictは秘密値を含まない安定reason codeを
|
|
447
|
-
stderrへ出してexit 2です。Coverage receiptはgeneration source、threshold/expected-set digest、
|
|
448
|
-
ledger/event-head/full durable-snapshot digest、finalized event sequence、failure class別attempt件数、最大32件の安定した
|
|
449
|
-
終局failure fingerprintを束縛し、raw sample IDは返しません。
|
|
450
|
-
`--ledger`の親directoryは事前作成が必要で、command自身はpath componentを作成しません。
|
|
451
|
-
|
|
452
|
-
### トラブルシューティング
|
|
453
|
-
|
|
454
|
-
**クライアントに「0 tools available」と表示される** — サーバーが必須の `serve` 引数なしで起動されています。`godd-a install` を再実行してクライアント設定を正しく再生成し、クライアントを再起動してください。
|
|
87
|
+
アダプターを実装する場合、3 つの subpath 契約(media interval / audio length / compile cache)はパッケージ同梱の `docs/adapter-contracts.md` にあります。
|
|
455
88
|
|
|
456
89
|
### ライセンス
|
|
457
90
|
|
|
458
|
-
|
|
91
|
+
商用ライセンス。利用にはライセンスキーが必要です — [プランを見る](https://www.getgodd.dev/pricing)。
|
|
459
92
|
|
|
460
93
|
---
|
|
461
94
|
|
|
462
95
|
## Русский
|
|
463
96
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
### Зачем использовать GoDD
|
|
467
|
-
|
|
468
|
-
- **Более качественный код быстрее.** Каждый промпт построен на семи проверенных методологиях xDD (Spec / Acceptance-Test / Test / Domain / Neo-Model / Docs / Issue-Driven Development), поэтому AI планирует, тестирует и документирует как senior-инженер, а не гадает.
|
|
469
|
-
- **Одна команда на задачу.** Вызовите `/dev`, `/review`, `/ship` и другие — AI выполнит полный цикл: план → реализация → тесты → качество → документация.
|
|
470
|
-
- **Меньше токенов, ниже стоимость.** Промпты доставляются **по требованию** — в контекст AI попадает только вызванный. Обычно это ~2 000–5 000 токенов на вызов против ~80 000+ у постоянно загружаемых файлов правил.
|
|
471
|
-
- **Работает с вашими клиентами.** Один и тот же сервер регистрируется во всех поддерживаемых клиентах; настройки проекта определяются автоматически.
|
|
472
|
-
- **Синхронизирован с вашим стеком.** `godd-a init` создаёт профиль проекта, чтобы доставляемые промпты соответствовали вашему языку, фреймворку и инструментам.
|
|
473
|
-
|
|
474
|
-
### Требования
|
|
475
|
-
|
|
476
|
-
- **Лицензионный ключ GoDD** (обязателен — см. [Получение лицензионного ключа](#получение-лицензионного-ключа))
|
|
477
|
-
- Node.js 22+
|
|
478
|
-
- MCP-совместимый клиент: Cursor IDE, Claude Code CLI, Codex, Kimi CLI или Antigravity IDE
|
|
479
|
-
|
|
480
|
-
### Получение лицензионного ключа
|
|
481
|
-
|
|
482
|
-
Для использования GoDD MCP требуется действующий лицензионный ключ.
|
|
97
|
+
**Скажите, что нужно, обычными словами. GoDD проходит весь цикл — план → реализация → тесты → ревью → документация → поставка.** Работает внутри Cursor, Claude Code, Codex, Kimi CLI и Antigravity по протоколу MCP.
|
|
483
98
|
|
|
484
|
-
|
|
485
|
-
2. [Создайте аккаунт](https://www.getgodd.dev/godd-admin/register) и выберите подписку
|
|
486
|
-
3. Выпустите лицензионный ключ в [панели управления](https://www.getgodd.dev/godd-admin/dashboard)
|
|
99
|
+
### Почему GoDD
|
|
487
100
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
может использовать проверенное последнее исправное поколение в пределах
|
|
494
|
-
`GODD_REGISTRY_CACHE_MAX_AGE_DAYS` (по умолчанию 30 дней), но только при недоступности
|
|
495
|
-
endpoint. Некорректный успешный ответ, подмена источника, откат revision, ответ 401/403,
|
|
496
|
-
HTTP 409 `LEXICON_INTEGRITY_FAILURE`, просроченный или изменённый кэш и отсутствие кэша
|
|
497
|
-
останавливают запуск. Обрыв потока считается недоступностью, а превышение лимита —
|
|
498
|
-
фатальной ошибкой; revision — каноническое ненулевое десятичное u64.
|
|
499
|
-
15-секундный deadline охватывает заголовки и полное bounded body. Независимого
|
|
500
|
-
доверенного high-water anchor нет: CAS отклоняет одновременную устаревшую запись, но не
|
|
501
|
-
обнаруживает восстановление старого целиком подлинного файла кэша. Max-age лишь
|
|
502
|
-
ограничивает это остаточное окно replay.
|
|
101
|
+
- **~2 000–5 000 токенов на вызов вместо ~80 000+.** Промпты доставляются **по требованию** — в контекст попадает только вызванный. Постоянно загруженные файлы правил съедают контекст ещё до первого сообщения.
|
|
102
|
+
- **ИИ перестаёт угадывать.** Каждый промпт построен на семи методологиях xDD (Spec / Acceptance-Test / Test / Domain / Neo-Model / Docs / Issue-Driven Development), поэтому он планирует, тестирует и документирует как старший инженер.
|
|
103
|
+
- **Одна команда делает всю работу.** `/dev`, `/review`, `/ship` — каждая запускает полный цикл, а не отдельный шаг.
|
|
104
|
+
- **Он знает ваш стек.** `godd-a init` определяет язык, фреймворк и инструменты, и промпты подстраиваются под них.
|
|
105
|
+
- **Ничего не нужно менять.** Один сервер регистрируется во всех клиентах, которыми вы уже пользуетесь.
|
|
503
106
|
|
|
504
107
|
### Установка
|
|
505
108
|
|
|
506
109
|
```bash
|
|
507
110
|
npm install -g @autodevjapan/godd-mcp-alpha
|
|
111
|
+
godd-a install # автообнаружение MCP-клиентов и регистрация в каждом
|
|
112
|
+
godd-a init # создать профиль проекта
|
|
508
113
|
```
|
|
509
114
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
```bash
|
|
513
|
-
# Автообнаружение установленных MCP-клиентов и регистрация в каждом
|
|
514
|
-
godd-a install --license-key=YOUR_LICENSE_KEY
|
|
515
|
-
|
|
516
|
-
# Или конкретный клиент: cursor / claude-code / codex / kimi / antigravity / all
|
|
517
|
-
godd-a install --client=cursor --license-key=YOUR_LICENSE_KEY
|
|
518
|
-
|
|
519
|
-
# Сгенерировать конфигурацию проекта (интерактивно; для CI/CD добавьте --auto)
|
|
520
|
-
godd-a init
|
|
521
|
-
```
|
|
522
|
-
|
|
523
|
-
`godd-a init` и MCP-инструмент `config` используют закреплённую границу файловой системы Rust native и атомарно синхронизируют ограниченный маркерами блок в корневом `.gitignore` для локальных артефактов GoDD. Правила вне блока сохраняются. При повреждённых маркерах, symlink/необычном файле, занятой блокировке, ошибке ввода-вывода или 15-секундном тайм-ауте native-процесса файл не изменяется, а init/config завершается ошибкой со стабильным кодом. Только уже отслеживаемые файлы дают некритичное предупреждение `GODD_GITIGNORE_TRACKED_FILES`; GoDD никогда не запускает `git rm` автоматически.
|
|
524
|
-
|
|
525
|
-
Если `GODD_GITIGNORE_LOCKED` повторяется, сначала убедитесь, что init/config не запущен, затем удалите только `.godd/managed-gitignore.lock` и повторите команду. Не удаляйте весь каталог `.godd` и не изменяйте индекс Git.
|
|
526
|
-
|
|
527
|
-
> Используйте `godd-a install` — он настроит команду запуска, PATH и лицензионный ключ. После этого перезапустите клиент, и инструменты GoDD появятся автоматически.
|
|
528
|
-
|
|
529
|
-
Параметр `godd_files.docs_dir` в `config.godd` задаёт единый относительный к репозиторию корень для спецификаций, ADR, диаграмм и руководств (по умолчанию `documents`). Всегда записывайте его как строку YAML в двойных кавычках (например, `docs_dir: "docs"`), чтобы допустимые имена `true`, `null` и `123` оставались строками. Используйте разделитель `/`; каждый сегмент допускает только буквы/цифры Unicode и `._-`. Пустые значения, абсолютные пути, обратная косая черта, символы раскрытия shell, завершающие точки, сегменты `.` / `..` и зарезервированные имена устройств Windows (включая расширения и NFKC-совместимые формы вроде `COM¹`) отклоняются. Это значение также передаётся шаблонам Registry, поэтому GoDD не создаёт второй корень документации.
|
|
530
|
-
|
|
531
|
-
### Использование
|
|
115
|
+
Затем введите `/` в клиенте и выберите промпт GoDD — или просто попросите словами.
|
|
532
116
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
- **Нативный UI** — введите `/` в чате и выберите промпт GoDD (`/dev`, `/review`), либо в режиме Agent просто попросите («запусти dev», «сделай ревью»).
|
|
536
|
-
- **Slash-команды** — `godd-a install` создаёт файлы команд `/godd-a-<tool>` для клиентов, которые их поддерживают (Cursor, Claude Code, Codex, Antigravity).
|
|
537
|
-
- **Текстовый диспетчер** — введите `/godd-a/dev <args>` как обычный текст; AI направит запрос нужному инструменту.
|
|
538
|
-
|
|
539
|
-
### Контракт audio adapter
|
|
540
|
-
|
|
541
|
-
Разработчики адаптеров могут импортировать типизированный npm subpath без побочных эффектов:
|
|
542
|
-
|
|
543
|
-
```ts
|
|
544
|
-
import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
|
|
545
|
-
```
|
|
546
|
-
|
|
547
|
-
Контракт фиксирует входы waveform/mel и выход PCM16 WAV. Расчёты padding, frame и trim остаются только в Rust; их дублирование в Node payload отклоняется. Это проверка границы адаптера, а не production inference route.
|
|
117
|
+
### Требования
|
|
548
118
|
|
|
549
|
-
|
|
119
|
+
Node.js 22+ · MCP-клиент (Cursor / Claude Code / Codex / Kimi CLI / Antigravity) · лицензионный ключ.
|
|
550
120
|
|
|
551
|
-
|
|
121
|
+
Сервер проверяет лицензию онлайн при каждом запуске; офлайн-периода нет.
|
|
552
122
|
|
|
553
|
-
|
|
554
|
-
import {
|
|
555
|
-
forwardMediaIntervalTransformation,
|
|
556
|
-
loadMediaIntervalCalibrationSnapshot,
|
|
557
|
-
validateMediaIntervalAdapterContract,
|
|
558
|
-
} from "@autodevjapan/godd-mcp-alpha/media-interval-adapter-contract";
|
|
123
|
+
### Остальное
|
|
559
124
|
|
|
560
|
-
|
|
561
|
-
const transformation = forwardMediaIntervalTransformation(contract);
|
|
562
|
-
const calibration = loadMediaIntervalCalibrationSnapshot();
|
|
563
|
-
if (calibration.status === "INCONCLUSIVE") {
|
|
564
|
-
throw new Error("Не удалось проверить calibration media interval");
|
|
565
|
-
}
|
|
566
|
-
```
|
|
567
|
-
|
|
568
|
-
Loader проверяет официальный content-addressed snapshot, встроенный в этот subpath, поэтому consumer не требуется искать отдельный JSON asset. Node только проверяет envelope и передаёт его дальше. Расчёт интервалов, canonical union coverage, решение по coverage и применение к source buffer остаются исключительно в Rust и не должны дублироваться в payload адаптера. Неподдерживаемая schema, неизвестное вложенное поле, недостаточный размер выборки, некорректные metadata или несовпадение digest возвращают `INCONCLUSIVE` без числового fallback; вызывающая сторона должна остановиться, а не придумывать допуск по умолчанию. Этот subpath не открывает production route обработки media.
|
|
569
|
-
|
|
570
|
-
### Промпты GoDD
|
|
571
|
-
|
|
572
|
-
| Промпт | Описание |
|
|
573
|
-
|---|---|
|
|
574
|
-
| `run` | Единая точка входа — разбирает текстовую команду "/godd-a/<tool> <args>" и запускает соответствующий инструмент |
|
|
575
|
-
| `dev` | Разработка (план → реализация → тесты → качество → документация поэтапно) |
|
|
576
|
-
| `check` | Контроль качества (Spec, тесты, типы, линтер, безопасность) |
|
|
577
|
-
| `docs` | Генерация/обновление документации |
|
|
578
|
-
| `ship` | Отправка (коммит → проверка качества → пуш → создание PR) |
|
|
579
|
-
| `setup` | Настройка среды (с рекомендуемыми пресетами стека) |
|
|
580
|
-
| `review` | Ревью (CTO-уровень + контроль качества) |
|
|
581
|
-
| `test` | Запуск/создание тестов |
|
|
582
|
-
| `impact` | Анализ влияния |
|
|
583
|
-
| `commit` | Зафиксировать изменения |
|
|
584
|
-
| `push` | Отправить в удалённый репозиторий |
|
|
585
|
-
| `pr` | Создать PR (по шаблону) |
|
|
586
|
-
| `deploy` | Развернуть (с проверкой и планом отката) |
|
|
587
|
-
| `adr` | Создать ADR (запись архитектурного решения) |
|
|
588
|
-
| `release` | Сгенерировать заметки к релизу (SemVer) |
|
|
589
|
-
| `github` | Настройка GitHub (репозиторий/защита веток и т.д.) |
|
|
590
|
-
| `config` | Генерация/исправление config.godd (автодетект стека + валидация) |
|
|
591
|
-
| `questions` | Интерактивный Q&A из списка вопросов (質問リスト.md) |
|
|
592
|
-
| `e2e` | E2E-тестирование в браузере (выполнение и проверка критических пользовательских потоков) |
|
|
593
|
-
| `map` | Граф знаний проекта (визуализация архитектуры и зависимостей через Mermaid) |
|
|
594
|
-
| `learn` | Сохранение/вызов специфичных для проекта паттернов, соглашений и подводных камней |
|
|
595
|
-
| `scratchpad` | Постоянная память диалога — save/recall/search/list/forget с BM25 векторным поиском (Qdrant или локальный JSON фоллбэк) |
|
|
596
|
-
| `diagram` | Автообновление архитектурных диаграмм (поддержка актуальных Mermaid-документов) |
|
|
597
|
-
| `slide` | Генерация слайдов из документов проекта (формат Marp Markdown) |
|
|
598
|
-
| `design` | Генерация/обновление визуального дизайна из кодовой базы (синхронизация Pencil.dev) |
|
|
599
|
-
| `metrics` | Эффективность токенов и необязательная оценка качества, бюджета, обучения и предварительной проверки guardrail по доказательствам |
|
|
600
|
-
| `plan` | Ограниченное выполнение утверждённых планов с устойчивым жизненным циклом, наблюдаемыми сохранёнными сроками, двухфазной отменой и детерминированным обзором |
|
|
601
|
-
|
|
602
|
-
Машиночитаемая версия этой таблицы опубликована по адресу
|
|
603
|
-
[getgodd.dev/godd/commands.json](https://getgodd.dev/godd/commands.json); руководство
|
|
604
|
-
по подключению агента — [getgodd.dev/connect.md](https://getgodd.dev/connect.md).
|
|
605
|
-
|
|
606
|
-
### Команды CLI
|
|
607
|
-
|
|
608
|
-
| Команда | Описание |
|
|
609
|
-
|---|---|
|
|
610
|
-
| `godd-a install [--license-key=KEY] [--client=...]` | Регистрация в MCP-клиентах (без `--client` — автообнаружение установленных) |
|
|
611
|
-
| `godd-a init [--force] [--lang=LANG] [--auto]` | Генерация конфигурации проекта |
|
|
612
|
-
| `godd-a uninstall [--client=...]` | Удаление из MCP-клиентов |
|
|
613
|
-
| `godd-a version` (или `--version` / `-v`) | Показать установленную версию и проверить обновления |
|
|
614
|
-
| `godd-a serve` | Запустить MCP stdio-сервер (вызывается клиентом автоматически) |
|
|
615
|
-
| `godd-a shard partition <plan|lease|report|expire|abandon|status>` | Управлять Rust-native планом shard без пропусков и дубликатов sequence |
|
|
616
|
-
| `godd-a realtime admission --evaluated-at-ms <u64>` | Проверить bounded event envelope из stdin и вернуть fail-closed решение из трёх состояний |
|
|
617
|
-
| `godd-a dataset coverage --ledger <path>` | Сохранить CAS-выданные попытки sample и bounded coverage из одного strict JSON action с доверенными системными часами |
|
|
618
|
-
|
|
619
|
-
Рабочий процесс shard начинается с
|
|
620
|
-
`plan --state-dir <dir> --source-root <dir> --selector 1/M`: команда создаёт immutable plan
|
|
621
|
-
для всех shard и полностью предварительно заполненный ledger. Worker вызывает
|
|
622
|
-
`lease --state-dir <dir> --selector N/M --ttl-ms <ms>` и использует возвращённые
|
|
623
|
-
`assigned_ids` и digest, не перечисляя source root повторно. Отчёт worker о завершении
|
|
624
|
-
передаётся как один JSON-документ через stdin в `report --state-dir <dir>`. Для просроченных
|
|
625
|
-
lease используется `expire --state-dir <dir>`, для явного отказа —
|
|
626
|
-
`abandon --state-dir <dir> --selector N/M`, для повторного назначения —
|
|
627
|
-
`lease ... --takeover`, а агрегированное состояние возвращает `status --state-dir <dir>`.
|
|
628
|
-
Npm CLI только передаёт этот wire protocol упакованной Rust-команде. Каждое успешное действие
|
|
629
|
-
выводит ровно один JSON-документ в stdout и завершается с кодом 0; неверные входные данные или
|
|
630
|
-
состояние, ошибка сохранения и конфликт выводят в stderr только стабильный reason code
|
|
631
|
-
`PARTITION_*` и завершаются с кодом 2.
|
|
632
|
-
|
|
633
|
-
Открытые `assigned_ids` присутствуют только в ответе lease. Диагностика никогда не содержит
|
|
634
|
-
sequence ID или host path. Ответы lease и `status` возвращают текущий `ledger_revision`, а
|
|
635
|
-
receipt принятого report — следующую revision. Поля `plan_generation`,
|
|
636
|
-
`reporting_shard_index` и `lease_generation` для report JSON берутся из ответа lease, а
|
|
637
|
-
`expected_ledger_revision` — из последнего receipt или `status`. Не преобразуйте
|
|
638
|
-
`PARTITION_CAS_MISMATCH` в успех: повторно получите `status` и переоцените report.
|
|
639
|
-
Strict body отчёта имеет следующую форму. `expected_state` принимает `assigned`, `completed`,
|
|
640
|
-
`rejected` или `missing`, а `outcome` — `completed` или `rejected`:
|
|
641
|
-
|
|
642
|
-
```json
|
|
643
|
-
{
|
|
644
|
-
"plan_generation": {
|
|
645
|
-
"source_generation": "<64 lowercase hex>",
|
|
646
|
-
"expected_set_digest": "<64 lowercase hex>"
|
|
647
|
-
},
|
|
648
|
-
"sequence_id": "<one assigned_ids value>",
|
|
649
|
-
"reporting_shard_index": 1,
|
|
650
|
-
"lease_generation": 1,
|
|
651
|
-
"expected_state": "assigned",
|
|
652
|
-
"expected_ledger_revision": 0,
|
|
653
|
-
"outcome": "completed"
|
|
654
|
-
}
|
|
655
|
-
```
|
|
125
|
+
Полный список инструментов, справочник CLI и устранение неполадок — на **[сайте документации](https://www.getgodd.dev/ru/docs)**.
|
|
656
126
|
|
|
657
|
-
|
|
658
|
-
`principal:sha256:<hex64>`, `resource:sha256:<hex64>` и `evidence:sha256:<hex64>`.
|
|
659
|
-
Необработанные токены, cookie, имена пользователей и socket ID отклоняются без вывода значения.
|
|
660
|
-
|
|
661
|
-
Dataset coverage принимает ровно одно strict JSON-действие: `initialize`, `issue`, `report`,
|
|
662
|
-
`sweep` или `finalize`. `initialize` заранее фиксирует generation, assigned/expected sample sets,
|
|
663
|
-
retry policy, coverage thresholds, оба declared digest и replacement policy (`forbidden`;
|
|
664
|
-
`within_assigned_set` зарезервирован и отклоняется в Stage 2). `issue` принимает `canonical_sample_id` и `requested_position`, `report` —
|
|
665
|
-
выданный `attempt` и типизированный outcome (`Accepted`, `Rejected`, `TimedOut`, `Cancelled` или
|
|
666
|
-
`InfrastructureFailed`), `sweep` не имеет payload, а `finalize` требует точного совпадения с
|
|
667
|
-
заранее зарегистрированными thresholds, digest и policy. Обычный поток: initialize → issue →
|
|
668
|
-
report (повтор) → sweep/finalize. Успех возвращает один JSON receipt и код 0; invalid JSON/state,
|
|
669
|
-
ошибка сохранения или conflict возвращает в stderr только стабильный reason code и код 2.
|
|
670
|
-
При исчерпании retry атомарно добавляется `TerminalDecision`; отсутствующая, повторная или изменённая terminal projection отклоняется при load.
|
|
671
|
-
Coverage receipt связывает generation source, threshold/expected-set digest, ledger/event-head
|
|
672
|
-
и full durable-snapshot digest, finalized event sequence, число failure-attempt по классам и не более 32 стабильных
|
|
673
|
-
opaque fingerprint терминальных failures; raw sample ID не возвращаются.
|
|
674
|
-
Родительский каталог `--ledger` должен существовать заранее; команда не создаёт компоненты пути.
|
|
675
|
-
|
|
676
|
-
### Устранение неполадок
|
|
677
|
-
|
|
678
|
-
**«0 tools available» в клиенте** — сервер запущен без обязательного аргумента `serve`. Повторно выполните `godd-a install`, чтобы корректно пересоздать конфигурацию клиента, затем перезапустите клиент.
|
|
127
|
+
Пишете адаптер? Все три контракта subpath (media interval / audio length / compile cache) поставляются вместе с пакетом: `docs/adapter-contracts.md`.
|
|
679
128
|
|
|
680
129
|
### Лицензия
|
|
681
130
|
|
|
682
|
-
|
|
131
|
+
Проприетарная. Требуется действующий лицензионный ключ — [посмотреть тарифы](https://www.getgodd.dev/ru/pricing).
|