背景
「1 セッション = 1 git worktree」がこのアプリの本丸だが、現状 SessionStore.openRepository(at:) は既存フォルダを開くだけ。エンジンに GitEngine.addWorktree(repo:path:branch:baseRef:) はあるが UI 未接続。
やること
NewSessionSheet(リポジトリ選択/セッション名/新規ブランチ名/ベースref/アダプタ)。
- worktree 配置: managed
.worktrees/<slug> 既定 + 兄弟 <repo>-wt-<id> を設定で選択。
addWorktree を呼んで作成 → セッション化して永続化・選択。
- ガード: 同一ブランチ二重 checkout 不可(ユニークブランチ強制)、既存パス衝突の回避。
- サイドバー
+ から起動。
完了条件
- 任意リポジトリから新規ブランチ+worktree を作ってセッションを開始でき、再起動後も復元される。
関連: [[resume]] / archive・cleanup(#)、plan: groovy-imagining-ocean.md Phase 1
背景
「1 セッション = 1 git worktree」がこのアプリの本丸だが、現状
SessionStore.openRepository(at:)は既存フォルダを開くだけ。エンジンにGitEngine.addWorktree(repo:path:branch:baseRef:)はあるが UI 未接続。やること
NewSessionSheet(リポジトリ選択/セッション名/新規ブランチ名/ベースref/アダプタ)。.worktrees/<slug>既定 + 兄弟<repo>-wt-<id>を設定で選択。addWorktreeを呼んで作成 → セッション化して永続化・選択。+から起動。完了条件
関連: [[resume]] / archive・cleanup(#)、plan:
groovy-imagining-ocean.mdPhase 1