From 79ee3539907d207c723c00c5753335683e7b3d46 Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Tue, 10 Feb 2026 21:36:11 +0900 Subject: [PATCH] chore: add completion logs for branch and issue generation --- src/__tests__/cli-worktree.test.ts | 1 + src/__tests__/taskExecution.test.ts | 1 + src/app/cli/routing.ts | 2 ++ src/features/tasks/add/index.ts | 1 + src/features/tasks/execute/resolveTask.ts | 1 + src/features/tasks/execute/selectAndExecute.ts | 1 + 6 files changed, 7 insertions(+) diff --git a/src/__tests__/cli-worktree.test.ts b/src/__tests__/cli-worktree.test.ts index cd09d5e..8ebb3cc 100644 --- a/src/__tests__/cli-worktree.test.ts +++ b/src/__tests__/cli-worktree.test.ts @@ -199,6 +199,7 @@ describe('confirmAndCreateWorktree', () => { // Then expect(mockInfo).toHaveBeenCalledWith('Generating branch name...'); + expect(mockInfo).toHaveBeenCalledWith('Branch name generated: test-task'); }); it('should skip prompt when override is false', async () => { diff --git a/src/__tests__/taskExecution.test.ts b/src/__tests__/taskExecution.test.ts index 68a08b1..e845b1a 100644 --- a/src/__tests__/taskExecution.test.ts +++ b/src/__tests__/taskExecution.test.ts @@ -193,6 +193,7 @@ describe('resolveTaskExecution', () => { // Then expect(mockInfo).toHaveBeenCalledWith('Generating branch name...'); + expect(mockInfo).toHaveBeenCalledWith('Branch name generated: test-task'); }); it('should use task content (not name) for AI summarization', async () => { diff --git a/src/app/cli/routing.ts b/src/app/cli/routing.ts index 5d49ffa..2bf757e 100644 --- a/src/app/cli/routing.ts +++ b/src/app/cli/routing.ts @@ -46,6 +46,7 @@ function resolveIssueInput( throw new Error(ghStatus.error); } const issue = fetchIssue(issueOption); + info(`GitHub Issue fetched: #${issue.number} ${issue.title}`); return { issues: [issue], initialInput: formatIssueAsTask(issue) }; } @@ -61,6 +62,7 @@ function resolveIssueInput( throw new Error(`Invalid issue reference: ${task}`); } const issues = issueNumbers.map((n) => fetchIssue(n)); + info(`GitHub Issues fetched: ${issues.map((issue) => `#${issue.number}`).join(', ')}`); return { issues, initialInput: issues.map(formatIssueAsTask).join('\n\n---\n\n') }; } diff --git a/src/features/tasks/add/index.ts b/src/features/tasks/add/index.ts index b179b63..13d348e 100644 --- a/src/features/tasks/add/index.ts +++ b/src/features/tasks/add/index.ts @@ -183,6 +183,7 @@ export async function addTask(cwd: string, task?: string): Promise { const numbers = parseIssueNumbers([trimmedTask]); if (numbers.length > 0) { issueNumber = numbers[0]; + info(`GitHub Issue fetched: #${issueNumber}`); } } catch (e) { const msg = getErrorMessage(e); diff --git a/src/features/tasks/execute/resolveTask.ts b/src/features/tasks/execute/resolveTask.ts index 632b0b7..3f6ea7f 100644 --- a/src/features/tasks/execute/resolveTask.ts +++ b/src/features/tasks/execute/resolveTask.ts @@ -62,6 +62,7 @@ export async function resolveTaskExecution( baseBranch = getCurrentBranch(defaultCwd); info('Generating branch name...'); const taskSlug = await summarizeTaskName(task.content, { cwd: defaultCwd }); + info(`Branch name generated: ${taskSlug}`); throwIfAborted(abortSignal); info('Creating clone...'); diff --git a/src/features/tasks/execute/selectAndExecute.ts b/src/features/tasks/execute/selectAndExecute.ts index 94a7c52..f41ec72 100644 --- a/src/features/tasks/execute/selectAndExecute.ts +++ b/src/features/tasks/execute/selectAndExecute.ts @@ -115,6 +115,7 @@ export async function confirmAndCreateWorktree( info('Generating branch name...'); const taskSlug = await summarizeTaskName(task, { cwd }); + info(`Branch name generated: ${taskSlug}`); info('Creating clone...'); const result = createSharedClone(cwd, {