@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.
- package/README.md +1 -0
- package/dist/commands/task-loop/index.d.ts.map +1 -1
- package/dist/commands/task-loop/index.js +128 -10
- package/dist/commands/task-loop/index.js.map +1 -1
- package/dist/commands/task-loop/lib/task-state-manager.d.ts +33 -2
- package/dist/commands/task-loop/lib/task-state-manager.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/task-state-manager.js +74 -3
- package/dist/commands/task-loop/lib/task-state-manager.js.map +1 -1
- package/dist/commands/task-loop/lib/task-state-manager.test.js +252 -1
- package/dist/commands/task-loop/lib/task-state-manager.test.js.map +1 -1
- package/dist/commands/task-loop/lib/types.d.ts +17 -0
- package/dist/commands/task-loop/lib/types.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-client.d.ts +25 -0
- package/dist/commands/task-loop/lib/vibe-kanban-client.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-client.js +63 -0
- package/dist/commands/task-loop/lib/vibe-kanban-client.js.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-client.test.js +184 -0
- package/dist/commands/task-loop/lib/vibe-kanban-client.test.js.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.d.ts +47 -0
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +116 -0
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.d.ts +2 -0
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.js +293 -0
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.test.js.map +1 -0
- package/package.json +1 -1
- package/presets/default/.claude/agents/einja/codex-agent.md +117 -0
- package/presets/default/.claude/agents/einja/specs/spec-requirements-generator.md +15 -6
- package/presets/default/.claude/hooks/einja/playwright-resize.sh +12 -2
- package/presets/default/.claude/settings.json +15 -0
- package/presets/default/.claude/skills/einja-backend-architecture/SKILL.md +4 -0
- package/presets/default/.claude/skills/einja-output-format/SKILL.md +21 -0
- package/presets/default/.claude/skills/einja-spec-context-loader/SKILL.md +1 -1
- package/scaffolds/.mcp.json +6 -9
- package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/scenarios.md +4 -4
- package/scaffolds/example/specs/issues/issue999-example-task/requirements.md +131 -100
- package/scaffolds/example/specs/issues/issue999-example-task/tasks.md +4 -3
- package/scaffolds/instructions/task-vibe-kanban-loop.md +38 -17
- package/scaffolds/instructions/vercel-cli-reference.md +451 -0
- package/scaffolds/steering/README.md +1 -0
- package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +13 -1
- package/scaffolds/steering/development/backend-architecture.md +2 -1
- package/scaffolds/steering/development/database-guidelines.md +239 -0
- package/scaffolds/steering/development/frontend-development.md +80 -5
- package/scaffolds/steering/development/review-guidelines.md +5 -0
- package/scaffolds/steering/development-workflow.md +15 -1
- package/scaffolds/steering/infrastructure/deployment.md +27 -21
- package/scaffolds/steering/task-management.md +21 -0
- package/scaffolds/templates/README.md +11 -7
- package/scaffolds/templates/requirements.md.template +44 -32
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/task-loop/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
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(
|
|
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
|
-
|
|
273
|
-
|
|
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;
|
|
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
|
-
|
|
158
|
-
|
|
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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QACU,wBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;QACrD,8CAA8C;QACtC,uBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC5D,0BAA0B;QAClB,sBAAiB,GAAkB,IAAI,CAAC;
|
|
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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"}
|