create-einja-app 0.3.2 → 0.3.3

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 (53) hide show
  1. package/README.md +33 -0
  2. package/dist/cli.js +60 -64
  3. package/dist/cli.js.map +1 -1
  4. package/package.json +1 -1
  5. package/templates/default/.changeset/config.json +11 -0
  6. package/templates/default/.claude/hooks/einja/plan-mode-skill-loader.sh +5 -1
  7. package/templates/default/.claude/settings.json +14 -0
  8. package/templates/default/.claude/skills/cli-package-specs/SKILL.md +247 -0
  9. package/templates/default/.einja-sync.json +1 -1
  10. package/templates/default/.github/release.yml +10 -0
  11. package/templates/default/.github/workflows/changeset-status.yml +60 -0
  12. package/templates/default/.github/workflows/deploy-stable-branches.yml +289 -59
  13. package/templates/default/CLAUDE.md +35 -8
  14. package/templates/default/README.md +20 -8
  15. package/templates/default/docs/plans/agile-munching-knuth.md +161 -0
  16. package/templates/default/docs/plans/agile-riding-nova.md +158 -0
  17. package/templates/default/docs/plans/agile-wibbling-dusk.md +91 -0
  18. package/templates/default/docs/plans/ancient-watching-otter.md +152 -0
  19. package/templates/default/docs/plans/bright-sauteeing-bumblebee.md +30 -0
  20. package/templates/default/docs/plans/composed-doodling-mountain.md +362 -0
  21. package/templates/default/docs/plans/dazzling-foraging-cascade.md +32 -0
  22. package/templates/default/docs/plans/enchanted-wiggling-ember-agent-a5befd57d0ca4c7c7.md +177 -0
  23. package/templates/default/docs/plans/enchanted-wiggling-ember.md +170 -0
  24. package/templates/default/docs/plans/federated-questing-kahan.md +47 -0
  25. package/templates/default/docs/plans/flickering-pondering-hearth.md +26 -0
  26. package/templates/default/docs/plans/fluttering-snuggling-sprout.md +172 -0
  27. package/templates/default/docs/plans/generic-sleeping-snowglobe-agent-a41d8da.md +179 -0
  28. package/templates/default/docs/plans/generic-sleeping-snowglobe.md +108 -0
  29. package/templates/default/docs/plans/generic-snuggling-pudding.md +57 -0
  30. package/templates/default/docs/plans/idempotent-wiggling-cherny.md +122 -0
  31. package/templates/default/docs/plans/recursive-fluttering-mitten.md +176 -0
  32. package/templates/default/docs/plans/todo-create-einja-app-ux-fix.md +16 -0
  33. package/templates/default/docs/plans/todo-direnv-hang-fix.md +12 -0
  34. package/templates/default/docs/plans/todo-github-actions-release-workflow.md +34 -0
  35. package/templates/default/docs/plans/todo-issue-spec-rename.md +24 -0
  36. package/templates/default/docs/plans/todo-skill-creator-upgrade.md +18 -0
  37. package/templates/default/docs/plans/velvety-chasing-spark.md +28 -0
  38. package/templates/default/docs/plans/wondrous-strolling-crystal-agent-a0615fc.md +215 -0
  39. package/templates/default/docs/plans/wondrous-strolling-crystal.md +182 -0
  40. package/templates/default/docs/plans/zesty-roaming-steele.md +74 -0
  41. package/templates/default/gitignore +6 -2
  42. package/templates/default/package.json +6 -2
  43. package/templates/default/pnpm-lock.yaml +547 -0
  44. package/templates/default/scripts/ensure-serena.sh +2 -2
  45. package/templates/default/scripts/env-rotate-secrets.ts +66 -6
  46. package/templates/default/scripts/init-github.ts +363 -0
  47. package/templates/default/scripts/init.sh +11 -5
  48. package/templates/default/scripts/setup-dev.ts +16 -1
  49. package/templates/default/.claude/skills/create-einja-app-release/SKILL.md +0 -186
  50. package/templates/default/.claude/skills/dev-cli-release/SKILL.md +0 -173
  51. package/templates/default/.cursor/commands/spec-create.md +0 -227
  52. package/templates/default/.cursor/commands/task-exec.md +0 -287
  53. package/templates/default/.cursor/commands/update-docs-by-task-specs.md +0 -448
@@ -1,186 +0,0 @@
1
- ---
2
- name: create-einja-app-release
3
- description: "create-einja-app パッケージをビルド・テストし、NPMに公開するSkill。create-einja-appの公開、リリース、publishが必要な場合に使用。"
4
- user-invocable: true
5
- allowed-tools:
6
- - Bash
7
- - Read
8
- - Glob
9
- - Grep
10
- - AskUserQuestion
11
- - TodoWrite
12
- - TodoRead
13
- - Task
14
- - MCPSearch
15
- ---
16
-
17
- # create-einja-app-release Skill: create-einja-app パッケージ公開エンジン
18
-
19
- ## 役割
20
-
21
- `create-einja-app` パッケージをビルド・テストし、NPMに公開します。
22
-
23
- ## 参照ドキュメント
24
-
25
- - `packages/create-einja-app/RELEASING.md` - 詳細なリリース手順、トラブルシューティング、NPM_TOKEN設定方法
26
-
27
- ## 実行手順
28
-
29
- ### 1. 前提条件の確認
30
-
31
- ```bash
32
- git branch --show-current # mainブランチであること
33
- git status --porcelain # 未コミット変更の確認
34
- ```
35
-
36
- #### 未コミット変更がある場合
37
-
38
- **AskUserQuestion**で対処方法を確認:
39
-
40
- - **コミットしてからリリース**: 全ての変更をコミット・プッシュ後にリリース
41
- - **スタッシュしてリリース**: 変更を一時退避してリリース後に復元
42
- - **そのままリリース**: 未コミット変更は放置し、**package.jsonのバージョン更新のみ**コミットしてリリース
43
-
44
- ### 2. バージョン種別の決定
45
-
46
- 現在のバージョンと最近の変更を表示後、**AskUserQuestion**で確認:
47
-
48
- - patch(推奨): バグ修正・軽微な改善
49
- - minor: 後方互換性のある機能追加
50
- - major: 破壊的変更
51
-
52
- ### 3. ビルド・テスト
53
-
54
- ```bash
55
- pnpm -F create-einja-app build
56
- pnpm -F create-einja-app test
57
- pnpm -F create-einja-app typecheck
58
- pnpm -F create-einja-app lint
59
- ```
60
-
61
- ### 4. バージョン更新・コミット・プッシュ
62
-
63
- **注意**: `npm version` はデフォルトで `v{version}` タグを生成しますが、このワークフローでは `create-einja-app-v{version}` タグが必要です。そのため、タグは手動で作成します。
64
-
65
- #### 通常パターン(未コミット変更なし)
66
-
67
- ```bash
68
- # 1. バージョンのみ更新(タグは作成しない)
69
- npm version {patch|minor|major} --no-git-tag-version --prefix packages/create-einja-app
70
-
71
- # 2. package.jsonの変更をコミット
72
- git add packages/create-einja-app/package.json
73
- git commit -m "chore(create-einja-app): v{version}にバージョンアップ"
74
-
75
- # 3. 正しい形式のタグを手動作成
76
- git tag create-einja-app-v{version}
77
-
78
- # 4. プッシュ
79
- git push origin main
80
- git push origin create-einja-app-v{version}
81
- ```
82
-
83
- #### 未コミット変更ありでそのままリリースする場合
84
-
85
- ```bash
86
- npm version {patch|minor|major} --no-git-tag-version --prefix packages/create-einja-app
87
- ```
88
-
89
- **重要**: 未コミット変更は放置し、**package.jsonのみ**をコミット:
90
-
91
- ```bash
92
- # package.jsonのみステージング
93
- git add packages/create-einja-app/package.json
94
-
95
- # バージョン更新のみコミット
96
- git commit -m "chore(create-einja-app): v{version}にバージョンアップ"
97
-
98
- # タグ作成(create-einja-app-v形式)
99
- git tag create-einja-app-v{version}
100
-
101
- # プッシュ
102
- git push origin main
103
- git push origin create-einja-app-v{version}
104
- ```
105
-
106
- task-committer には委託しない(全変更をコミットしてしまうため)。
107
-
108
- ### 5. GitHub Actions 監視・自律修正
109
-
110
- タグプッシュ後、GitHub Actions の完了を監視する。
111
-
112
- #### 5.1 監視ループ
113
-
114
- ```bash
115
- # 最新のワークフロー実行を取得
116
- gh run list --workflow=create-einja-app.yml --limit=1 --json databaseId,status,conclusion
117
-
118
- # 出力例: [{"databaseId":123,"status":"in_progress","conclusion":null}]
119
- ```
120
-
121
- - `status: in_progress` → 30秒待機して再確認
122
- - `status: completed, conclusion: success` → 成功、ステップ6へ
123
- - `status: completed, conclusion: failure` → 失敗、5.2へ
124
-
125
- #### 5.2 失敗時の原因特定
126
-
127
- ```bash
128
- gh run view {run_id} --log-failed
129
- ```
130
-
131
- #### 5.3 原因別の自律修正
132
-
133
- | 原因 | 対処 |
134
- |------|------|
135
- | ビルドエラー | コードを修正 |
136
- | テストエラー | テストを修正 |
137
- | NPM_TOKEN エラー | ユーザーに設定確認を依頼して終了 |
138
- | バージョン重複 | 次のpatchバージョンで再実行 |
139
-
140
- #### 5.4 修正後の再リリース
141
-
142
- **重要**: 同じタグ名は使えないため、バージョンを上げて再リリース
143
-
144
- ```bash
145
- # 1. 修正をコミット
146
- git add -A
147
- git commit -m "fix(create-einja-app): CIエラーを修正"
148
-
149
- # 2. 新しいバージョンに更新
150
- npm version patch --no-git-tag-version --prefix packages/create-einja-app
151
-
152
- # 3. バージョン更新をコミット
153
- git add packages/create-einja-app/package.json
154
- git commit -m "chore(create-einja-app): v{new_version}にバージョンアップ"
155
-
156
- # 4. 新しいタグを作成・プッシュ
157
- git tag create-einja-app-v{new_version}
158
- git push origin main
159
- git push origin create-einja-app-v{new_version}
160
- ```
161
-
162
- #### 5.5 リトライ制限
163
-
164
- 最大3回まで自動リトライ。3回失敗したらユーザーに報告して終了。
165
-
166
- ### 6. 完了報告
167
-
168
- ```markdown
169
- ## 📦 create-einja-app リリース完了
170
-
171
- ### リリース情報
172
- - **バージョン**: {old} → {new}
173
- - **タグ**: create-einja-app-v{version}
174
-
175
- ### GitHub Actions
176
- - **ステータス**: ✅ SUCCESS
177
- - **URL**: https://github.com/einja-inc/einja-management-template/actions/runs/{run_id}
178
-
179
- ### 確認コマンド
180
- npm view create-einja-app
181
- npx create-einja-app --version
182
- ```
183
-
184
- ---
185
-
186
- **最終更新**: 2025-01-10
@@ -1,173 +0,0 @@
1
- ---
2
- name: cli-release
3
- description: "@einja/cli パッケージをビルド・テストし、NPMに公開するSkill"
4
- allowed-tools:
5
- - Bash
6
- - Read
7
- - Glob
8
- - Grep
9
- - AskUserQuestion
10
- - TodoWrite
11
- - TodoRead
12
- - Task
13
- - MCPSearch
14
- ---
15
-
16
- # cli-release Skill: @einja/cli パッケージ公開エンジン
17
-
18
- ## 役割
19
-
20
- `@einja/cli` パッケージをビルド・テストし、NPMに公開します。
21
-
22
- ## 参照ドキュメント
23
-
24
- - `packages/cli/RELEASING.md` - 詳細なリリース手順、トラブルシューティング、NPM_TOKEN設定方法
25
-
26
- ## 実行手順
27
-
28
- ### 1. 前提条件の確認
29
-
30
- ```bash
31
- git branch --show-current # mainブランチであること
32
- git status --porcelain # 未コミット変更の確認
33
- ```
34
-
35
- #### 未コミット変更がある場合
36
-
37
- **AskUserQuestion**で対処方法を確認:
38
-
39
- - **コミットしてからリリース**: 全ての変更をコミット・プッシュ後にリリース
40
- - **スタッシュしてリリース**: 変更を一時退避してリリース後に復元
41
- - **そのままリリース**: 未コミット変更は放置し、**package.jsonのバージョン更新のみ**コミットしてリリース
42
-
43
- ### 2. バージョン種別の決定
44
-
45
- 現在のバージョンと最近の変更を表示後、**AskUserQuestion**で確認:
46
-
47
- - patch(推奨): バグ修正・軽微な改善
48
- - minor: 後方互換性のある機能追加
49
- - major: 破壊的変更
50
-
51
- ### 3. ビルド・テスト
52
-
53
- ```bash
54
- pnpm --filter @einja/cli build
55
- pnpm --filter @einja/cli test
56
- pnpm --filter @einja/cli typecheck
57
- ```
58
-
59
- ### 4. バージョン更新・コミット・プッシュ
60
-
61
- #### 通常パターン(未コミット変更なし)
62
-
63
- ```bash
64
- cd packages/cli
65
- npm version {patch|minor|major}
66
- git push origin main
67
- git push origin cli-v{version}
68
- ```
69
-
70
- #### 未コミット変更ありでそのままリリースする場合
71
-
72
- ```bash
73
- npm version {patch|minor|major} --no-git-tag-version --prefix packages/cli
74
- ```
75
-
76
- **重要**: 未コミット変更は放置し、**package.jsonのみ**をコミット:
77
-
78
- ```bash
79
- # package.jsonのみステージング
80
- git add packages/cli/package.json
81
-
82
- # バージョン更新のみコミット
83
- git commit -m "chore(cli): v{version}にバージョンアップ"
84
-
85
- # タグ作成
86
- git tag cli-v{version}
87
-
88
- # プッシュ
89
- git push origin main
90
- git push origin cli-v{version}
91
- ```
92
-
93
- task-committer には委託しない(全変更をコミットしてしまうため)。
94
-
95
- ### 5. GitHub Actions 監視・自律修正
96
-
97
- タグプッシュ後、GitHub Actions の完了を監視する。
98
-
99
- #### 5.1 監視ループ
100
-
101
- ```bash
102
- # 最新のワークフロー実行を取得
103
- gh run list --workflow=release-cli.yml --limit=1 --json databaseId,status,conclusion
104
-
105
- # 出力例: [{"databaseId":123,"status":"in_progress","conclusion":null}]
106
- ```
107
-
108
- - `status: in_progress` → 30秒待機して再確認
109
- - `status: completed, conclusion: success` → 成功、ステップ6へ
110
- - `status: completed, conclusion: failure` → 失敗、5.2へ
111
-
112
- #### 5.2 失敗時の原因特定
113
-
114
- ```bash
115
- gh run view {run_id} --log-failed
116
- ```
117
-
118
- #### 5.3 原因別の自律修正
119
-
120
- | 原因 | 対処 |
121
- |------|------|
122
- | ビルドエラー | コードを修正 |
123
- | テストエラー | テストを修正 |
124
- | NPM_TOKEN エラー | ユーザーに設定確認を依頼して終了 |
125
- | バージョン重複 | 次のpatchバージョンで再実行 |
126
-
127
- #### 5.4 修正後の再リリース
128
-
129
- **重要**: 同じタグ名は使えないため、バージョンを上げて再リリース
130
-
131
- ```bash
132
- # 1. 修正をコミット
133
- git add -A
134
- git commit -m "fix(cli): CIエラーを修正"
135
-
136
- # 2. 新しいバージョンに更新
137
- npm version patch --no-git-tag-version --prefix packages/cli
138
-
139
- # 3. バージョン更新をコミット
140
- git add packages/cli/package.json
141
- git commit -m "chore(cli): v{new_version}にバージョンアップ"
142
-
143
- # 4. 新しいタグを作成・プッシュ
144
- git tag cli-v{new_version}
145
- git push origin main
146
- git push origin cli-v{new_version}
147
- ```
148
-
149
- #### 5.5 リトライ制限
150
-
151
- 最大3回まで自動リトライ。3回失敗したらユーザーに報告して終了。
152
-
153
- ### 6. 完了報告
154
-
155
- ```markdown
156
- ## 📦 @einja/cli リリース完了
157
-
158
- ### リリース情報
159
- - **バージョン**: {old} → {new}
160
- - **タグ**: cli-v{version}
161
-
162
- ### GitHub Actions
163
- - **ステータス**: ✅ SUCCESS
164
- - **URL**: https://github.com/einja-inc/einja-management-template/actions/runs/{run_id}
165
-
166
- ### 確認コマンド
167
- npm view @einja/cli
168
- npx @einja/cli --version
169
- ```
170
-
171
- ---
172
-
173
- **最終更新**: 2025-01-10
@@ -1,227 +0,0 @@
1
- ---
2
- description: "タスクの仕様書(requirements.md、design.md、tasks.md)を段階的に作成・修正するワークフローを実行します。ARGUMENTS: タスク内容の説明またはAsanaタスクURL(必須)、既存仕様書のパス(オプション)"
3
- allowed-tools: Read, Write, Edit, MultiEdit, Bash, Grep, Glob, TodoRead, TodoWrite, mcp__asana__*, mcp__figma_dev_mode__*, mcp__github__*
4
- ---
5
-
6
- > **⚠️ Cursor での動作について**
7
- >
8
- > このコマンドは `.claude/agents/` 配下のサブエージェント定義ファイルを参照します。
9
- > サブエージェント呼び出し箇所では、該当する `.md` ファイルを Read で読み込み、
10
- > そのプロンプト内容に従って処理を実行してください。
11
- >
12
- > **サブエージェント実行の手順**:
13
- > 1. サブエージェント `.md` ファイルを Read で読み込む
14
- > 2. YAML フロントマターを除外し、本文プロンプトを取得
15
- > 3. プロンプトの指示に従って処理を実行
16
- > 4. プロンプト内の「出力形式」に従った報告を生成
17
-
18
- # タスク仕様書作成コマンド
19
-
20
- ## あなたの役割
21
- プロダクト開発のシニアテクニカルアーキテクト兼シニアプロダクトエンジニアとして、ATDD(受け入れテスト駆動開発)に基づく仕様書を段階的に作成します。
22
-
23
- ## タスク管理
24
- TodoWriteツールを使用して全体の進捗を可視化し、ユーザーに現在の状況を明確に伝えます:
25
- - 各仕様書作成フェーズ(requirements.md、design.md、GitHub Issueへのタスク記述)をトップレベルタスクとして管理
26
- - エージェント起動前にタスクを「in_progress」に更新
27
- - エージェント完了後に「completed」に更新
28
- - ユーザー承認待ちの状態も明示的に表示
29
-
30
- ## 実行手順
31
-
32
- ### 1. 外部リソースの確認
33
-
34
- **AsanaタスクURL**の場合:
35
- - AsanaMCPでタスク情報を取得(タイトル、説明、カスタムフィールド)
36
- - タスクIDから適切なディレクトリ名を生成
37
-
38
- **FigmaURL**が含まれる場合:
39
- - FigmaDevModeMCPでデザイン分析
40
- - UI要件、コンポーネント仕様、デザイントークンを抽出
41
-
42
- ### 2. GitHub Issue作成(最初に実行)
43
-
44
- 1. **GitHub IssueをMCPで作成**
45
- - タイトル: ユーザー指定またはAsanaタスクから取得
46
- - 本文: 空または簡易的な説明
47
- - `mcp__github__create_issue` を使用
48
- - **Issue番号を取得して記録**
49
-
50
- 2. **Issue番号に基づいてディレクトリパスを決定**
51
- - パス指定あり → 指定ディレクトリを使用
52
- - パス指定なし → `/docs/specs/issues/{機能カテゴリ名}/issue{issue番号}-{機能名}/` で自動作成
53
-
54
- ### 3. 段階的仕様書作成
55
- **重要**: 各段階で必ずユーザー承認を得て、コミット&プッシュしてから次へ進行すること。
56
-
57
- #### Phase 1: requirements.md(要件定義書)
58
-
59
- 1. **spec-requirements-generator の処理を実行**:
60
-
61
- **📖 サブエージェントプロンプトの読み込み**
62
- - `.claude/agents/specs/spec-requirements-generator.md` を Read ツールで読み込む
63
- - YAML フロントマター(`---` で囲まれた部分)を除外
64
- - 本文のプロンプト内容を取得
65
-
66
- **🔨 プロンプトに従った処理の実行**
67
- - 取得したプロンプト内容に記載された手順・指示に従って処理を実行
68
- - プロンプト内の「ステップ0: 依頼事項の解析と不明点の解消」から順次実行
69
- - エージェント内で既存コードの分析を実施(Serena MCP使用)
70
- - ATDD形式のユーザーストーリーと受け入れ基準を作成
71
- - プロンプト内の「出力とファイル分割」セクションに従ってファイル作成
72
-
73
- **📋 完了報告**
74
- - 作成したファイルのパスと概要を報告
75
- - サブエージェント定義に記載された構造化マークダウン形式で出力
76
-
77
- 2. **ユーザーに内容確認を依頼**
78
- - 作成したファイルのパスと概要を提示
79
- - 確認ポイントを明示(要件の過不足、受け入れ基準の明確性など)
80
-
81
- 3. **ユーザー承認後、コミット&プッシュ**
82
- - コミットメッセージ: `docs: add requirements for {feature-name}`
83
- - ブランチは現在のブランチにプッシュ
84
- - 他のメンバーがレビューできるようにする
85
-
86
- 4. **承認を得てから次のステップ(design.md)に進む**
87
-
88
- #### Phase 2: design.md(設計書)
89
-
90
- 1. **spec-design-generator の処理を実行**:
91
-
92
- **📖 サブエージェントプロンプトの読み込み**
93
- - `.claude/agents/specs/spec-design-generator.md` を Read ツールで読み込む
94
- - YAML フロントマターを除外
95
- - 本文のプロンプト内容を取得
96
-
97
- **🔨 プロンプトに従った処理の実行**
98
- - 取得したプロンプト内容に記載された手順・指示に従って処理を実行
99
- - プロンプト内の「ステップ0: 依頼事項の解析と不明点の解消」から順次実行
100
- - エージェント内で既存アーキテクチャの調査を実施(Serena MCP使用)
101
- - 技術アーキテクチャとデータモデルを設計
102
- - requirements.mdの内容を参照
103
- - プロンプト内の「出力とファイル分割」セクションに従ってファイル作成
104
- - Codex MCPでレビューと改善ループを実施
105
-
106
- **📋 完了報告**
107
- - 作成したファイルのパスと概要を報告
108
- - サブエージェント定義に記載された構造化マークダウン形式で出力
109
-
110
- 2. **ユーザーに内容確認を依頼**
111
- - 作成したファイルのパスと概要を提示
112
- - 確認ポイントを明示(アーキテクチャの妥当性、実装方針など)
113
-
114
- 3. **ユーザー承認後、コミット&プッシュ**
115
- - コミットメッセージ: `docs: add design for {feature-name}`
116
- - ブランチは現在のブランチにプッシュ
117
-
118
- 4. **承認を得てから次のステップ(GitHub Issueへのタスク記述)に進む**
119
-
120
- #### Phase 3: GitHub Issueへのタスク記述
121
-
122
- 1. **spec-tasks-generator の処理を実行**:
123
-
124
- **📖 サブエージェントプロンプトの読み込み**
125
- - `.claude/agents/specs/spec-tasks-generator.md` を Read ツールで読み込む
126
- - YAML フロントマターを除外
127
- - 本文のプロンプト内容を取得
128
-
129
- **🔨 プロンプトに従った処理の実行**
130
- - 取得したプロンプト内容に記載された手順・指示に従って処理を実行
131
- - エージェント内で実装の影響範囲を分析(Serena MCP使用)
132
- - 実装タスクの分解と依存関係を定義
133
- - requirements.mdとdesign.mdの内容を参照
134
- - **GitHub Issueの説明文にタスク一覧を記述**(tasks.mdファイルは作成しない)
135
- - `mcp__github__issue_write`(method: update)を使用してIssue本文を更新
136
-
137
- **📋 完了報告**
138
- - 更新したGitHub IssueのURLを報告
139
- - タスク分解の概要を報告
140
-
141
- 2. **ユーザーに内容確認を依頼**
142
- - 更新したGitHub IssueのURL(#{issue_number})と概要を提示
143
- - 確認ポイントを明示(タスク分解の粒度、依存関係の妥当性など)
144
-
145
- 3. **ユーザー承認後、以下の処理を実行**
146
-
147
- a. **Issueブランチ作成(MCP)**
148
- - `mcp__github__create_branch` を使用
149
- - branch: `issue/{issue番号}`
150
- - from_branch: デフォルトブランチ(main/masterなど)
151
-
152
- b. **仕様書ファイルをプッシュ(MCP)**
153
- - `mcp__github__push_files` を使用
154
- - branch: `issue/{issue番号}`
155
- - files: requirements.md, design.md(または分割された各ファイル)
156
- - message: `docs: add specs for {feature-name} (Issue #{issue_number})`
157
-
158
- c. **PR作成(MCP)**
159
- - `mcp__github__create_pull_request` を使用
160
- - base: デフォルトブランチ
161
- - head: `issue/{issue番号}`
162
- - title: `docs: {機能名} 仕様書`
163
- - body: `Issue #{issue番号} の仕様書を作成しました。`
164
- - **PR URLを記録**
165
-
166
- d. **GitHub Issue説明文を更新(MCP)**
167
- - `mcp__github__issue_write` を使用(method: update)
168
- - 本文に以下を含める:
169
- - Spec PR へのリンク
170
- - 要件ドキュメントへのリンク(requirements.mdまたはrequirements/README.md)
171
- - 設計ドキュメントへのリンク(design.mdまたはdesign/README.md)
172
- - タスク一覧(Phase別チェックボックス形式)
173
-
174
- 4. **全ての仕様書作成が完了したことを報告**
175
- - GitHub Issue URLを明記
176
- - Spec PR URLを明記
177
-
178
-
179
- ### 4. 既存ファイル処理
180
- - 既存ファイルは内容確認後に次段階へ進行
181
- - 修正指示がある場合のみ該当エージェントで再生成
182
-
183
- ### 5. 成果物の構成
184
-
185
- #### 基本構成(各ファイルが1000行以下の場合)
186
- ```
187
- /docs/specs/issues/
188
- └── {機能カテゴリ名}/
189
- └── issue{issue番号}-{機能名}/
190
- ├── requirements.md # 要件定義書(ATDD形式)
191
- └── design.md # 設計書(技術詳細)
192
-
193
- (注: タスク一覧はGitHub Issueに記述)
194
- ```
195
-
196
- #### 分割構成(ファイルが1000行超過の場合)
197
- ```
198
- /docs/specs/issues/
199
- └── {機能カテゴリ名}/
200
- └── issue{issue番号}-{機能名}/
201
- ├── requirements/ # 要件定義書ディレクトリ
202
- │ ├── README.md # 目次
203
- │ ├── overview.md # 概要とスコープ
204
- │ ├── stories.md # ユーザーストーリー
205
- │ └── technical.md # 技術要件
206
- └── design/ # 設計書ディレクトリ
207
- ├── README.md # 目次
208
- ├── architecture.md # アーキテクチャ
209
- ├── implementation.md # 実装詳細
210
- └── quality.md # 品質と運用
211
-
212
- (注: タスク一覧はGitHub Issueに記述)
213
- ```
214
-
215
- **自動分割機能**:
216
- - 各エージェント(requirements/design)は生成後に自動的にファイルサイズをチェック
217
- - 1000行を超える場合、意味のあるまとまりで2-3個のパートに自動分割
218
- - README.mdで全体構成とナビゲーションを提供
219
- - 分割されたファイルも他エージェントから正しく参照可能
220
-
221
- ## 重要な原則
222
- - 段階的開発:各フェーズの承認を必須
223
- - ATDD形式による受け入れ基準の明確化
224
- - Next.js + Hono + Prisma技術スタック対応
225
- - Asana/Figma連携によるトレーサビリティ確保
226
-
227
- 実行を開始します...