@ripla/godd-mcp 1.0.7-canary.2 → 1.0.7-canary.20

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.
Files changed (88) hide show
  1. package/README.md +176 -92
  2. package/dist/godd.cjs +268 -247
  3. package/dist/godd.js +828 -386
  4. package/dist/index.js +115 -119
  5. package/notes/api/app/main.py +6 -2
  6. package/notes/api/app/routers/assets.py +114 -0
  7. package/notes/api/app/routers/auth.py +14 -0
  8. package/notes/api/app/routers/upload.py +5 -1
  9. package/notes/api/app/security.py +64 -1
  10. package/notes/api/app/services/asset_proxy.py +182 -0
  11. package/notes/api/tests/test_assets.py +389 -0
  12. package/notes/api/tests/test_auth.py +31 -0
  13. package/notes/api/tests/test_security.py +51 -0
  14. package/notes/api/tests/test_upload.py +4 -0
  15. package/notes/app/DESIGN.md +5 -2
  16. package/notes/app/e2e/fixtures.ts +39 -0
  17. package/notes/app/e2e/ja-typography-visual.spec.ts +185 -0
  18. package/notes/app/e2e/ja-typography-visual.spec.ts-snapshots/ja-typography-desktop-1280-chromium-linux.png +0 -0
  19. package/notes/app/e2e/ja-typography-visual.spec.ts-snapshots/ja-typography-mobile-360-chromium-linux.png +0 -0
  20. package/notes/app/e2e/rtl-logical-properties.spec.ts +36 -0
  21. package/notes/app/package-lock.json +0 -8
  22. package/notes/app/package.json +0 -1
  23. package/notes/app/playwright.config.ts +7 -0
  24. package/notes/app/pnpm-lock.yaml +0 -8
  25. package/notes/app/src/components/BranchSelectorModal.tsx +8 -8
  26. package/notes/app/src/components/CommentPanel.tsx +5 -5
  27. package/notes/app/src/components/DiffPreview.tsx +4 -4
  28. package/notes/app/src/components/FileContentView.test.tsx +67 -0
  29. package/notes/app/src/components/FileContentView.tsx +20 -1
  30. package/notes/app/src/components/FileContextMenu.tsx +1 -1
  31. package/notes/app/src/components/FileInfoPanel.branch-tab.test.tsx +3 -35
  32. package/notes/app/src/components/ImageUploadTextarea.test.tsx +234 -0
  33. package/notes/app/src/components/ImageUploadTextarea.tsx +169 -0
  34. package/notes/app/src/components/ImageView.test.tsx +85 -0
  35. package/notes/app/src/components/ImageView.tsx +48 -0
  36. package/notes/app/src/components/IssueCommentThread.test.tsx +40 -19
  37. package/notes/app/src/components/IssueCommentThread.tsx +3 -2
  38. package/notes/app/src/components/IssueDetailView.test.tsx +3 -40
  39. package/notes/app/src/components/IssueDetailView.tsx +4 -2
  40. package/notes/app/src/components/IssueList.tsx +3 -3
  41. package/notes/app/src/components/LabelSelector.tsx +1 -1
  42. package/notes/app/src/components/MarkdownEditor.tsx +9 -16
  43. package/notes/app/src/components/Skeleton.tsx +2 -2
  44. package/notes/app/src/components/ToastContainer.tsx +1 -1
  45. package/notes/app/src/components/TreeNode.tsx +6 -6
  46. package/notes/app/src/contexts/ToastContext.tsx +1 -1
  47. package/notes/app/src/hooks/useComments.ts +1 -1
  48. package/notes/app/src/hooks/useEditSession.ts +1 -1
  49. package/notes/app/src/lib/api.ts +13 -13
  50. package/notes/app/src/lib/csv-utils.ts +1 -1
  51. package/notes/app/src/lib/image-proxy.test.ts +142 -0
  52. package/notes/app/src/lib/image-proxy.ts +122 -0
  53. package/notes/app/src/lib/imageUploadHandler.test.ts +84 -0
  54. package/notes/app/src/lib/imageUploadHandler.ts +27 -0
  55. package/notes/app/src/lib/postLoginRedirect.ts +1 -1
  56. package/notes/app/src/lib/rtl-logical-properties.test.ts +59 -0
  57. package/notes/app/src/lib/sanitizeImageAltText.test.ts +43 -0
  58. package/notes/app/src/lib/sanitizeImageAltText.ts +30 -0
  59. package/notes/app/src/lib/user-colors.ts +1 -1
  60. package/notes/app/src/pages/MainPage.tsx +2 -2
  61. package/notes/app/src/pages/SettingsPage.test.tsx +40 -10
  62. package/notes/app/src/pages/SettingsPage.tsx +1 -1
  63. package/notes/app/src/pages/UserManagementPage.tsx +7 -7
  64. package/notes/app/src/styles/globals.css +17 -0
  65. package/notes/app/src/test/mockPeriodicSync.ts +68 -0
  66. package/notes/app/src/test/mocks.ts +1 -1
  67. package/package.json +2 -2
  68. package/templates/github-actions/aws/deploy-notes.yml.hbs +193 -10
  69. package/templates/notes-docs/002_business_flow/README.md +19 -0
  70. package/templates/notes-docs/003_requirements/README.md +20 -0
  71. package/templates/notes-docs/003_requirements/questions.csv +1 -0
  72. package/templates/notes-docs/003_requirements/spec/README.md +11 -0
  73. package/templates/notes-docs/003_requirements//343/200/220/344/273/225/346/247/230/346/233/270/343/200/221/343/203/225/343/202/251/343/203/274/343/203/236/343/203/203/343/203/210/342/221/240/357/274/210/343/203/223/343/202/270/343/203/215/343/202/271/343/202/265/343/202/244/343/203/211/345/220/221/343/201/221/357/274/211.md +1 -2
  74. package/templates/notes-docs/004_pages/README.md +22 -0
  75. package/templates/notes-docs/005_architecture/README.md +20 -0
  76. package/templates/notes-docs/006_development_workflow/git.template.md +5 -5
  77. package/templates/notes-docs/006_development_workflow/workflow.template.md +30 -30
  78. package/templates/notes-docs/007_guides/godd_usage.md +80 -61
  79. package/templates/notes-docs/007_guides/setup_aws_accounts.md +1 -0
  80. package/templates/notes-docs/007_guides/setup_godd.md +48 -9
  81. package/templates/notes-docs/007_guides/setup_godd_notes.md +101 -10
  82. package/templates/notes-docs/007_guides/setup_godd_notes.md.styles.json +2 -2
  83. package/templates/notes-docs/007_guides/setup_infra.template.md +52 -0
  84. package/templates/notes-docs/999_ref/README.md +23 -0
  85. package/templates/notes-docs/GENERATED.md +1 -1
  86. package/templates/notes-docs/README.md +26 -20
  87. package/templates/terraform/aws/ecs.tf.hbs +12 -1
  88. package/templates/terraform/aws/iam.tf.hbs +361 -4
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  | Node.js 20 以上 | `node -v` で確認 |
13
13
  | Cursor IDE | 最新版推奨 |
14
14
  | ライセンスキー | 管理者から受領 |
15
- | Registry URL | 管理者から受領 |
15
+ | プロジェクトURL(Registry API URL) | GoDD Admin Console と連携してプロンプトを取得する接続先。管理者から受領 |
16
16
 
17
17
  ---
18
18
 
@@ -44,59 +44,70 @@ cd /path/to/your-project
44
44
  godd init
45
45
  ```
46
46
 
47
- 対話形式で以下を入力していきます:
47
+ 実行前に、対話で聞かれる項目を準備しておきます:
48
48
 
49
- 1. **ライセンスキー** — 管理者から受領したキーを入力
50
- 2. **言語** — `ja`(日本語)など
51
- 3. **Registry URL** — 管理者から指定された URL を入力
52
- 4. **技術スタック** — 使用する言語・フレームワーク・DB を選択
49
+ 1. **ライセンスキー** — 管理者から受領したキーを入力(必須)
50
+ 2. **使用言語** — `ja` / `en` / `zh` / `ru` / `kz` / `tr` から選択(default: `ja`)
51
+ 3. **プロジェクトURL(Registry API URL)** — GoDD Admin Console と連携してプロンプトを取得する接続先。何も入力せず Enter を押すと、表示されたデフォルト値(`https://dev.api.godd.ripla-inc.com`)を使用します。適用後は使用した URL が表示されます
52
+ 4. **リポジトリ登録** — `origin` の Git リモート URL を Registry API に登録(`origin` がない場合は中断)
53
+ 5. **技術スタック選択** — `1,3,5` で複数選択、`all` で全選択。Step 2 以降は Enter でスキップ可(Step 1 は不可)
54
+ 6. **`config.godd` の保存先** — default はプロジェクトルートの `config.godd`
55
+ 7. **対応媒体の MCP 設定生成** — `[Y/n]`(`Y` のとき `.cursor/mcp.json` / `.mcp.json` / `.codex/config.toml` と `/godd-dev` コマンドファイルを生成します)
56
+ 8. **任意 MCP の追加登録** — 順番 7 で `Y` のときのみ、Headroom / agent-browser / TypeUI を個別に opt-in
53
57
 
54
- ```
55
- ライセンスキーを入力してください: godd-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
56
- 使用言語を選択 [ja/en/zh/ru/kz/tr] (default: ja): ja
57
- Registry API URL (default: http://localhost:8100): https://godd-registry.example.com
58
-
59
- 【言語】
60
- 1. Python
61
- 2. TypeScript
62
- 3. JavaScript
63
- ...
64
- 選択 (例: 1,2): 1,2
65
-
66
- 【フロントエンド】
67
- 1. React
68
- 2. Next.js
69
- ...
70
- 選択 (例: 1): 1
71
-
72
- 【バックエンド】
73
- 1. FastAPI
74
- 2. Django
75
- ...
76
- 選択 (例: 1): 1
77
- ```
58
+ 技術スタック選択は以下の 5 ステップで進みます。**Step 1(プログラミング言語)のみ Enter ではスキップできません**(1 言語以上必須。未選択だとエラーで終了)。Step 2 以降は Enter でスキップでき、選んだ言語に対応する技術だけが表示されます。設計パターン(`DDD / Clean Architecture`)は質問されず、自動設定されます。
59
+
60
+ | Step | 質問カテゴリ | 表示される選択肢 |
61
+ |------|--------------|------------------|
62
+ | 1 | プログラミング言語(必須・Enter スキップ不可) | `Python` / `TypeScript` / `JavaScript` / `Go` / `PHP` / `Ruby` / `C` / `HTML` / `CSS` |
63
+ | 2 | フレームワーク / ライブラリ | `React` / `Next.js` / `Vue.js` / `Angular` / `Svelte` / `Electron`、`FastAPI` / `Django` / `Flask` / `Express` / `Fastify` / `NestJS` / `Gin` / `Echo` / `Fiber` / `Laravel` / `Symfony` / `WordPress` / `Ruby on Rails` / `Sinatra` / `Koa` |
64
+ | 3 | 関連ツール(CSS / ビルド / ORM / タスクキュー / ランタイム) | `Tailwind CSS` / `Sass` / `Vite` / `SQLAlchemy` / `Celery` / `Node.js` / `Agent Stdio` |
65
+ | 4 | データベース | `PostgreSQL` / `MySQL` / `MongoDB` / `Redis` |
66
+ | 5 | インフラ | `Docker` / `Terraform` |
78
67
 
79
- 完了すると、以下の 3 ファイルが自動生成されます:
68
+ 順番 7 で `Y`(既定)を選んだ場合のみ、追加で以下を聞かれます(`n` だと `.cursor/mcp.json` / `.mcp.json` は生成されません):
69
+
70
+ | 質問 | 既定 | 前提 |
71
+ |------|------|------|
72
+ | Headroom(コンテキスト圧縮 MCP)も登録しますか? | `N` | 事前に `pip install "headroom-ai[mcp]"` が必要 |
73
+ | agent-browser(ブラウザ操作 MCP)も登録しますか? | `N` | 事前に `npm install -g agent-browser && agent-browser install` が必要。`core` profile には JavaScript 実行(eval)が含まれます |
74
+ | TypeUI(デザインスキル / UI プロンプト MCP)も登録しますか? | `N` | ホスト型サーバー(`https://mcp.typeui.sh`)。初回利用時に TypeUI アカウントのサインインが必要 |
75
+ | TypeUI Bearer トークン(TypeUI を `y` にしたときのみ) | 空 Enter | 通常は空 Enter で OAuth 対話サインイン。独自ホスト/トークン認証のときだけ入力 |
76
+
77
+ 完了すると、以下のファイルが生成されます:
80
78
 
81
79
  | ファイル | 内容 |
82
80
  |---------|------|
83
- | `config.godd` | 技術スタックコンポーネントの設定 |
84
- | `.env` | ライセンスキー・言語・Registry URL(GoDD 管理値) |
85
- | `.cursor/mcp.json` | Cursor IDE への MCP サーバー登録 |
86
-
87
- > **`.env` にはライセンスキーが含まれます。`.gitignore` に追加してください。**
81
+ | `config.godd` | 技術スタックコンポーネントの設定(常に生成) |
82
+ | `.env` | ライセンスキー・言語・プロジェクトURL(Registry API URL、GoDD 管理値。常に更新) |
83
+ | `.cursor/mcp.json` | Cursor IDE への MCP サーバー登録(順番 7 で `Y` を選んだ場合のみ) |
84
+ | `.mcp.json` | Claude Code への MCP サーバー登録(プロジェクトルート。順番 7 で `Y` を選んだ場合のみ、`.cursor/mcp.json` と同一構成。TypeUI 等の url エントリのみ `type: "http"` 付き) |
85
+ | `.codex/config.toml` | Codex のプロジェクト MCP 設定(順番 7 で `Y` を選んだ場合のみ・Git 管理外) |
86
+ | `.cursor/commands/godd-dev.md` / `.claude/commands/godd-dev.md` | Cursor / Claude Code 共通の直接コマンド `/godd-dev` |
87
+ | `.agents/skills/godd-dev/SKILL.md` | Codex が自動検出する GoDD スキル(`$godd-dev`) |
88
+
89
+ > **ライセンスキーは `config.godd`(手動設定・旧形式・互換読み込み)、`.env`、`.cursor/mcp.json`、`.mcp.json`、`.codex/config.toml` で扱われます。`.gitignore` への除外は必須です。**
90
+ > `godd init` / `godd notes compose` が自動追記します(#1159 / #1216)。実行後は `git status` で除外を確認してください。
88
91
  >
89
92
  > ```gitignore
93
+ > config.godd
90
94
  > .env
95
+ > .cursor/mcp.json
96
+ > .cursor/mcp.json.bak
97
+ > .mcp.json
98
+ > .mcp.json.bak
99
+ > .codex/config.toml
91
100
  > ```
92
101
 
93
102
  ---
94
103
 
95
- ### Step 3: Cursor IDE を再起動する
104
+ ### Step 3: IDE で MCP を有効化する
96
105
 
97
- 設定後、Cursor IDE を再起動してください。
106
+ - **Cursor**: Cursor IDE を再起動してください。`.cursor/mcp.json` が読み込まれ、godd MCP ツールが利用可能になります
107
+ - **Claude Code**: 対象プロジェクトで `claude` を起動すると、プロジェクトスコープ MCP(`.mcp.json`)の**承認ダイアログ**が表示されるので godd を承認してください。**初回は承認するまで有効化されません**(ファイルを置いただけ・再起動しただけでは使えません)。承認状態は `claude mcp list` で確認できます(承認前は `⏸ Pending approval` と表示されます)
108
+ - **Codex**: `.codex/config.toml` を読み込んで再起動し、`/mcp` で godd が接続済みになっていることを確認してください。開発入口は `$godd-dev` です。
98
109
 
99
- 再起動後、Settings > MCP で `godd` サーバーのステータスが **Running** になっていれば完了です。
110
+ Cursor では再起動後、Settings > MCP で `godd` サーバーのステータスが **Running** になっていれば完了です。Claude Code では承認後に `claude mcp list` で `godd` が接続済みと表示されれば完了です。
100
111
 
101
112
  ---
102
113
 
@@ -106,9 +117,9 @@ Registry API URL (default: http://localhost:8100): https://godd-registry.example
106
117
 
107
118
  ### 技術スタックを変更したい場合
108
119
 
109
- プロジェクトディレクトリで `godd init` を再実行してください。コンポーネントは `config.godd` を直接編集することもできます。ライセンスキー・言語・Registry URL は `.env` の `GODD_LICENSE_KEY` / `GODD_LANGUAGE` / `GODD_REGISTRY_URL` を編集してください。Cursor のチャットで `godd_config` ツールを使って更新することもできます。変更後は Cursor IDE を再起動してください。
120
+ プロジェクトディレクトリで `godd init` を再実行してください。コンポーネントは `config.godd` を直接編集することもできます。ライセンスキー・言語・プロジェクトURL(Registry API URL)は `.env` の `GODD_LICENSE_KEY` / `GODD_LANGUAGE` / `GODD_REGISTRY_URL` を編集してください。Cursor のチャットで `godd-config` ツールを使って更新することもできます。変更後は Cursor IDE を再起動してください。
110
121
 
111
- > **再実行時の既存設定保護**: `config.godd` や `.env` が既に存在する場合、`godd init` は現在の設定をデフォルト値として表示します。Enter を押すだけで既存設定を保持できます。コンポーネントを再選択したい場合は、コンポーネント引き継ぎの質問で `n` を入力してください。
122
+ > **再実行時**: 既存の `config.godd` があると検出メッセージが表示され、ライセンスキー・使用言語・プロジェクトURL(Registry API URL)・保存先は Enter で既存値を保持できます。コンポーネントは「既存のコンポーネント設定を引き継ぎますか? `[Y/n]`」で引き継ぎ(既定 `Y`)か、ウィザードで再選択(`n`)を選べます。再選択時も Step 1(プログラミング言語)は 1 つ以上必須です。
112
123
 
113
124
  ### バイナリ(ZIP)でのインストール
114
125
 
@@ -141,7 +152,7 @@ chmod +x godd
141
152
  | コマンド | 短縮形 | 説明 |
142
153
  |---------|--------|------|
143
154
  | `godd install` | `godd i` | GoDD をシステムにインストール |
144
- | `godd init` | — | プロジェクトのセットアップ(config.godd + .cursor/mcp.json 生成) |
155
+ | `godd init` | — | プロジェクトのセットアップ(config.godd + .cursor/mcp.json + .mcp.json 生成) |
145
156
  | `godd server` | `godd s` | MCP サーバーを起動(Cursor が自動実行) |
146
157
  | `godd notes compose` | `godd n compose` | GoDD Notes をローカル Docker Compose で起動(`--auto` で自動実行) |
147
158
  | `godd notes deploy` | `godd n deploy` | GoDD Notes をクラウドにデプロイ(infra の provider に従う、`-y` で確認スキップ) |
@@ -155,7 +166,7 @@ chmod +x godd
155
166
 
156
167
  ---
157
168
 
158
- ## 利用可能なツール(29 件)
169
+ ## 利用可能なツール(31 件)
159
170
 
160
171
  Cursor のチャットで以下のツールが使えます。ツール名を指定しなくても、AI が自動的に適切なツールを選択します。
161
172
  全ツールの入力は optional — 引数なしで呼び出し可能で、Chat の文脈から AI が自動補完します。
@@ -166,60 +177,59 @@ Cursor のチャットで以下のツールが使えます。ツール名を指
166
177
 
167
178
  | ツール | 説明 | 呼び出し例 |
168
179
  |--------|------|-----------|
169
- | `godd_dev` | 開発ワークフローのメインエントリ。Spec 確認→影響調査→実装→品質ゲート→PR 本文生成まで一貫実行。デフォルトブランチ上では `feat/<slug>-<YYYYMMDD>` ブランチを自動作成 | 「ユーザー登録 API を実装して」 |
170
- | `godd_review` | CTO レベルのコードレビュー。アーキテクチャ一貫性・スケーラビリティ・技術的負債・ビジネスインパクトの観点でフィードバック。重大度分類(CRITICAL/MAJOR/MINOR/SUGGESTION)付き | 「この PR をレビューして」 |
171
- | `godd_check` | 品質チェック。Spec 整合・影響範囲・テスト計画・互換性・セキュリティの観点で提出前チェック | 「品質チェックして」 |
172
- | `godd_commit` | 責務単位コミット。1 コミット = 1 責務で分割し、Conventional Commits 準拠のメッセージで実行 | 「コミットして」 |
173
- | `godd_submit` | 提出一括実行。品質チェック → push → PR 作成を一括実行 | 「PR 出して」 |
174
- | `godd_notes_deploy` | GoDD Notes のデプロイ案内(compose / deploy / infra) | 「Notes をデプロイして」 |
180
+ | `godd-dev` | 開発ワークフローのメインエントリ。**2モード制** — 受領資料や依頼を渡すと起票モード(仕様突合 → タスク分解 → 起票〔単一ユニットは実装Issue 1件のみ / 複数なら親Issue + 子Issue〕→ 質問投稿 → 実ファイル受領時のみ資料保管 → Issue を番号昇順に1件ずつ実装)、`#<Issue番号>` を渡すと実装モード(回答記録 → ATDD実装 → 品質ゲート → 責務別コミット、`feat/#<Issue>-...` ブランチを自動作成) | 「この議事録の内容で起票して」 / 「#1234 を実装して」 |
181
+ | `godd-review` | CTO レベルのコードレビュー。アーキテクチャ一貫性・スケーラビリティ・技術的負債・ビジネスインパクトの観点でフィードバック。重大度分類(CRITICAL/MAJOR/MINOR/SUGGESTION)付き | 「この PR をレビューして」 |
182
+ | `godd-check` | 品質チェック。Spec 整合・影響範囲・テスト計画・互換性・セキュリティの観点で提出前チェック | 「品質チェックして」 |
183
+ | `godd-commit` | 責務単位コミット。1 コミット = 1 責務で分割し、Conventional Commits 準拠のメッセージで実行 | 「コミットして」 |
184
+ | `godd-submit` | 提出一括実行。品質チェック → push → PR 作成を一括実行 | 「PR 出して」 |
185
+ | `godd-notes-deploy` | GoDD Notes のデプロイ案内(compose / deploy / infra) | 「Notes をデプロイして」 |
175
186
 
176
187
  ### サブコマンド — Git 系
177
188
 
178
189
  | ツール | 説明 |
179
190
  |--------|------|
180
- | `godd_sync` | main ブランチの最新を取り込み。コンフリクトは SSOT 準拠側を優先 |
181
- | `godd_new_branch` | 変更を退避し、最新 main からブランチ作成して復元 |
182
- | `godd_git_workflow` | sync → new-branch → commit を一括実行 |
183
- | `godd_push` | 提出前チェック。品質ゲート・Spec 整合・機密情報チェック |
184
- | `godd_push_execute` | 提出前チェック後に git push 実行 |
185
- | `godd_pr_create` | 変更分析と PR テンプレート準拠の本文生成、GitHub 上で PR 作成 |
191
+ | `godd-sync` | main ブランチの最新を取り込み。コンフリクトは SSOT 準拠側を優先 |
192
+ | `godd-new-branch` | 変更を退避し、最新 main からブランチ作成して復元 |
193
+ | `godd-git-workflow` | sync → new-branch → commit を一括実行 |
194
+ | `godd-push` | 提出前チェック。品質ゲート・Spec 整合・機密情報チェック |
195
+ | `godd-push-execute` | 提出前チェック後に git push 実行 |
196
+ | `godd-pr-create` | 変更分析と PR テンプレート準拠の本文生成、GitHub 上で PR 作成 |
186
197
 
187
198
  ### サブコマンド — 設計・仕様系
188
199
 
189
200
  | ツール | 説明 |
190
201
  |--------|------|
191
- | `godd_spec` | 要求を仕様に変換。API/UI/DB/Feature/Usecase の粒度で Spec 化 |
192
- | `godd_impact` | 影響分析。変更の影響範囲を洗い出し |
193
- | `godd_test_plan` | テスト計画。unit/integration/e2e の必要性とテスト項目を策定 |
194
- | `godd_adr` | ADR 作成。設計判断をトレードオフ・ロールバック含めて記録 |
202
+ | `godd-spec` | 要求を仕様に変換。API/UI/DB/Feature/Usecase の粒度で Spec 化 |
203
+ | `godd-impact` | 影響分析。変更の影響範囲を洗い出し |
204
+ | `godd-test-plan` | テスト計画。unit/integration/e2e の必要性とテスト項目を策定 |
205
+ | `godd-adr` | ADR 作成。設計判断をトレードオフ・ロールバック含めて記録 |
195
206
 
196
207
  ### サブコマンド — ドキュメント系
197
208
 
198
209
  | ツール | 説明 |
199
210
  |--------|------|
200
- | `godd_documentation` | ドキュメント更新。Spec/README/設定説明/技術スタックの更新を洗い出し |
201
- | `godd_docs_init` | docs/ フォルダ構造をテンプレートから生成 |
202
- | `godd_docs_update` | コード変更に合わせて docs/ 内の関連ドキュメントを同期・更新 |
203
- | `godd_release_notes` | リリースノート作成。変更点・互換性・既知の問題を整理 |
211
+ | `godd-docs-init` | docs/ フォルダ構造をテンプレートから生成。既存 docs/ が旧構成の場合は最新構成へ再配置 |
212
+ | `godd-docs` | コード変更に合わせて docs/・README・設定・技術スタック・運用ドキュメントを同期・更新。`docs/` 未作成時は `godd-docs-init` を案内 |
213
+ | `godd-release-notes` | リリースノート作成。変更点・互換性・既知の問題を整理 |
204
214
 
205
215
  ### サブコマンド — 分析・変換系
206
216
 
207
217
  | ツール | 説明 |
208
218
  |--------|------|
209
- | `godd_pr_analyze` | PR 分析。差分からレビュー観点・リスク・追加情報を整理 |
210
- | `godd_report` | 完了報告。変更概要・影響範囲・検証結果・残リスクを整理 |
211
- | `godd_req_to_flow` | 要求 → ビジネスフロー変換 |
212
- | `godd_req_to_tickets` | 要求 → チケット分解 |
213
- | `godd_spec_to_tickets` | 仕様 → チケット変換 |
219
+ | `godd-pr-analyze` | PR 分析。差分からレビュー観点・リスク・追加情報を整理 |
220
+ | `godd-report` | 完了報告。変更概要・影響範囲・検証結果・残リスクを整理 |
221
+ | `godd-req-to-flow` | 要求 → ビジネスフロー変換 |
222
+ | `godd-req-to-tickets` | 要求 → チケット分解 |
223
+ | `godd-spec-to-tickets` | 仕様 → チケット変換 |
214
224
 
215
225
  ### サブコマンド — 環境・セットアップ系
216
226
 
217
227
  | ツール | 説明 |
218
228
  |--------|------|
219
- | `godd_setup` | 環境構築。config.godd / .env / .cursor/mcp.json 生成、依存導入 |
220
- | `godd_config` | 設定の表示・更新(components は config.godd、license_key 等は .env) |
221
- | `godd_install` | ツール/MCP サーバーインストール案内 |
222
- | `godd_dev_workflow` | 開発ワークフロー全体。環境構築→実装→テスト→コミット→PR |
229
+ | `godd-setup` | 環境構築。config.godd / .env / .cursor/mcp.json 生成、依存導入 |
230
+ | `godd-config` | 設定の表示・更新(components は config.godd、license_key 等は .env) |
231
+ | `godd-install` | ツール/MCP サーバーインストール案内 |
232
+ | `godd-dev-workflow` | 開発ワークフロー全体。環境構築→実装→テスト→コミット→PR |
223
233
 
224
234
  ---
225
235
 
@@ -231,14 +241,16 @@ Cursor のチャットで `/` を入力すると、GoDD の MCP ツールをス
231
241
 
232
242
  チャット入力欄で `/` を入力するとコマンド候補が表示されます。キーワードを続けて入力すると候補が絞り込まれます。
233
243
 
234
- **コマンド形式**: `/{サーバー名}/{ツール名}`
244
+ **コマンド形式**: `/{サーバー名}/{ツール名}`(クライアントによってはツール名だけを表示)
235
245
 
236
- `godd init` で生成される `.cursor/mcp.json` のサーバーキー名(デフォルト: `godd`)がプレフィックスになります。例えばサーバー名が `godd` なら `/godd/dev`、`godd-a` なら `/godd-a/dev` のように表示されます。
246
+ 開発入口の正式なツール名は `godd-dev` です。`godd init` は Cursor / Claude Code 用のプロジェクトコマンド `.cursor/commands/godd-dev.md` / `.claude/commands/godd-dev.md` を生成するため、両媒体ではサーバー名に依存せず `/godd-dev` で呼び出せます。MCPツールを直接表示するクライアントでは、サーバーキーを付けた `/godd/godd-dev` や `/godd-a/godd-dev` になる場合があります。
247
+
248
+ Codex はリポジトリ内の `.agents/skills/godd-dev/SKILL.md` を自動検出し、`$godd-dev` で同じ開発フローを起動できます。Codex の公式なプロジェクト共有スキル経路は `$` メンションであり、MCP由来の `/godd-dev` を全クライアントで強制する仕組みではありません。
237
249
 
238
250
  ```
239
251
  例 1: ツールを明示して依頼
240
252
 
241
- /godd/dev ユーザー登録 API を実装して
253
+ /godd-dev ユーザー登録 API を実装して
242
254
 
243
255
  例 2: 複数ツールの組み合わせ
244
256
 
@@ -247,16 +259,16 @@ Cursor のチャットで `/` を入力すると、GoDD の MCP ツールをス
247
259
  例 3: ツールを指定しなくても AI が自動選択
248
260
 
249
261
  コミットメッセージを作って
250
- → AI が自動的に godd_commit を選択
262
+ → AI が自動的に godd-commit を選択
251
263
  ```
252
264
 
253
265
  > **ヒント**: ツールを明示しなくても AI が自動的に最適なツールを選びます。特定のツールを確実に使いたい場合にスラッシュコマンドを活用してください。
254
266
 
255
- #### スラッシュコマンド一覧(29 件)
267
+ #### スラッシュコマンド一覧(31 件)
256
268
 
257
269
  | コマンド(サーバー名 `godd` の場合) | 用途 |
258
270
  |--------------------------------------|------|
259
- | `/godd/dev` | 開発ワークフロー(ブランチ自動管理・分割コミット付き) |
271
+ | `/godd-dev` | 開発ワークフロー(ブランチ自動管理・分割コミット付き) |
260
272
  | `/godd/review` | CTO レベルコードレビュー |
261
273
  | `/godd/check` | 品質チェック |
262
274
  | `/godd/commit` | 責務分割コミット |
@@ -273,8 +285,8 @@ Cursor のチャットで `/` を入力すると、GoDD の MCP ツールをス
273
285
  | `/godd/test_plan` | テスト計画作成 |
274
286
  | `/godd/adr` | ADR(設計判断記録)作成 |
275
287
  | `/godd/documentation` | ドキュメント更新支援 |
276
- | `/godd/docs_init` | docs/ フォルダ構造生成 |
277
- | `/godd/docs_update` | docs/ ドキュメント同期 |
288
+ | `/godd/godd-docs-init` | docs/ フォルダ構造生成 |
289
+ | `/godd/godd-docs` | docs/ ドキュメント同期 |
278
290
  | `/godd/release_notes` | リリースノート作成 |
279
291
  | `/godd/pr_analyze` | PR 分析 |
280
292
  | `/godd/report` | 完了報告作成 |
@@ -387,12 +399,15 @@ Notes のクラウドデプロイで pnpm 10+ 関連のエラーが出る場合
387
399
 
388
400
  ## GoDD Notes ライフサイクル
389
401
 
390
- GoDD Notes は GoDD のドキュメント閲覧・編集 Web アプリです。以下のステップで構築・デプロイします。
402
+ GoDD Notes は GoDD のドキュメント閲覧・編集 Web アプリです。初回オンボーディングでは、まずローカル Docker Compose で動かし、AWS などのクラウドインフラ構築は後から必要なタイミングで実行します。ローカル利用だけなら AWS アカウント設定は不要です。
403
+
404
+ > **初回の推奨順**: GoDD をインストール → プロジェクトで `godd init` → IDE で MCP 接続を確認 → `godd-docs-init` で `docs/` を初期化 → ローカルの `godd notes compose`(AWS 不要)→ 必要な場合のみ `godd notes infra` / `godd notes deploy`。
391
405
 
392
406
  ### 1. GoDD をインストール
393
407
 
394
408
  ```bash
395
409
  npm install -g @ripla/godd-mcp
410
+ godd version
396
411
  ```
397
412
 
398
413
  Notes をクラウドデプロイする場合(ローカルに pnpm 10+ がある環境)は、pnpm 10+ 向けの Notes App ビルド対応が `@latest` に含まれるまで canary の利用を推奨します:
@@ -409,9 +424,45 @@ cd /path/to/your-project
409
424
  godd init
410
425
  ```
411
426
 
412
- プロジェクトごとに実行が必要です(2人目以降のメンバーも各自実行)。
427
+ プロジェクトごとに実行が必要です(2人目以降のメンバーも各自実行)。`godd init` が生成した `.cursor/mcp.json` を Cursor に読み込ませるため、この後に Cursor IDE を再起動します。
428
+
429
+ ### 3. MCP 接続を確認
430
+
431
+ 1. Cursor IDE を再起動する
432
+ 2. Settings > MCP で `godd` サーバーが **Running** であることを確認する(これが主確認)
433
+ 3. 任意で、チャットから `godd-check` を呼ぶか、MCP ツール一覧に GoDD ツールが並ぶことを確認する
434
+
435
+ ### 4. docs/ 構造を初期化
413
436
 
414
- ### 3. クラウドインフラ構築(初回のみ)
437
+ GoDD Notes は GitHub リポジトリの `docs/` を表示・編集対象にします。まだ `docs/` がないプロジェクトでは、Cursor のチャットから `godd-docs-init`(MCP ツールのサーバー名付き表示例: `/godd/godd-docs-init`)を実行して、標準のドキュメント構造を作成します。
438
+
439
+ ```text
440
+ Cursor IDE で: godd-docs-init を使って docs/ を初期化して
441
+ ```
442
+
443
+ ### 5. ローカルで Notes を起動
444
+
445
+ 前提: Docker Desktop が起動済みであること。加えて、GitHub App 用の以下3つの値をOrg管理者から事前に受け取っていること(AWS アカウントは不要でも、これらは必要です)。
446
+ - App ID
447
+ - Installation ID
448
+ - Private Key
449
+
450
+ ```bash
451
+ godd notes compose --auto
452
+ ```
453
+
454
+ Docker Compose でローカルに Notes 環境を立ち上げます。起動後は以下のエンドポイントを確認します。
455
+
456
+ | 種別 | URL |
457
+ |------|-----|
458
+ | API | `http://localhost:8000` |
459
+ | App | `http://localhost:5173` |
460
+
461
+ `--auto` を省略すると、AI による自動実行ではなく手動確認しながら進められます。ローカル利用の詳細は [GoDD Notes 使い始め方ガイド](../docs/007_guides/godd_notes_getting_started.md) を参照してください。
462
+
463
+ ### 6. 後でクラウドインフラを構築(必要な場合のみ)
464
+
465
+ 本番 AWS などへデプロイする段階で、インフラ担当者が `godd notes infra` を実行します。ローカル利用だけならこの手順は不要です。
415
466
 
416
467
  ```bash
417
468
  godd notes infra
@@ -428,7 +479,7 @@ godd notes infra
428
479
  既存環境で旧ブランド名の出力先や設定ファイルを生成済みの場合は、
429
480
  `godd notes infra` を再実行して `godd-notes/` と `.godd-notes-*.json` を再生成してください。
430
481
 
431
- ### 4. デプロイ
482
+ ### 7. クラウドへデプロイ(必要な場合のみ)
432
483
 
433
484
  ```bash
434
485
  godd notes deploy # 対話形式
@@ -442,6 +493,45 @@ godd notes deploy -y # 確認スキップ(CI 向け)
442
493
 
443
494
  > `godd notes deploy` 実行時に `@ripla/godd-mcp` の新しいバージョンが利用可能な場合、警告が表示されます。
444
495
 
496
+ ### 8. 既存環境を最新化する(CLI 更新の反映)
497
+
498
+ すでにデプロイ済みの環境に、新しい `@ripla/godd-mcp` バージョン(Terraform テンプレート変更を含む)を反映する場合の手順です。手順 1〜7(新規オンボーディング)は不要です。
499
+
500
+ ```bash
501
+ # 1. CLI を更新(インフラ変更を検証する場合は canary を明示。安定版のみなら不要)
502
+ npm install -g @ripla/godd-mcp@canary
503
+ godd version
504
+
505
+ # 2. AWS CLI 認証を確認
506
+ export AWS_PROFILE=<PROFILE> # PowerShell: $env:AWS_PROFILE = "<PROFILE>"
507
+ aws sts get-caller-identity
508
+
509
+ # 3. Terraform ファイル・同梱ソースを最新テンプレートで再生成(保存済み設定を非対話で再利用)
510
+ godd notes infra --yes
511
+
512
+ # 4. Terraform テンプレートに変更がある場合のみ、{env}-iam → {env} の順で適用(apply 前に plan で差分確認)
513
+ cd terraform/godd-notes/{env}-iam
514
+ terraform init
515
+ cd ../{env}
516
+ terraform init
517
+
518
+ cd ../{env}-iam
519
+ terraform plan
520
+ cd ../{env}
521
+ terraform plan
522
+
523
+ cd ../{env}-iam
524
+ terraform apply
525
+ cd ../{env}
526
+ terraform apply
527
+
528
+ # 5. アプリを再デプロイ
529
+ cd /path/to/your-project
530
+ godd notes deploy -y
531
+ ```
532
+
533
+ > **`{env}-iam` を先に適用する**: `{env}` モジュール(ECS/RDS/ALB 等)は `{env}-iam` が作成する IAM ロール(ECS 実行ロール、GitHub Actions OIDC 等)を参照するため、`{env}-iam` → `{env}` の順を守ってください。`godd notes infra --yes` は `.tf` を毎回無条件で再生成しますが、**テンプレート自体に変更がある場合のみ** `terraform apply` の再適用が必要です(同梱ソース [`notes-api`/`notes-app`] の変更だけなら手順 4 は不要)。
534
+
445
535
  ### Notes デプロイで `esbuild` の build script が拒否される
446
536
 
447
537
  pnpm 10+ で `[ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: esbuild` や `pnpm install` 失敗が出る場合:
@@ -450,15 +540,9 @@ pnpm 10+ で `[ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: esbuild` や `pnp
450
540
  2. `notes-app` を再 scaffold する: プロジェクトで `godd notes infra` を再実行(`pnpm-workspace.yaml` を含む同梱ソースで上書き更新)
451
541
  3. 再デプロイする: `godd notes deploy -y`
452
542
 
453
- ローカルで `notes-app` を直接ビルドする場合は、同梱の `notes-app/README.md` を参照してください。
543
+ Terraform テンプレートの変更も反映する必要がある場合は、上記「8. 既存環境を最新化する」の手順4(`terraform apply`)も実行してください。
454
544
 
455
- ### ローカル開発(Docker Compose)
456
-
457
- ```bash
458
- godd notes compose
459
- ```
460
-
461
- Docker Compose でローカルに Notes 環境を立ち上げます。
545
+ ローカルで `notes-app` を直接ビルドする場合は、同梱の `notes-app/README.md` を参照してください。
462
546
 
463
547
  ---
464
548