Skip to content

feat(assistant): Home画面にアシスタントチャット機能を追加 (#649)#655

Merged
Kewton merged 2 commits intodevelopfrom
feature/649-worktree
Apr 13, 2026
Merged

feat(assistant): Home画面にアシスタントチャット機能を追加 (#649)#655
Kewton merged 2 commits intodevelopfrom
feature/649-worktree

Conversation

@Kewton
Copy link
Copy Markdown
Owner

@Kewton Kewton commented Apr 13, 2026

Summary

  • Home 画面に worktree 非依存のアシスタントチャット UI を追加
  • 登録済みリポジトリから作業ディレクトリを選択可能
  • インストール済み CLI ツール (Claude/Codex/Gemini 等) から選択してセッション開始
  • セッション開始時に CLI 使い方・リポジトリ情報をコンテキスト付与
  • グローバルセッション管理 (tmux mcbd-global-assistant)
  • セッションクリーンアップ統合

Closes #649

新規ファイル (14)

  • src/app/api/assistant/start/route.ts — セッション開始 API
  • src/app/api/assistant/terminal/route.ts — メッセージ送信 API
  • src/app/api/assistant/current-output/route.ts — 出力取得 API
  • src/app/api/assistant/session/route.ts — セッション状態 API
  • src/components/home/AssistantChatPanel.tsx — チャット UI パネル
  • src/components/home/AssistantMessageInput.tsx — メッセージ入力
  • src/lib/api/assistant-api.ts — フロント API クライアント
  • src/lib/assistant/context-builder.ts — コンテキスト生成
  • src/lib/polling/global-session-poller.ts — セッションポーリング
  • src/lib/session/global-session-constants.ts — 定数定義
  • src/types/assistant.ts — 型定義
  • tests/unit/assistant-context-builder.test.ts
  • tests/unit/global-session-poller.test.ts
  • tests/unit/session-cleanup-global.test.ts

変更ファイル (3)

  • src/app/page.tsx — AssistantChatPanel 組み込み
  • src/lib/session-cleanup.ts — グローバルセッションクリーンアップ統合
  • src/lib/session/worktree-status-helper.ts — グローバルセッション除外

品質チェック

項目 結果
TypeScript 0 errors
ESLint 0 warnings / 0 errors
Unit Tests 6,319 passed (334 files)
受入テスト 17/17 PASS

Test plan

  • lint / tsc / test:unit パス
  • 受入テスト 17 項目 PASS
  • リファクタリング完了

🤖 Generated with Claude Code

Kewton and others added 2 commits April 14, 2026 01:27
Issue #649: Add global assistant chat panel with CLI tool session management.

Backend:
- Add global session constants (GLOBAL_SESSION_WORKTREE_ID='__global__')
- Add global session poller (polling without DB operations)
- Add context builder for initial session context with repository info
- Add API routes: start, terminal, current-output, session (DELETE)
- Add cleanupGlobalSessions() to session-cleanup for orphan cleanup
- Add __global__ early return in worktree-status-helper
- Add assistant-api client module

Frontend:
- Add AssistantMessageInput (simplified, no slash commands/image)
- Add AssistantChatPanel (collapsible, repo/tool selection, output display)
- Integrate AssistantChatPanel into Home page above Session Overview

Tests:
- global-session-poller: polling lifecycle, start/stop, max retries
- session-cleanup-global: cleanupGlobalSessions function
- assistant-context-builder: buildGlobalContext, getEnabledRepositories
- All 334 test files pass (6319 tests), 0 lint/type errors

Resolves #649

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ptance)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Kewton Kewton merged commit 31db0b2 into develop Apr 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant