Skip to content

feat(tui): コマンドパレットに unite add/remove を追加#472

Merged
kkyosuke merged 1 commit into
mainfrom
feat/unite-add-remove
Jun 28, 2026
Merged

feat(tui): コマンドパレットに unite add/remove を追加#472
kkyosuke merged 1 commit into
mainfrom
feat/unite-add-remove

Conversation

@kkyosuke

Copy link
Copy Markdown
Owner

目的

統合(unite)ビューにワークスペースを動的に足し引きするコマンドを追加(親 #77 のフェーズ5 / #82)。Open 画面で開き直さなくても、開いているホーム画面に別ワークスペースを積める。

スタック PR: フェーズ2(#466)→3(#468)→4(#470) の上に積んでいます。

変更内容

  • unite add <workspace> / unite remove <workspace>(別名 rm をコマンドパレット(Workspace スコープ)に追加(UniteCommandEffect::UniteAdd/UniteRemove)。
  • HomeState: add_extra_group / remove_extra_group / united_workspace_names。重複追加(同一ルート・プライマリ)は拒否、最後の追加グループを外すと単一表示へ戻る。
  • Wiring: unite_resolve を追加し、orchestrator が登録ワークスペースを名前で解決して GroupSource を組む(未登録はエラーをログ)。
  • ドキュメント: 03-commands/02-tui.mdunite コマンド、design/home/01-modes.md のパレット一覧・スコープ表を更新。

テスト・確認方法

  • cargo fmt / clippy -D warnings クリーン、cargo test 全緑(単一ワークスペースは挙動不変)
  • カバレッジ enforce 通過(lines=100% / functions=100%)
  • コマンド解析(add/remove/alias/usage)・補完・状態 add/remove・パレット経由のハンドラ分岐の単体テストを追加

既知の範囲

  • 動的 add/remove は live ビューを変えるが、直近統合セット(unite-set.json)の更新は Open 画面経由のまま(後続で整理可能)。

関連

親: #77 / 依存: #81(#470) / 本PR: #82 / 残: #83(docs)

🤖 Generated with Claude Code

#77 のフェーズ5。統合(unite)ビューにワークスペースを動的に足し引きする。

- `unite add <workspace>` / `unite remove <workspace>`(別名 rm) をコマンドパレット
  (Workspace スコープ)に追加。UniteCommand と Effect::UniteAdd/UniteRemove。
- HomeState に add_extra_group / remove_extra_group / united_workspace_names を追加。
  重複(同一ルート・プライマリ)追加は拒否、最後の追加グループを外すと単一表示へ戻る。
- event::Wiring に unite_resolve を追加し、orchestrator が登録ワークスペースを名前で
  解決して GroupSource を組む(未登録はエラーをログ)。
- ドキュメント: 03-commands/02-tui.md に unite コマンド、design/home/01-modes.md の
  パレット一覧・スコープ表を更新。

コマンド解析・状態 add/remove・パレット経由のハンドラ分岐の単体テストを追加
(lines/functions 100% 維持)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kkyosuke kkyosuke force-pushed the feat/unite-add-remove branch from 817b846 to 745456d Compare June 28, 2026 13:01
@github-actions

Copy link
Copy Markdown

📊 Test Coverage

🚀 いまのカバレッジ (Lines): 100.00% — この調子でいこう!

🎉✨ パーフェクト!全ファイル Lines カバレッジ 100% を達成しました 🏆🐰

@kkyosuke kkyosuke merged commit 18b5e39 into main Jun 28, 2026
4 checks passed
@kkyosuke kkyosuke deleted the feat/unite-add-remove branch June 28, 2026 13:06
kkyosuke added a commit that referenced this pull request Jun 28, 2026
## 目的

統合(unite)モードのドキュメントを整備(親 #77 のフェーズ6 /
#83)。各実装PRで部分更新した内容の最終整合と、オーケストレーション概念の追加。

> **スタック PR**: フェーズ2〜5(#466/#468/#470/#472)の上に積んでいます。

## 変更内容
- `document/04-orchestration.md`
に「複数ワークスペースの統合(unite)」節を追加(導線・グループ表示・コマンドの対象解決・直近セットの記憶・worktree
集約との関係)。
- `README.md` の起動画面に複数選択(unite)の一文、コマンドパレット一覧に `unite` を追記。


(`design/02-open.md`・`design/home/03-sidebar.md`・`design/home/01-modes.md`・`03-commands/02-tui.md`・`data/01-global.md`
は各フェーズPRで更新済み。)

## 確認方法
-
参照した見出しアンカー(`#統合uniteモードで開く`・`#unite`・`#統合uniteモードの積み重ね表示`・`#unite-setjson直近の統合セット`)が対象ファイルに存在することを確認。
- ドキュメント規約(記載=実装済み・SSoT・相対リンク)に準拠。

## 関連
親: #77 / 依存: #79 #80 #81 #82 / 本PR: #83(フェーズ完了)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: test <test@example.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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