@k2works/claude-code-booster 1.9.2 → 1.10.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.
@@ -14,7 +14,7 @@ description: リリース計画を GitHub Project・Issue・Milestone に反映
14
14
  - なし : 全体の同期を実行(Project 作成、Issue 作成、フィールド設定、Milestone 作成)
15
15
  - `--project` : GitHub Project のみを作成
16
16
  - `--issues` : Issue のみを作成(Project が存在する前提)
17
- - `--fields` : 各 Issue に対して Project フィールド値を個別に設定(リリース、イテレーション、優先度、SP、カテゴリ、Status)
17
+ - `--fields` : 各 Issue に対して Project フィールド値を個別に設定
18
18
  - `--milestones` : Milestone のみを作成し Issue に割り当て
19
19
  - `--sync` : release_plan.md と GitHub の差異を確認し、差異があれば同期を実行
20
20
  - `--status` : 現在の GitHub Project 状態を表示
@@ -38,13 +38,32 @@ description: リリース計画を GitHub Project・Issue・Milestone に反映
38
38
 
39
39
  release_plan.md に基づいて GitHub Project を作成し、カスタムフィールドを設定します。
40
40
 
41
- **作成されるフィールド**:
41
+ **標準フィールド構成**:
42
42
 
43
- - **リリース**: 1.0 MVP / 2.0 機能拡張版 / 3.0 完成版
44
- - **イテレーション**: 1〜12
45
- - **優先度**: 必須 / 重要
46
- - **SP**: ストーリーポイント(数値)
47
- - **カテゴリ**: 認証・ユーザー管理 / マスタ管理 / 仕訳管理 / 元帳・残高管理 / 財務諸表 / システム管理
43
+ | フィールド | タイプ | 説明 |
44
+ |-----------|--------|------|
45
+ | **Status** | Single Select | Todo / In Progress / Done(デフォルト) |
46
+ | **リリース** | Single Select | release_plan.md のリリースフェーズに対応 |
47
+ | **優先度** | Single Select | ストーリーの優先度 |
48
+ | **SP** | Number | ストーリーポイント(数値) |
49
+ | **イテレーション** | **Iteration** | スプリント期間(開始日・期間付き) |
50
+
51
+ プロジェクト固有のフィールド(カテゴリ、担当領域など)は release_plan.md の内容に応じて追加します。
52
+
53
+ **Single Select フィールドの作成**:
54
+
55
+ ```bash
56
+ gh project field-create <PROJECT_NUMBER> --owner <OWNER> \
57
+ --name "<フィールド名>" --data-type "SINGLE_SELECT" \
58
+ --single-select-options "<選択肢1>,<選択肢2>,<選択肢3>"
59
+ ```
60
+
61
+ **Number フィールドの作成**:
62
+
63
+ ```bash
64
+ gh project field-create <PROJECT_NUMBER> --owner <OWNER> \
65
+ --name "SP" --data-type "NUMBER"
66
+ ```
48
67
 
49
68
  ### 4. Issue の作成
50
69
 
@@ -53,54 +72,54 @@ release_plan.md に基づいて GitHub Project を作成し、カスタムフィ
53
72
  **Issue の構成**:
54
73
 
55
74
  - **タイトル**: `[ストーリーID] ストーリー名`
56
- - **本文**: ユーザーストーリー、受け入れ基準、見積もり情報
57
- - **Project 紐付け**: 作成した Project に自動追加
75
+ - **本文**: ユーザーストーリー、サブタスク、受入条件、見積もり情報
76
+ - **Milestone**: リリースフェーズに対応する Milestone に割り当て
77
+ - **Project 紐付け**: `gh project item-add` で Project に追加
78
+
79
+ ```bash
80
+ # Issue の作成(Milestone 付き)
81
+ gh issue create --repo <OWNER>/<REPO> \
82
+ --title "<ストーリーID>: <ストーリー名>" \
83
+ --milestone "<Milestone 名>" \
84
+ --body "..."
85
+
86
+ # Project への追加
87
+ gh project item-add <PROJECT_NUMBER> --owner <OWNER> \
88
+ --url "https://github.com/<OWNER>/<REPO>/issues/<NUMBER>"
89
+ ```
58
90
 
59
91
  ### 5. フィールド値の設定
60
92
 
61
93
  各 Issue に対して Project のカスタムフィールド値を個別に設定します。
62
94
 
63
- **設定手順**:
64
-
65
- 1. **フィールド ID とオプション ID の取得**
66
-
67
- ```bash
68
- gh project field-list <PROJECT_NUMBER> --owner <OWNER> --format json
69
- ```
95
+ #### 5.1 フィールド ID・オプション ID の取得
70
96
 
71
- 2. **Project Item ID の取得**
72
-
73
- ```bash
74
- gh project item-list <PROJECT_NUMBER> --owner <OWNER> --format json --limit 50 \
75
- | jq -r '.items[] | "\(.content.number):\(.id)"'
76
- ```
97
+ ```bash
98
+ # フィールド一覧の取得
99
+ gh project field-list <PROJECT_NUMBER> --owner <OWNER> --format json
77
100
 
78
- 3. **各 Issue にフィールド値を設定**
101
+ # Project Item ID の取得
102
+ gh project item-list <PROJECT_NUMBER> --owner <OWNER> --format json --limit 50 \
103
+ | jq -r '.items[] | "\(.content.number):\(.id)"'
104
+ ```
79
105
 
80
- ```bash
81
- # Single Select フィールド(リリース、イテレーション、優先度、カテゴリ、Status)
82
- gh project item-edit --project-id <PROJECT_ID> --id <ITEM_ID> \
83
- --field-id <FIELD_ID> --single-select-option-id <OPTION_ID>
106
+ #### 5.2 Single Select / Number フィールドの設定
84
107
 
85
- # Number フィールド(SP)
86
- gh project item-edit --project-id <PROJECT_ID> --id <ITEM_ID> \
87
- --field-id <FIELD_ID> --number <VALUE>
88
- ```
108
+ ```bash
109
+ # Single Select フィールドの設定
110
+ gh project item-edit --project-id <PROJECT_ID> --id <ITEM_ID> \
111
+ --field-id <FIELD_ID> --single-select-option-id <OPTION_ID>
89
112
 
90
- **設定されるフィールド**:
113
+ # Number フィールドの設定
114
+ gh project item-edit --project-id <PROJECT_ID> --id <ITEM_ID> \
115
+ --field-id <FIELD_ID> --number <VALUE>
116
+ ```
91
117
 
92
- | フィールド | タイプ | 設定内容 |
93
- |-----------|--------|---------|
94
- | **リリース** | Single Select | Release 1.0 MVP Alpha / 1.1 MVP Beta / 1.2 MVP / 2.0 完成版 |
95
- | **イテレーション** | **Iteration** | IT-1 〜 IT-6(2 週間スプリント) |
96
- | **優先度** | Single Select | 必須 / 中 / 低 |
97
- | **SP** | Number | ストーリーポイント(2〜5) |
98
- | **カテゴリ** | Single Select | 認証 / お知らせ / 社員名簿 / カレンダー / 規定集 / マニュアル / ツール / 問い合わせ / 申請 / 承認 / ユーザー管理 |
99
- | **Status** | Single Select | Todo / In Progress / Done |
118
+ #### 5.3 Iteration フィールドの作成と設定
100
119
 
101
- **Iteration フィールドの作成**:
120
+ Iteration フィールドは **Single Select ではなく Iteration 型** で作成します。GraphQL API の `createProjectV2Field` に `iterationConfiguration` を含めることで、フィールド作成と同時にイテレーション期間を設定できます。
102
121
 
103
- イテレーションフィールドは `gh project field-create` では作成できないため、GraphQL API を使用します:
122
+ **Iteration フィールドの作成(iterationConfiguration 付き)**:
104
123
 
105
124
  ```bash
106
125
  gh api graphql -f query='
@@ -109,26 +128,100 @@ mutation {
109
128
  projectId: "<PROJECT_ID>"
110
129
  dataType: ITERATION
111
130
  name: "イテレーション"
131
+ iterationConfiguration: {
132
+ startDate: "<開始日 YYYY-MM-DD>"
133
+ duration: <デフォルト期間(日数)>
134
+ iterations: [
135
+ { title: "<IT名>", startDate: "<開始日>", duration: <日数> },
136
+ ...
137
+ ]
138
+ }
112
139
  }) {
113
140
  projectV2Field {
114
141
  ... on ProjectV2IterationField {
115
142
  id
116
143
  name
117
- dataType
144
+ configuration {
145
+ iterations { id title startDate duration }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }'
151
+ ```
152
+
153
+ **GraphQL スキーマ**:
154
+
155
+ ```
156
+ CreateProjectV2FieldInput:
157
+ projectId: ID!
158
+ dataType: ProjectV2CustomFieldType! # ITERATION を指定
159
+ name: String!
160
+ iterationConfiguration: ProjectV2IterationFieldConfigurationInput
161
+
162
+ ProjectV2IterationFieldConfigurationInput:
163
+ startDate: Date! # フィールド全体の開始日
164
+ duration: Int! # デフォルト期間(日数)
165
+ iterations: [ProjectV2Iteration!]!
166
+
167
+ ProjectV2Iteration:
168
+ title: String! # イテレーション名(例: "IT1", "Sprint 1")
169
+ startDate: Date! # 開始日(YYYY-MM-DD)
170
+ duration: Int! # 期間(日数、例: 14)
171
+ ```
172
+
173
+ **重要**: `iterationConfiguration` を含めることで Web UI での手動設定は不要です。
174
+
175
+ **Iteration フィールドの ID と各イテレーション ID の取得**:
176
+
177
+ ```bash
178
+ gh api graphql -f query='
179
+ query {
180
+ node(id: "<PROJECT_ID>") {
181
+ ... on ProjectV2 {
182
+ field(name: "イテレーション") {
183
+ ... on ProjectV2IterationField {
184
+ id
185
+ configuration {
186
+ iterations { id title startDate duration }
187
+ }
188
+ }
118
189
  }
119
190
  }
120
191
  }
121
192
  }'
122
193
  ```
123
194
 
124
- **注意**: Iteration フィールドの期間設定(開始日、スプリント期間)は GitHub Web UI から設定する必要があります:
195
+ **各 Issue への Iteration 値の設定**:
125
196
 
126
- 1. Project Settings → 「イテレーション」フィールド → 設定
127
- 2. 各イテレーション(IT-1〜IT-6)を追加し、開始日と期間(14 日)を設定
197
+ ```bash
198
+ gh api graphql -f query='
199
+ mutation {
200
+ updateProjectV2ItemFieldValue(input: {
201
+ projectId: "<PROJECT_ID>"
202
+ itemId: "<ITEM_ID>"
203
+ fieldId: "<ITERATION_FIELD_ID>"
204
+ value: { iterationId: "<ITERATION_ID>" }
205
+ }) {
206
+ projectV2Item { id }
207
+ }
208
+ }'
209
+ ```
128
210
 
129
211
  ### 6. Milestone の作成
130
212
 
131
- リリースを GitHub Milestone として作成し、Issue に割り当てます。
213
+ リリースフェーズを GitHub Milestone として作成し、Issue に割り当てます。
214
+
215
+ ```bash
216
+ # Milestone の作成
217
+ gh api repos/<OWNER>/<REPO>/milestones --method POST \
218
+ -f title="<Milestone 名>" \
219
+ -f description="<説明>" \
220
+ -f due_on="<期限 YYYY-MM-DDT00:00:00Z>"
221
+
222
+ # Issue 作成時に --milestone で指定するか、既存 Issue に割り当て
223
+ gh issue edit <NUMBER> --repo <OWNER>/<REPO> --milestone "<Milestone 名>"
224
+ ```
132
225
 
133
226
  ### 7. 差異確認と同期
134
227
 
@@ -140,6 +233,7 @@ release_plan.md と GitHub Issue/Project の整合性を確認し、差異があ
140
233
  - ストーリーポイントの一致
141
234
  - リリース/Milestone 割り当ての一致
142
235
  - 優先度の一致
236
+ - イテレーション割り当ての一致
143
237
  - Status の一致
144
238
 
145
239
  **同期動作**:
@@ -147,34 +241,49 @@ release_plan.md と GitHub Issue/Project の整合性を確認し、差異があ
147
241
  1. release_plan.md と GitHub Issue/Project の差異を検出
148
242
  2. 差異レポートを表示(追加/変更/削除項目)
149
243
  3. 差異がある場合は同期を実行:
244
+
150
245
  - **新規ストーリー**: Issue を作成し Project に追加
151
246
  - **変更されたストーリー**: Issue のフィールド値を更新
152
247
  - **削除されたストーリー**: Issue をクローズ(削除はしない)
153
248
  - **Status 変更**: release_plan.md の Status を GitHub に反映
154
249
 
155
- ### 8. 出力例
250
+ ### 8. フィールド値の一括確認(GraphQL)
156
251
 
157
- ```
158
- GitHub Project 同期結果
159
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
-
161
- Project: 会計システムのケーススタディ
162
-
163
- Issue 作成状況
164
- ├─ 認証・ユーザー管理: 6 件(21SP)
165
- ├─ マスタ管理: 8 件(29SP)
166
- ├─ 仕訳管理: 10 件(45SP)
167
- ├─ 元帳・残高管理: 5 件(26SP)
168
- ├─ 財務諸表: 3 件(21SP)
169
- └─ システム管理: 2 件(13SP)
170
- 合計: 34 件(155SP)
171
-
172
- Milestone 割り当て
173
- ├─ リリース 1.0 MVP: 14 件
174
- ├─ リリース 2.0 機能拡張版: 12 件
175
- └─ リリース 3.0 完成版: 8 件
176
-
177
- 同期完了: release_plan.md と GitHub が一致
252
+ 設定済みのフィールド値を一覧で確認します。
253
+
254
+ ```bash
255
+ gh api graphql -f query='
256
+ query {
257
+ node(id: "<PROJECT_ID>") {
258
+ ... on ProjectV2 {
259
+ items(first: 50) {
260
+ nodes {
261
+ content {
262
+ ... on Issue { number title }
263
+ }
264
+ fieldValues(first: 10) {
265
+ nodes {
266
+ ... on ProjectV2ItemFieldSingleSelectValue {
267
+ field { ... on ProjectV2SingleSelectField { name } }
268
+ name
269
+ }
270
+ ... on ProjectV2ItemFieldNumberValue {
271
+ field { ... on ProjectV2Field { name } }
272
+ number
273
+ }
274
+ ... on ProjectV2ItemFieldIterationValue {
275
+ field { ... on ProjectV2IterationField { name } }
276
+ title
277
+ startDate
278
+ duration
279
+ }
280
+ }
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }'
178
287
  ```
179
288
 
180
289
  ### 9. 同期フロー
@@ -223,6 +332,7 @@ graph TD
223
332
 
224
333
  - 既存の Project/Issue がある場合は重複作成に注意
225
334
  - フィールド値の更新は既存値を上書き
335
+ - Iteration フィールドの期間変更は GraphQL API または Web UI で実施
226
336
 
227
337
  - **推奨事項**:
228
338
 
@@ -235,9 +345,11 @@ graph TD
235
345
  2. **計画更新時**: `--sync` で差異確認と自動同期
236
346
  3. **定期確認**: `--status` で進捗状況を定期的に確認
237
347
  4. **一貫性維持**: release_plan.md を Single Source of Truth として管理し、`--sync` で GitHub に反映
348
+ 5. **Iteration 型の活用**: イテレーションは Single Select ではなく Iteration 型フィールドを使用し、スプリント期間を明示する
238
349
 
239
350
  ### 関連スキル
240
351
 
241
352
  - `planning-releases` : リリース計画とイテレーション計画の作成
242
353
  - `tracking-progress` : 進捗状況の確認と更新
354
+ - `orchestrating-project` : 計画・進捗管理フェーズ全体のオーケストレーション
243
355
  - `git-commit` : 変更のコミット
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k2works/claude-code-booster",
3
- "version": "1.9.2",
3
+ "version": "1.10.1",
4
4
  "description": "AI Agent Development Support Tool",
5
5
  "main": "main.js",
6
6
  "bin": {