@einja/dev-cli 0.1.30 → 0.1.31

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 (51) hide show
  1. package/README.md +1 -0
  2. package/dist/commands/task-loop/index.d.ts.map +1 -1
  3. package/dist/commands/task-loop/index.js +128 -10
  4. package/dist/commands/task-loop/index.js.map +1 -1
  5. package/dist/commands/task-loop/lib/task-state-manager.d.ts +33 -2
  6. package/dist/commands/task-loop/lib/task-state-manager.d.ts.map +1 -1
  7. package/dist/commands/task-loop/lib/task-state-manager.js +74 -3
  8. package/dist/commands/task-loop/lib/task-state-manager.js.map +1 -1
  9. package/dist/commands/task-loop/lib/task-state-manager.test.js +252 -1
  10. package/dist/commands/task-loop/lib/task-state-manager.test.js.map +1 -1
  11. package/dist/commands/task-loop/lib/types.d.ts +17 -0
  12. package/dist/commands/task-loop/lib/types.d.ts.map +1 -1
  13. package/dist/commands/task-loop/lib/vibe-kanban-client.d.ts +25 -0
  14. package/dist/commands/task-loop/lib/vibe-kanban-client.d.ts.map +1 -1
  15. package/dist/commands/task-loop/lib/vibe-kanban-client.js +63 -0
  16. package/dist/commands/task-loop/lib/vibe-kanban-client.js.map +1 -1
  17. package/dist/commands/task-loop/lib/vibe-kanban-client.test.js +184 -0
  18. package/dist/commands/task-loop/lib/vibe-kanban-client.test.js.map +1 -1
  19. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.d.ts +47 -0
  20. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.d.ts.map +1 -1
  21. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +116 -0
  22. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js.map +1 -1
  23. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.d.ts +2 -0
  24. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.d.ts.map +1 -0
  25. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.js +293 -0
  26. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.js.map +1 -0
  27. package/package.json +1 -1
  28. package/presets/default/.claude/agents/einja/codex-agent.md +117 -0
  29. package/presets/default/.claude/agents/einja/specs/spec-requirements-generator.md +15 -6
  30. package/presets/default/.claude/hooks/einja/playwright-resize.sh +12 -2
  31. package/presets/default/.claude/settings.json +15 -0
  32. package/presets/default/.claude/skills/einja-backend-architecture/SKILL.md +4 -0
  33. package/presets/default/.claude/skills/einja-output-format/SKILL.md +21 -0
  34. package/presets/default/.claude/skills/einja-spec-context-loader/SKILL.md +1 -1
  35. package/scaffolds/.mcp.json +6 -9
  36. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/scenarios.md +4 -4
  37. package/scaffolds/example/specs/issues/issue999-example-task/requirements.md +131 -100
  38. package/scaffolds/example/specs/issues/issue999-example-task/tasks.md +4 -3
  39. package/scaffolds/instructions/task-vibe-kanban-loop.md +38 -17
  40. package/scaffolds/instructions/vercel-cli-reference.md +451 -0
  41. package/scaffolds/steering/README.md +1 -0
  42. package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +13 -1
  43. package/scaffolds/steering/development/backend-architecture.md +2 -1
  44. package/scaffolds/steering/development/database-guidelines.md +239 -0
  45. package/scaffolds/steering/development/frontend-development.md +80 -5
  46. package/scaffolds/steering/development/review-guidelines.md +5 -0
  47. package/scaffolds/steering/development-workflow.md +15 -1
  48. package/scaffolds/steering/infrastructure/deployment.md +27 -21
  49. package/scaffolds/steering/task-management.md +21 -0
  50. package/scaffolds/templates/README.md +11 -7
  51. package/scaffolds/templates/requirements.md.template +44 -32
package/README.md CHANGED
@@ -136,6 +136,7 @@ npx @einja/dev-cli sync --only hooks
136
136
  ### `task:loop`
137
137
 
138
138
  GitHub Issueのタスクを自動実行します(Claude Code経由)。
139
+ Phase毎に親Issueを作成し、タスクグループをサブIssueとして階層管理します。
139
140
 
140
141
  ```bash
141
142
  # pnpm scripts経由(推奨)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/task-loop/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+BH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0BD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Nf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/task-loop/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmCH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6BD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAuRf"}
@@ -14,11 +14,14 @@ import { getIssue, getRepoInfo } from "./lib/github-client.js";
14
14
  import { parseIssueBody } from "./lib/issue-parser.js";
15
15
  import { selectProject } from "./lib/project-selector.js";
16
16
  import { ensurePullRequestCreated } from "./lib/pull-request-manager.js";
17
- import { TaskStateManager, extractIssueNumberFromTitle, extractTaskGroupIdFromTitle, generateVibeKanbanDescription, generateVibeKanbanTitle, } from "./lib/task-state-manager.js";
17
+ import { TaskStateManager, extractIssueNumberFromTitle, extractTaskGroupIdFromTitle, generateParentIssueDescription, generateParentIssueTitle, generateVibeKanbanDescription, generateVibeKanbanTitle, } from "./lib/task-state-manager.js";
18
18
  import { VibeKanbanClient } from "./lib/vibe-kanban-client.js";
19
+ import { VibeKanbanRestClient } from "./lib/vibe-kanban-rest-client.js";
19
20
  import { getWorktreePathByAttemptId, runDirenvAllow } from "./lib/worktree-utils.js";
20
21
  /** ポーリング間隔(ミリ秒) */
21
22
  const POLLING_INTERVAL_MS = 15000;
23
+ /** 親Issue自動Doneタイムアウト(ミリ秒) */
24
+ const PARENT_DONE_TIMEOUT_MS = 120000;
22
25
  /**
23
26
  * 現在日時を YYYY/MM/DD HH:mm:ss 形式で取得
24
27
  */
@@ -96,6 +99,21 @@ export async function taskLoopCommand(issue, options) {
96
99
  await vibeKanban.connect();
97
100
  // プロジェクト ID 取得(設定ファイルまたはインタラクティブ選択)
98
101
  const projectId = await selectProject(vibeKanban, issueNumber);
102
+ // REST APIクライアント初期化(サブIssue作成に必要)
103
+ const restPort = VibeKanbanRestClient.discoverPort();
104
+ if (!restPort) {
105
+ console.error("❌ Vibe-Kanban REST API のポートが見つかりません");
106
+ process.exit(1);
107
+ }
108
+ const restClient = new VibeKanbanRestClient(restPort);
109
+ // REST API Capability Probe
110
+ const restAvailable = await restClient.probeCapability();
111
+ if (!restAvailable) {
112
+ console.warn("⚠️ Vibe-Kanban REST API (/api/remote/issues) が利用できません。サブIssue機能が制限されます。");
113
+ }
114
+ else {
115
+ console.log("✅ Vibe-Kanban REST API 利用可能");
116
+ }
99
117
  // タスク状態マネージャー初期化
100
118
  const stateManager = new TaskStateManager();
101
119
  // 既存の Vibe-Kanban タスクを取得
@@ -147,10 +165,33 @@ export async function taskLoopCommand(issue, options) {
147
165
  // 起動時に既存のDoneタスクのGitHub Issueを同期
148
166
  console.log("\n🔄 既存Doneタスクの同期チェック...");
149
167
  parsedIssue = await syncExistingDoneTasks(parsedIssue, existingTasks, issueNumber, stateManager, descriptionCache);
168
+ // Phase毎に親Issue初期化
169
+ console.log("\n📌 Phase 親Issue を初期化中...");
170
+ for (const phase of parsedIssue.phases) {
171
+ const parentTitle = generateParentIssueTitle(phase, issueNumber);
172
+ // 既存チェック(再開サポート: 同一タイトルの既存親Issueを検索)
173
+ const existingParent = existingTasks.find((t) => t.title === parentTitle && t.status !== "cancelled");
174
+ if (existingParent) {
175
+ console.log(` 📌 既存の親Issueを使用: Phase ${phase.number} → ${existingParent.id}`);
176
+ stateManager.registerPhaseMapping(phase.number, {
177
+ phaseNumber: phase.number,
178
+ parentIssueId: existingParent.id,
179
+ });
180
+ }
181
+ else {
182
+ const parentDesc = generateParentIssueDescription(phase, issueNumber);
183
+ const parentIssueId = await vibeKanban.createParentIssue(projectId, parentTitle, parentDesc);
184
+ console.log(` ✅ 親Issue作成: Phase ${phase.number} → ${parentIssueId}`);
185
+ stateManager.registerPhaseMapping(phase.number, {
186
+ phaseNumber: phase.number,
187
+ parentIssueId,
188
+ });
189
+ }
190
+ }
150
191
  try {
151
192
  // 初期化: 着手可能なタスクを全部 Doing に移す
152
193
  console.log("\n🔍 着手可能なタスクを選定中...");
153
- await startExecutableTasks(parsedIssue, maxTaskNumber, issueNumber, issueBranch, baseBranch, projectId, vibeKanban, stateManager);
194
+ await startExecutableTasks(parsedIssue, maxTaskNumber, issueNumber, issueBranch, baseBranch, projectId, vibeKanban, stateManager, restClient);
154
195
  // メインループ
155
196
  let loopCount = 0;
156
197
  while (true) {
@@ -162,16 +203,20 @@ export async function taskLoopCommand(issue, options) {
162
203
  const doneTasks = currentTasks.filter((t) => t.status === "done" && isTaskForThisIssue(t));
163
204
  const totalDoneTasks = currentTasks.filter((t) => t.status === "done").length;
164
205
  console.log(` 📊 Done: ${doneTasks.length}件 (対象Issue) / ${totalDoneTasks}件 (全体)`);
206
+ // 親Issueを除外してサブIssueのみDone検知(リスク#3 対策: IDベース)
207
+ const subIssueTasks = currentTasks.filter((t) => !stateManager.isParentIssue(t.id));
165
208
  // Done 増加を検知
166
- const newlyCompletedVibeTaskIds = stateManager.detectNewlyCompletedTasks(currentTasks, descriptionCache);
209
+ const newlyCompletedVibeTaskIds = stateManager.detectNewlyCompletedTasks(subIssueTasks, descriptionCache);
167
210
  if (newlyCompletedVibeTaskIds.length > 0) {
168
211
  console.log(`✅ 新たに完了したタスク: ${newlyCompletedVibeTaskIds.length} 件`);
169
212
  // タスクグループ ID を取得
170
213
  const completedTaskGroupIds = stateManager.getCompletedTaskGroupIds(newlyCompletedVibeTaskIds);
171
214
  // GitHub Issue のチェックボックスを更新
172
215
  parsedIssue = await stateManager.markTaskGroupsAsCompleted(issueNumber, completedTaskGroupIds);
216
+ // Phase完了チェック & ハンドリング
217
+ await checkAndHandlePhaseCompletion(parsedIssue, issueNumber, issueBranch, vibeKanban, stateManager);
173
218
  // 新たに着手可能になったタスクを開始
174
- await startExecutableTasks(parsedIssue, maxTaskNumber, issueNumber, issueBranch, baseBranch, projectId, vibeKanban, stateManager);
219
+ await startExecutableTasks(parsedIssue, maxTaskNumber, issueNumber, issueBranch, baseBranch, projectId, vibeKanban, stateManager, restClient);
175
220
  }
176
221
  // 全タスク完了チェック
177
222
  if (isAllTasksCompleted(parsedIssue, maxTaskNumber)) {
@@ -195,6 +240,7 @@ export async function taskLoopCommand(issue, options) {
195
240
  const mergedPhaseNumbers = new Set();
196
241
  /**
197
242
  * 完了した Phase を Issue ブランチにマージ
243
+ * 将来的なフォールバック用として残す
198
244
  */
199
245
  async function mergeCompletedPhases(parsedIssue, issueNumber, issueBranch) {
200
246
  const completedPhases = getCompletedPhaseNumbers(parsedIssue);
@@ -213,13 +259,80 @@ async function mergeCompletedPhases(parsedIssue, issueNumber, issueBranch) {
213
259
  }
214
260
  }
215
261
  }
262
+ /**
263
+ * Phase完了を検出し、親Issue Workspace作成 → PR作成・マージ → 親Issue Done 待機を実行
264
+ */
265
+ async function checkAndHandlePhaseCompletion(parsedIssue, issueNumber, issueBranch, vibeKanban, stateManager) {
266
+ const completedPhases = getCompletedPhaseNumbers(parsedIssue);
267
+ for (const phaseNumber of completedPhases) {
268
+ if (mergedPhaseNumbers.has(phaseNumber)) {
269
+ continue;
270
+ }
271
+ const mapping = stateManager.getParentIssueMapping(phaseNumber);
272
+ if (!mapping) {
273
+ console.warn(` ⚠️ Phase ${phaseNumber} の親Issueマッピングが見つかりません`);
274
+ continue;
275
+ }
276
+ console.log(`\n🎯 Phase ${phaseNumber} が完了 - Phase完了処理を開始`);
277
+ // Step 1: 親Issue用Workspace作成(target = issue/N)
278
+ // → Vibe-KanbanがPRマージを追跡できるように
279
+ try {
280
+ const repos = await vibeKanban.listRepos();
281
+ const reposWithIssueBranch = repos.map((repo) => ({
282
+ repo_id: repo.id,
283
+ base_branch: issueBranch,
284
+ }));
285
+ await vibeKanban.startTaskAttempt(`[Issue${issueNumber} Phase${phaseNumber}] Phase merge`, "CLAUDE_CODE", reposWithIssueBranch, mapping.parentIssueId);
286
+ console.log(` ✅ 親Issue Workspace作成完了: Phase ${phaseNumber}`);
287
+ }
288
+ catch (error) {
289
+ console.warn(` ⚠️ 親Issue Workspace作成失敗: ${error}`);
290
+ // Workspace作成失敗でもマージは続行
291
+ }
292
+ // Step 2: PR作成・自動マージ
293
+ try {
294
+ await mergePhaseBranchIntoIssue(issueNumber, phaseNumber, issueBranch);
295
+ mergedPhaseNumbers.add(phaseNumber);
296
+ console.log(` ✅ Phase ${phaseNumber} マージ完了`);
297
+ }
298
+ catch (error) {
299
+ console.error(` ❌ Phase ${phaseNumber} のマージに失敗:`, error);
300
+ throw error;
301
+ }
302
+ // Step 3: 親Issue自動Done待機
303
+ // → Vibe-KanbanがPRマージ検知して自動Doneにするのを待つ
304
+ // → タイムアウト時はフォールバックで手動Done
305
+ await waitForParentIssueDone(vibeKanban, mapping.parentIssueId, phaseNumber);
306
+ }
307
+ }
308
+ /**
309
+ * 親IssueのDone状態を待機(タイムアウト付きフォールバック)
310
+ */
311
+ async function waitForParentIssueDone(vibeKanban, parentIssueId, phaseNumber) {
312
+ const start = Date.now();
313
+ while (Date.now() - start < PARENT_DONE_TIMEOUT_MS) {
314
+ const issue = await vibeKanban.getTask(parentIssueId);
315
+ if ((issue === null || issue === void 0 ? void 0 : issue.status) === "done") {
316
+ console.log(` ✅ 親Issue Done確認: Phase ${phaseNumber}`);
317
+ return;
318
+ }
319
+ await sleep(15000);
320
+ }
321
+ // タイムアウト: 手動でDoneに更新
322
+ console.warn(` ⚠️ 親Issue Phase ${phaseNumber} の自動Done検知がタイムアウト。手動更新します。`);
323
+ try {
324
+ await vibeKanban.updateTask(parentIssueId, "done");
325
+ console.log(` ✅ 親Issue 手動Done完了: Phase ${phaseNumber}`);
326
+ }
327
+ catch (error) {
328
+ console.error(` ❌ 親Issue Done更新失敗: Phase ${phaseNumber}`, error);
329
+ }
330
+ }
216
331
  /**
217
332
  * 着手可能なタスクを Vibe-Kanban に登録して実行開始
218
333
  */
219
- async function startExecutableTasks(parsedIssue, maxTaskNumber, issueNumber, issueBranch, baseBranch, projectId, vibeKanban, stateManager) {
334
+ async function startExecutableTasks(parsedIssue, maxTaskNumber, issueNumber, issueBranch, baseBranch, projectId, vibeKanban, stateManager, restClient) {
220
335
  var _a;
221
- // 完了した Phase を Issue ブランチにマージ(新しい Phase のタスク開始前に実行)
222
- await mergeCompletedPhases(parsedIssue, issueNumber, issueBranch);
223
336
  // 着手可能なタスクグループを選定
224
337
  const executableGroups = await selectExecutableTaskGroups(parsedIssue, maxTaskNumber);
225
338
  if (executableGroups.length === 0) {
@@ -268,9 +381,14 @@ async function startExecutableTasks(parsedIssue, maxTaskNumber, issueNumber, iss
268
381
  const description = generateVibeKanbanDescription(taskGroup, issueNumber);
269
382
  // タスク開始前に Phase ブランチを同期(リモートの最新を取得)
270
383
  await syncPhaseBranch(issueNumber, taskGroup.phaseNumber, issueBranch, baseBranch);
271
- // タスク作成
272
- console.log(` 📌 タスク作成: ${taskGroup.id} - ${taskGroup.name}`);
273
- const taskId = await vibeKanban.createTask(projectId, title, description);
384
+ // サブIssue作成(親Issueの子として)
385
+ const phaseMapping = stateManager.getParentIssueMapping(taskGroup.phaseNumber);
386
+ if (!phaseMapping) {
387
+ console.error(` ❌ Phase ${taskGroup.phaseNumber} の親Issueマッピングが見つかりません`);
388
+ continue;
389
+ }
390
+ console.log(` 📌 サブIssue作成: ${taskGroup.id} - ${taskGroup.name} (parent: Phase ${taskGroup.phaseNumber})`);
391
+ const taskId = await vibeKanban.createSubIssue(projectId, phaseMapping.parentIssueId, title, description, restClient);
274
392
  // マッピング登録
275
393
  stateManager.registerTaskMapping(taskId, taskGroup.id);
276
394
  // ステータスを inprogress に更新
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/task-loop/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/task-loop/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * - GitHub Issue のチェックボックスを更新
6
6
  * - 着手可能なタスクを取得
7
7
  */
8
- import type { ParsedIssue, TaskGroup, VibeKanbanTask } from "./types.js";
8
+ import type { ParsedIssue, Phase, PhaseIssueMapping, TaskGroup, VibeKanbanTask } from "./types.js";
9
9
  /**
10
10
  * タスク状態マネージャー
11
11
  */
@@ -15,10 +15,27 @@ export declare class TaskStateManager {
15
15
  private vibeTaskToGroupMap;
16
16
  /** 対象Issue番号(フィルタリング用) */
17
17
  private targetIssueNumber;
18
+ /** Phase番号 -> 親Issue マッピング */
19
+ private phaseToParentIssue;
20
+ /** 親Issue IDセット(フィルタリング用) */
21
+ private parentIssueIds;
18
22
  /**
19
23
  * タスクが対象Issueに属するかチェック
20
24
  */
21
25
  private isTaskForTargetIssue;
26
+ /**
27
+ * Phase -> 親Issue マッピングを登録
28
+ */
29
+ registerPhaseMapping(phaseNumber: number, mapping: PhaseIssueMapping): void;
30
+ /**
31
+ * Phase番号から親Issueマッピングを取得
32
+ */
33
+ getParentIssueMapping(phaseNumber: number): PhaseIssueMapping | undefined;
34
+ /**
35
+ * 親Issueかどうか判定(IDベース)
36
+ * Done検知フィルタリングで使用
37
+ */
38
+ isParentIssue(issueId: string): boolean;
22
39
  /**
23
40
  * Vibe-Kanban タスク ID とタスクグループ ID のマッピングを登録
24
41
  */
@@ -53,13 +70,27 @@ export declare class TaskStateManager {
53
70
  export declare function extractTaskGroupIdFromTitle(title: string): string | null;
54
71
  /**
55
72
  * Vibe-Kanban タスクのタイトルから Issue 番号を抽出
56
- * タイトル形式: "[IssueXX Y.Z] タスク名"
73
+ * タイトル形式: "[IssueXX Y.Z] タスク名" または "[IssueXX PhaseM] Phase名"
57
74
  */
58
75
  export declare function extractIssueNumberFromTitle(title: string): number | null;
59
76
  /**
60
77
  * タスクグループ用の Vibe-Kanban タスクタイトルを生成
61
78
  */
62
79
  export declare function generateVibeKanbanTitle(taskGroup: TaskGroup, issueNumber: number): string;
80
+ /**
81
+ * Phase用の Vibe-Kanban 親Issueタイトルを生成
82
+ * 形式: [Issue{N} Phase{M}] {Phase名}
83
+ */
84
+ export declare function generateParentIssueTitle(phase: Phase, issueNumber: number): string;
85
+ /**
86
+ * Phase用の Vibe-Kanban 親Issue説明文を生成
87
+ */
88
+ export declare function generateParentIssueDescription(phase: Phase, issueNumber: number): string;
89
+ /**
90
+ * 親IssueのタイトルからPhase番号を抽出
91
+ * タイトル形式: "[IssueXX PhaseM] Phase名"
92
+ */
93
+ export declare function extractPhaseNumberFromTitle(title: string): number | null;
63
94
  /**
64
95
  * タスクグループ用の Vibe-Kanban タスク説明を生成
65
96
  */
@@ -1 +1 @@
1
- {"version":3,"file":"task-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,mBAAmB,CAA0B;IACrD,8CAA8C;IAC9C,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,0BAA0B;IAC1B,OAAO,CAAC,iBAAiB,CAAuB;IAEhD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAKlE;;;;;OAKG;IACH,qBAAqB,CACnB,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAC5C,IAAI;IAwBP;;;;;OAKG;IACH,yBAAyB,CACvB,YAAY,EAAE,cAAc,EAAE,EAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAC5C,MAAM,EAAE;IAiCX;;OAEG;IACH,wBAAwB,CAAC,yBAAyB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAcvE;;OAEG;IACG,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,WAAW,CAAC;CAwBxB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA4B/F"}
1
+ {"version":3,"file":"task-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnG;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,mBAAmB,CAA0B;IACrD,8CAA8C;IAC9C,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,0BAA0B;IAC1B,OAAO,CAAC,iBAAiB,CAAuB;IAChD,8BAA8B;IAC9B,OAAO,CAAC,kBAAkB,CAA6C;IACvE,6BAA6B;IAC7B,OAAO,CAAC,cAAc,CAA0B;IAEhD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAW3E;;OAEG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIzE;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAKlE;;;;;OAKG;IACH,qBAAqB,CACnB,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAC5C,IAAI;IAwBP;;;;;OAKG;IACH,yBAAyB,CACvB,YAAY,EAAE,cAAc,EAAE,EAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAC5C,MAAM,EAAE;IAiCX;;OAEG;IACH,wBAAwB,CAAC,yBAAyB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAcvE;;OAEG;IACG,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,WAAW,CAAC;CAwBxB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAgBxF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA4B/F"}
@@ -17,6 +17,10 @@ export class TaskStateManager {
17
17
  this.vibeTaskToGroupMap = new Map();
18
18
  /** 対象Issue番号(フィルタリング用) */
19
19
  this.targetIssueNumber = null;
20
+ /** Phase番号 -> 親Issue マッピング */
21
+ this.phaseToParentIssue = new Map();
22
+ /** 親Issue IDセット(フィルタリング用) */
23
+ this.parentIssueIds = new Set();
20
24
  }
21
25
  /**
22
26
  * タスクが対象Issueに属するかチェック
@@ -36,6 +40,32 @@ export class TaskStateManager {
36
40
  }
37
41
  return false;
38
42
  }
43
+ /**
44
+ * Phase -> 親Issue マッピングを登録
45
+ */
46
+ registerPhaseMapping(phaseNumber, mapping) {
47
+ // 既存マッピングの古いIDを削除(再登録時の孤立ID防止)
48
+ const existing = this.phaseToParentIssue.get(phaseNumber);
49
+ if (existing) {
50
+ this.parentIssueIds.delete(existing.parentIssueId);
51
+ }
52
+ this.phaseToParentIssue.set(phaseNumber, mapping);
53
+ this.parentIssueIds.add(mapping.parentIssueId);
54
+ console.log(` 🔗 Phase マッピング登録: Phase ${phaseNumber} → ${mapping.parentIssueId}`);
55
+ }
56
+ /**
57
+ * Phase番号から親Issueマッピングを取得
58
+ */
59
+ getParentIssueMapping(phaseNumber) {
60
+ return this.phaseToParentIssue.get(phaseNumber);
61
+ }
62
+ /**
63
+ * 親Issueかどうか判定(IDベース)
64
+ * Done検知フィルタリングで使用
65
+ */
66
+ isParentIssue(issueId) {
67
+ return this.parentIssueIds.has(issueId);
68
+ }
39
69
  /**
40
70
  * Vibe-Kanban タスク ID とタスクグループ ID のマッピングを登録
41
71
  */
@@ -151,11 +181,18 @@ export function extractTaskGroupIdFromTitle(title) {
151
181
  }
152
182
  /**
153
183
  * Vibe-Kanban タスクのタイトルから Issue 番号を抽出
154
- * タイトル形式: "[IssueXX Y.Z] タスク名"
184
+ * タイトル形式: "[IssueXX Y.Z] タスク名" または "[IssueXX PhaseM] Phase名"
155
185
  */
156
186
  export function extractIssueNumberFromTitle(title) {
157
- const match = title.match(/\[Issue(\d+)\s+\d+\.\d+\]/);
158
- return match ? Number.parseInt(match[1], 10) : null;
187
+ // サブIssue形式: [Issue22 1.2] タスク名
188
+ const subMatch = title.match(/\[Issue(\d+)\s+\d+\.\d+\]/);
189
+ if (subMatch)
190
+ return Number.parseInt(subMatch[1], 10);
191
+ // 親Issue形式: [Issue22 Phase1] Phase名
192
+ const parentMatch = title.match(/\[Issue(\d+)\s+Phase\d+\]/);
193
+ if (parentMatch)
194
+ return Number.parseInt(parentMatch[1], 10);
195
+ return null;
159
196
  }
160
197
  /**
161
198
  * タスクグループ用の Vibe-Kanban タスクタイトルを生成
@@ -163,6 +200,40 @@ export function extractIssueNumberFromTitle(title) {
163
200
  export function generateVibeKanbanTitle(taskGroup, issueNumber) {
164
201
  return `[Issue${issueNumber} ${taskGroup.id}] ${taskGroup.name}`;
165
202
  }
203
+ /**
204
+ * Phase用の Vibe-Kanban 親Issueタイトルを生成
205
+ * 形式: [Issue{N} Phase{M}] {Phase名}
206
+ */
207
+ export function generateParentIssueTitle(phase, issueNumber) {
208
+ return `[Issue${issueNumber} Phase${phase.number}] ${phase.name}`;
209
+ }
210
+ /**
211
+ * Phase用の Vibe-Kanban 親Issue説明文を生成
212
+ */
213
+ export function generateParentIssueDescription(phase, issueNumber) {
214
+ const taskGroupList = phase.taskGroups
215
+ .map((tg) => `- ${tg.id}: ${tg.name}`)
216
+ .join("\n");
217
+ return `## Phase ${phase.number}: ${phase.name}
218
+
219
+ GitHub Issue #${issueNumber} の Phase ${phase.number} を管理する親Issueです。
220
+
221
+ ## 含まれるタスクグループ
222
+
223
+ ${taskGroupList || "(タスクグループなし)"}
224
+
225
+ ## 完了条件
226
+ Phase 内のすべてのサブIssue(タスクグループ)が完了すること。
227
+ `;
228
+ }
229
+ /**
230
+ * 親IssueのタイトルからPhase番号を抽出
231
+ * タイトル形式: "[IssueXX PhaseM] Phase名"
232
+ */
233
+ export function extractPhaseNumberFromTitle(title) {
234
+ const match = title.match(/\[Issue\d+\s+Phase(\d+)\]/);
235
+ return match ? Number.parseInt(match[1], 10) : null;
236
+ }
166
237
  /**
167
238
  * タスクグループ用の Vibe-Kanban タスク説明を生成
168
239
  */
@@ -1 +1 @@
1
- {"version":3,"file":"task-state-manager.js","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-state-manager.js","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"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"}