@ripla/godd-mcp 1.0.4-canary.3 → 1.0.4-canary.30

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 (98) hide show
  1. package/README.md +89 -94
  2. package/dist/godd.cjs +341 -232
  3. package/dist/godd.js +1670 -562
  4. package/dist/index.js +139 -116
  5. package/notes-api/.env.example +6 -1
  6. package/notes-api/README.md +6 -5
  7. package/notes-api/app/config.py +11 -3
  8. package/notes-api/app/main.py +29 -2
  9. package/notes-api/app/routers/auth.py +6 -1
  10. package/notes-api/app/routers/issues.py +202 -1
  11. package/notes-api/app/routers/pr.py +2 -2
  12. package/notes-api/app/services/github_app_token.py +32 -1
  13. package/notes-api/app/services/github_issues.py +122 -8
  14. package/notes-api/app/services/github_pr.py +6 -1
  15. package/notes-api/tests/test_github_app_token.py +49 -1
  16. package/notes-api/tests/test_github_service.py +42 -0
  17. package/notes-api/tests/test_health.py +43 -2
  18. package/notes-api/tests/test_issues.py +216 -0
  19. package/notes-api/tests/test_pr.py +24 -0
  20. package/notes-api/tests/test_pr_chain.py +19 -0
  21. package/notes-app/README.md +4 -1
  22. package/notes-app/package.json +0 -3
  23. package/notes-app/pnpm-workspace.yaml +1 -0
  24. package/notes-app/src/components/CommentPanel.test.tsx +142 -0
  25. package/notes-app/src/components/CommentPanel.tsx +431 -0
  26. package/notes-app/src/components/CommentSelectionPopover.tsx +26 -0
  27. package/notes-app/src/components/EditToolbar.test.tsx +102 -0
  28. package/notes-app/src/components/EditToolbar.tsx +124 -0
  29. package/notes-app/src/components/FileInfoPanel.test.tsx +56 -0
  30. package/notes-app/src/components/FileInfoPanel.tsx +401 -0
  31. package/notes-app/src/components/IssueCommentThread.test.tsx +93 -0
  32. package/notes-app/src/components/IssueCommentThread.tsx +156 -0
  33. package/notes-app/src/components/IssueDetailView.test.tsx +215 -0
  34. package/notes-app/src/components/IssueDetailView.tsx +59 -23
  35. package/notes-app/src/components/IssueList.test.tsx +228 -0
  36. package/notes-app/src/components/IssueList.tsx +158 -16
  37. package/notes-app/src/components/LabelSelector.test.tsx +200 -0
  38. package/notes-app/src/components/LabelSelector.tsx +452 -0
  39. package/notes-app/src/components/MarkdownEditor.tsx +140 -2
  40. package/notes-app/src/components/PanelResizeHandle.test.tsx +32 -0
  41. package/notes-app/src/components/PanelResizeHandle.tsx +21 -0
  42. package/notes-app/src/hooks/useComments.ts +230 -0
  43. package/notes-app/src/hooks/useEditSession.test.ts +28 -40
  44. package/notes-app/src/hooks/useEditSession.ts +0 -51
  45. package/notes-app/src/hooks/useMdUpLayout.test.ts +10 -0
  46. package/notes-app/src/hooks/useMdUpLayout.ts +27 -0
  47. package/notes-app/src/hooks/useResizablePanelWidth.ts +73 -0
  48. package/notes-app/src/lib/api.ts +205 -1
  49. package/notes-app/src/lib/commentAnchor.test.ts +22 -0
  50. package/notes-app/src/lib/commentAnchor.ts +28 -0
  51. package/notes-app/src/lib/commentHighlight.test.ts +110 -0
  52. package/notes-app/src/lib/commentHighlight.ts +44 -0
  53. package/notes-app/src/lib/issue-list-utils.test.ts +89 -0
  54. package/notes-app/src/lib/issue-list-utils.ts +45 -0
  55. package/notes-app/src/lib/issue-mobile-layout.test.ts +17 -0
  56. package/notes-app/src/lib/issue-mobile-layout.ts +20 -0
  57. package/notes-app/src/lib/issue-url-sync.test.ts +73 -0
  58. package/notes-app/src/lib/issue-url-sync.ts +43 -0
  59. package/notes-app/src/lib/main-page-default-view.test.ts +37 -0
  60. package/notes-app/src/lib/main-page-default-view.ts +15 -0
  61. package/notes-app/src/lib/resizable-panel.test.ts +71 -0
  62. package/notes-app/src/lib/resizable-panel.ts +57 -0
  63. package/notes-app/src/pages/MainPage.tsx +315 -28
  64. package/package.json +1 -1
  65. package/templates/agents/user-clone.hbs +6 -0
  66. package/templates/github-actions/aws/deploy-notes.yml.hbs +2 -1
  67. package/templates/notes-docs/001_project/README.md +97 -0
  68. package/templates/notes-docs/001_project/features.csv +21 -0
  69. package/templates/notes-docs/001_project/pages.csv +18 -0
  70. package/templates/notes-docs/006_development_workflow/git.template.md +173 -0
  71. package/templates/notes-docs/006_development_workflow/workflow.template.md +289 -0
  72. package/templates/notes-docs/007_guides/godd_notes_usage.md +174 -0
  73. package/templates/notes-docs/007_guides/godd_usage.md +203 -0
  74. package/templates/notes-docs/007_guides/setup_aws_accounts.md +284 -0
  75. package/templates/notes-docs/007_guides/setup_aws_cost_alert.md +217 -0
  76. package/templates/notes-docs/007_guides/setup_aws_guard_duty.md +1271 -0
  77. package/templates/notes-docs/007_guides/setup_godd.md +176 -0
  78. package/templates/notes-docs/007_guides/setup_godd_notes.md +36 -0
  79. package/templates/notes-docs/007_guides/setup_infra.template.md +188 -0
  80. package/templates/notes-docs/007_guides/setup_local_environment.template.md +111 -0
  81. package/templates/notes-docs/GENERATED.md +23 -0
  82. package/templates/notes-docs/README.md +174 -0
  83. package/templates/partials/req-gate-check.hbs +44 -0
  84. package/templates/partials/req-harness-core.hbs +39 -0
  85. package/templates/partials/req-jtbd-master.hbs +21 -0
  86. package/templates/partials/req-phase-flow.hbs +20 -0
  87. package/templates/partials/req-phase-overview.hbs +15 -0
  88. package/templates/partials/req-phase-questions.hbs +28 -0
  89. package/templates/partials/req-phase-requirements.hbs +38 -0
  90. package/templates/partials/req-story-form.hbs +14 -0
  91. package/templates/partials/req-traceability.hbs +24 -0
  92. package/templates/partials/ssot-rules.hbs +2 -1
  93. package/templates/prompts/docs-init.hbs +18 -17
  94. package/templates/prompts/docs-update.hbs +1 -1
  95. package/templates/prompts/notes-deploy.hbs +1 -1
  96. package/templates/prompts/notes-init.hbs +32 -0
  97. package/templates/prompts/requirements.hbs +32 -0
  98. package/templates/terraform/aws/iam.tf.hbs +11 -2
package/README.md CHANGED
@@ -76,17 +76,18 @@ Registry API URL (default: http://localhost:8100): https://godd-registry.example
76
76
  選択 (例: 1): 1
77
77
  ```
78
78
 
79
- 完了すると、以下の 2 ファイルが自動生成されます:
79
+ 完了すると、以下の 3 ファイルが自動生成されます:
80
80
 
81
81
  | ファイル | 内容 |
82
82
  |---------|------|
83
- | `config.godd` | ライセンスキー・技術スタック・言語の設定 |
84
- | `.cursor/mcp.json` | Cursor IDE への MCP サーバー登録(`GODD_CONFIG` で config.godd のパスを指定) |
83
+ | `config.godd` | 技術スタックコンポーネントの設定 |
84
+ | `.env` | ライセンスキー・言語・Registry URL(GoDD 管理値) |
85
+ | `.cursor/mcp.json` | Cursor IDE への MCP サーバー登録 |
85
86
 
86
- > **config.godd にはライセンスキーが含まれます。`.gitignore` に追加してください。**
87
+ > **`.env` にはライセンスキーが含まれます。`.gitignore` に追加してください。**
87
88
  >
88
89
  > ```gitignore
89
- > config.godd
90
+ > .env
90
91
  > ```
91
92
 
92
93
  ---
@@ -105,7 +106,9 @@ Registry API URL (default: http://localhost:8100): https://godd-registry.example
105
106
 
106
107
  ### 技術スタックを変更したい場合
107
108
 
108
- プロジェクトディレクトリで `godd init` を再実行するか、`config.godd` を直接編集してください。Cursor のチャットで `godd_config` ツールを使って更新することもできます。変更後は Cursor IDE を再起動してください。
109
+ プロジェクトディレクトリで `godd init` を再実行してください。コンポーネントは `config.godd` を直接編集することもできます。ライセンスキー・言語・Registry URL は `.env` の `GODD_LICENSE_KEY` / `GODD_LANGUAGE` / `GODD_REGISTRY_URL` を編集してください。Cursor のチャットで `godd_config` ツールを使って更新することもできます。変更後は Cursor IDE を再起動してください。
110
+
111
+ > **再実行時の既存設定保護**: `config.godd` や `.env` が既に存在する場合、`godd init` は現在の設定をデフォルト値として表示します。Enter を押すだけで既存設定を保持できます。コンポーネントを再選択したい場合は、コンポーネント引き継ぎの質問で `n` を入力してください。
109
112
 
110
113
  ### バイナリ(ZIP)でのインストール
111
114
 
@@ -140,13 +143,15 @@ chmod +x godd
140
143
  | `godd install` | `godd i` | GoDD をシステムにインストール |
141
144
  | `godd init` | — | プロジェクトのセットアップ(config.godd + .cursor/mcp.json 生成) |
142
145
  | `godd server` | `godd s` | MCP サーバーを起動(Cursor が自動実行) |
143
- | `godd notes deploy` | `godd n deploy` | GoDD Notes をデプロイ(ローカル or AWS、`--target`/`-y` 対応) |
146
+ | `godd notes compose` | `godd n compose` | GoDD Notes をローカル Docker Compose で起動(`--auto` で自動実行) |
147
+ | `godd notes deploy` | `godd n deploy` | GoDD Notes をクラウドにデプロイ(infra の provider に従う、`-y` で確認スキップ) |
144
148
  | `godd notes infra` | `godd n infra` | `notes-api/` / `notes-app/` とクラウドインフラを対話形式で構築(AWS/GCP/Azure/Vercel×Railway) |
149
+ | `godd notes status` | `godd n status` | デプロイ状態・ヘルスチェックを確認 |
145
150
  | `godd version` | `godd v` | バージョン表示 |
146
151
  | `godd help` | `godd h` | ヘルプ表示 |
147
152
 
148
153
  > npx で実行する場合は `npx @ripla/godd-mcp <command>` に置き換えてください。
149
- > 例: `npx @ripla/godd-mcp notes deploy --target aws -y`
154
+ > 例: `npx @ripla/godd-mcp notes deploy -y`
150
155
 
151
156
  ---
152
157
 
@@ -211,110 +216,79 @@ Cursor のチャットで以下のツールが使えます。ツール名を指
211
216
 
212
217
  | ツール | 説明 |
213
218
  |--------|------|
214
- | `godd_setup` | 環境構築。config.godd / .cursor/mcp.json 生成、依存導入 |
215
- | `godd_config` | config.godd の表示・更新(ライセンスキー、コンポーネント、言語等) |
219
+ | `godd_setup` | 環境構築。config.godd / .env / .cursor/mcp.json 生成、依存導入 |
220
+ | `godd_config` | 設定の表示・更新(components は config.godd、license_key 等は .env) |
216
221
  | `godd_install` | ツール/MCP サーバーインストール案内 |
217
222
  | `godd_dev_workflow` | 開発ワークフロー全体。環境構築→実装→テスト→コミット→PR |
218
223
 
219
224
  ---
220
225
 
221
- ## @メンションの使い方
222
-
223
- GoDD の MCP ツールやエコシステムツールは、Cursor のチャットで **`@` メンション** して明示的に指定できます。
224
-
225
- ### メンションの方法
226
+ ## スラッシュコマンドの使い方
226
227
 
227
- Cursor のチャット入力欄で `@` を入力すると、候補一覧が表示されます。
228
+ Cursor のチャットで `/` を入力すると、GoDD の MCP ツールをスラッシュコマンドとして呼び出せます。
228
229
 
229
- - **MCP ツール**(`godd_dev` 等)→ 「Tools」カテゴリに表示
230
- - **エコシステムツール**(`Orval` 等)→ 「MCP Resources」カテゴリに表示
230
+ ### 呼び出し方法
231
231
 
232
- キーワードを続けて入力すると候補が絞り込まれます。候補をクリックまたは Enter で選択すると、チャットにメンションが挿入されます。
232
+ チャット入力欄で `/` を入力するとコマンド候補が表示されます。キーワードを続けて入力すると候補が絞り込まれます。
233
233
 
234
- ### MCP ツールの @メンション
234
+ **コマンド形式**: `/{サーバー名}/{ツール名}`
235
235
 
236
- MCP ツールをメンションすると、AI にそのツールの使用を明示的に指示できます。
237
-
238
- **構文**: `@godd_dev`(`@` + ツール名)
236
+ `godd init` で生成される `.cursor/mcp.json` のサーバーキー名(デフォルト: `godd`)がプレフィックスになります。例えばサーバー名が `godd` なら `/godd/dev`、`godd-a` なら `/godd-a/dev` のように表示されます。
239
237
 
240
238
  ```
241
239
  例 1: ツールを明示して依頼
242
240
 
243
- @godd_dev ユーザー登録 API を実装して
241
+ /godd/dev ユーザー登録 API を実装して
244
242
 
245
243
  例 2: 複数ツールの組み合わせ
246
244
 
247
- @godd_spec この要件を仕様に変換して。
248
- 完了したら @godd_dev で実装して
245
+ /godd/spec この要件を仕様に変換して
249
246
 
250
- 例 3: 特定ツールの指定がないと、AI が自動選択
247
+ 例 3: ツールを指定しなくても AI が自動選択
251
248
 
252
249
  コミットメッセージを作って
253
250
  → AI が自動的に godd_commit を選択
254
251
  ```
255
252
 
256
- > **ヒント**: ツール名を指定しなくても AI が自動的に最適なツールを選びます。明示的に指定したい場合にのみ `@` メンションを使ってください。
257
-
258
- #### メンション可能な MCP ツール一覧(29 件)
259
-
260
- | メンション | 用途 |
261
- |-----------|------|
262
- | `@godd_dev` | 開発ワークフロー(ブランチ自動管理・分割コミット付き) |
263
- | `@godd_review` | CTO レベルコードレビュー |
264
- | `@godd_check` | 品質チェック |
265
- | `@godd_commit` | 責務分割コミット |
266
- | `@godd_submit` | 提出一括実行(品質チェック→push→PR 作成) |
267
- | `@godd_notes_deploy` | Notes デプロイ案内 |
268
- | `@godd_sync` | デフォルトブランチ同期 |
269
- | `@godd_new_branch` | ブランチ作成 |
270
- | `@godd_git_workflow` | sync→branch→commit 一括 |
271
- | `@godd_push` | 提出前チェック |
272
- | `@godd_push_execute` | 提出前チェック+push 実行 |
273
- | `@godd_pr_create` | PR 作成 |
274
- | `@godd_spec` | 要求→仕様変換 |
275
- | `@godd_impact` | 影響分析 |
276
- | `@godd_test_plan` | テスト計画作成 |
277
- | `@godd_adr` | ADR(設計判断記録)作成 |
278
- | `@godd_documentation` | ドキュメント更新支援 |
279
- | `@godd_docs_init` | docs/ フォルダ構造生成 |
280
- | `@godd_docs_update` | docs/ ドキュメント同期 |
281
- | `@godd_release_notes` | リリースノート作成 |
282
- | `@godd_pr_analyze` | PR 分析 |
283
- | `@godd_report` | 完了報告作成 |
284
- | `@godd_req_to_flow` | 要求→ビジネスフロー変換 |
285
- | `@godd_req_to_tickets` | 要求→チケット変換 |
286
- | `@godd_spec_to_tickets` | 仕様→チケット変換 |
287
- | `@godd_setup` | 環境構築・設定変更 |
288
- | `@godd_config` | config.godd の表示・更新 |
289
- | `@godd_install` | ツール・ライブラリのインストール支援 |
290
- | `@godd_dev_workflow` | エージェント開発ワークフロー全体 |
291
-
292
- ### エコシステムツールの @メンション
293
-
294
- `godd init` で選択した技術スタックに応じて、プロジェクトで使用するライブラリやフレームワーク(**エコシステムツール**)が MCP リソースとして自動登録されます。これらもチャットで `@` メンションできます。
295
-
296
- メンションすると、そのツール固有の **利用ガイダンス**(ベストプラクティス・コマンド例など)が AI のコンテキストに注入され、ツールに適した正確なアドバイスが得られます。
297
-
298
- **構文**: `@` → 候補リストから「MCP Resources」セクションのツール名を選択
299
-
300
- ```
301
- 例 1: 特定ツールのベストプラクティスに沿った実装依頼
302
-
303
- @Orval を使って API クライアントを再生成して
304
-
305
- 例 2: ツール固有のガイダンスを活用
306
-
307
- @Alembic でマイグレーションを作って。モデルに email カラムを追加した
308
-
309
- 例 3: 複数のエコシステムツールを組み合わせ
310
-
311
- @TanStack Query と @Orval を使って、
312
- ユーザー一覧の取得を実装して
313
-
314
- 例 4: MCP ツール + エコシステムツールの組み合わせ
315
-
316
- @godd_dev @Playwright でログインフローの E2E テストを書いて
317
- ```
253
+ > **ヒント**: ツールを明示しなくても AI が自動的に最適なツールを選びます。特定のツールを確実に使いたい場合にスラッシュコマンドを活用してください。
254
+
255
+ #### スラッシュコマンド一覧(29 件)
256
+
257
+ | コマンド(サーバー名 `godd` の場合) | 用途 |
258
+ |--------------------------------------|------|
259
+ | `/godd/dev` | 開発ワークフロー(ブランチ自動管理・分割コミット付き) |
260
+ | `/godd/review` | CTO レベルコードレビュー |
261
+ | `/godd/check` | 品質チェック |
262
+ | `/godd/commit` | 責務分割コミット |
263
+ | `/godd/submit` | 提出一括実行(品質チェック→push→PR 作成) |
264
+ | `/godd/notes_deploy` | Notes デプロイ案内 |
265
+ | `/godd/sync` | デフォルトブランチ同期 |
266
+ | `/godd/new_branch` | ブランチ作成 |
267
+ | `/godd/git_workflow` | sync→branch→commit 一括 |
268
+ | `/godd/push` | 提出前チェック |
269
+ | `/godd/push_execute` | 提出前チェック+push 実行 |
270
+ | `/godd/pr_create` | PR 作成 |
271
+ | `/godd/spec` | 要求→仕様変換 |
272
+ | `/godd/impact` | 影響分析 |
273
+ | `/godd/test_plan` | テスト計画作成 |
274
+ | `/godd/adr` | ADR(設計判断記録)作成 |
275
+ | `/godd/documentation` | ドキュメント更新支援 |
276
+ | `/godd/docs_init` | docs/ フォルダ構造生成 |
277
+ | `/godd/docs_update` | docs/ ドキュメント同期 |
278
+ | `/godd/release_notes` | リリースノート作成 |
279
+ | `/godd/pr_analyze` | PR 分析 |
280
+ | `/godd/report` | 完了報告作成 |
281
+ | `/godd/req_to_flow` | 要求→ビジネスフロー変換 |
282
+ | `/godd/req_to_tickets` | 要求→チケット変換 |
283
+ | `/godd/spec_to_tickets` | 仕様→チケット変換 |
284
+ | `/godd/setup` | 環境構築・設定変更 |
285
+ | `/godd/config` | config.godd の表示・更新 |
286
+ | `/godd/install` | ツール・ライブラリのインストール支援 |
287
+ | `/godd/dev_workflow` | エージェント開発ワークフロー全体 |
288
+
289
+ ### エコシステムツールのガイダンス
290
+
291
+ `godd init` で選択した技術スタックに応じて、プロジェクトで使用するライブラリやフレームワーク(**エコシステムツール**)の利用ガイダンスが MCP リソースとして自動登録されます。AI はスタック設定に基づいてこのガイダンスを自動的にコンテキストへ注入します。
318
292
 
319
293
  #### エコシステムツールの例(FastAPI + React 構成の場合)
320
294
 
@@ -343,7 +317,7 @@ MCP ツールをメンションすると、AI にそのツールの使用を明
343
317
  | モード | 動作 | いつ使う |
344
318
  |--------|------|---------|
345
319
  | **自動** | ツール名を指定せず依頼すると、AI が最適な MCP ツールを自動選択。エコシステムツールのガイダンスもスタック設定に基づいて自動注入される | 通常の開発作業 |
346
- | **手動** | `@` MCP ツールやエコシステムツールを明示指定 | 特定のツールを確実に使いたい場合、複数ツールを組み合わせたい場合 |
320
+ | **手動** | `/` でスラッシュコマンドを明示指定 | 特定のツールを確実に使いたい場合、複数ツールを組み合わせたい場合 |
347
321
 
348
322
  ---
349
323
 
@@ -383,14 +357,13 @@ GODD_CONFIG=/path/to/your-project/config.godd godd server
383
357
 
384
358
  | エラー | 対処 |
385
359
  |--------|------|
386
- | `Invalid license key` | `config.godd` のライセンスキーが正しいか確認 |
360
+ | `Invalid license key` | `.env``GODD_LICENSE_KEY` が正しいか確認 |
387
361
  | `Registry 発行のライセンスキーは Registry API で検証してください` | `components` と `registry_url` を設定し、Registry API に接続できる状態で起動 |
388
362
  | `License has expired` | 管理者に更新を依頼 |
389
- | `Seat limit reached` | 管理者にシート解放を依頼 |
390
363
 
391
364
  ### Registry に接続できない
392
365
 
393
- - `config.godd` の `registry_url` が正しいか確認
366
+ - `.env` の `GODD_REGISTRY_URL` が正しいか確認
394
367
  - ネットワーク接続を確認
395
368
  - `godd-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` 形式の Registry 発行キーは、旧 `stack_profile` のローカル署名検証では利用できません。`components` を設定した Registry モードで利用してください。
396
369
 
@@ -408,6 +381,8 @@ npm install -g @ripla/godd-mcp
408
381
  godd version
409
382
  ```
410
383
 
384
+ Notes のクラウドデプロイで pnpm 10+ 関連のエラーが出る場合は、`@latest` ではなく canary を明示して更新してください(後述の「esbuild の build script が拒否される」参照)。
385
+
411
386
  ---
412
387
 
413
388
  ## GoDD Notes ライフサイクル
@@ -420,6 +395,13 @@ GoDD Notes は GoDD のドキュメント閲覧・編集 Web アプリです。
420
395
  npm install -g @ripla/godd-mcp
421
396
  ```
422
397
 
398
+ Notes をクラウドデプロイする場合(ローカルに pnpm 10+ がある環境)は、pnpm 10+ 向けの Notes App ビルド対応が `@latest` に含まれるまで canary の利用を推奨します:
399
+
400
+ ```bash
401
+ npm install -g @ripla/godd-mcp@canary
402
+ godd version # 1.0.4-canary.20 以上であることを確認
403
+ ```
404
+
423
405
  ### 2. プロジェクトで `godd init`
424
406
 
425
407
  ```bash
@@ -437,6 +419,7 @@ godd notes infra
437
419
 
438
420
  対話形式で AWS リージョンや環境名を入力すると、以下が生成されます:
439
421
  - `godd-notes/` ディレクトリ内の `notes-api/`, `notes-app/`(既存ディレクトリも同梱ソースで上書き更新し、`.env` / `node_modules` / `dist` などは除外)
422
+ - `notes-app/pnpm-workspace.yaml`(pnpm 10+ 向け `allowBuild: esbuild` を同梱)
440
423
  - Terraform ファイル(VPC, ECS, RDS, S3, CloudFront 等)
441
424
  - CI/CD ワークフロー
442
425
 
@@ -452,11 +435,23 @@ godd notes deploy # 対話形式
452
435
  godd notes deploy -y # 確認スキップ(CI 向け)
453
436
  ```
454
437
 
455
- ローカルの `godd-notes/notes-api` と `notes-app` を AWS にデプロイします。
438
+ `.godd-notes-infra.json` の `provider`(AWS / GCP / Azure / Vercel×Railway)に応じて、ローカルの `notes-api` と `notes-app` をクラウドにデプロイします。
456
439
  `notes-api` が GitHub の `main` ブランチから `docs/` を読んで Notes に展開します。
457
440
 
441
+ **pnpm 10+ について**: `1.0.4-canary.20` 以降の CLI では、Notes App ビルド前に `pnpm install --ignore-scripts`(`node_modules` が無い場合のみ)と `pnpm rebuild esbuild` を自動実行します。`pnpm approve-builds` を手動で実行する必要はありません。
442
+
458
443
  > `godd notes deploy` 実行時に `@ripla/godd-mcp` の新しいバージョンが利用可能な場合、警告が表示されます。
459
444
 
445
+ ### Notes デプロイで `esbuild` の build script が拒否される
446
+
447
+ pnpm 10+ で `[ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: esbuild` や `pnpm install` 失敗が出る場合:
448
+
449
+ 1. CLI を更新する: `npm install -g @ripla/godd-mcp@canary`(`1.0.4-canary.20` 以降)
450
+ 2. `notes-app` を再 scaffold する: プロジェクトで `godd notes infra` を再実行(`pnpm-workspace.yaml` を含む同梱ソースで上書き更新)
451
+ 3. 再デプロイする: `godd notes deploy -y`
452
+
453
+ ローカルで `notes-app` を直接ビルドする場合は、同梱の `notes-app/README.md` を参照してください。
454
+
460
455
  ### ローカル開発(Docker Compose)
461
456
 
462
457
  ```bash