-
-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Labels
enhancementNew feature or requestNew feature or request
Description
概要
インタラクティブモードおよび tasks.yaml でタスクごとに base_branch を指定できるようにする。main 以外のブランチ上で会話してタスクを積んだ場合、そのブランチをベースにして作業ブランチを切れるようにする。
背景
現在、ベースブランチは config.yaml のグローバル設定(base_branch)か detectDefaultBranch(main/master)で決まる。タスク単位での指定はできない。
feat/xxx ブランチ上でインタラクティブに会話してタスクを積んでも、実行時は main からブランチが切られるため、会話の文脈と実行環境がずれる。
仕様
tasks.yaml に base_branch フィールドを追加
- task: "..."
slug: "fix-something"
base_branch: "feat/xxx" # 新規フィールド
branch: "takt/398/fix-something"ベースブランチの解決順序
- タスクに
base_branch指定あり → ローカル/リモート(origin/<branch>)を探す → どちらにもなければエラー - タスクに
base_branch指定なし → config.yaml のbase_branch→detectDefaultBranch(今まで通り)
インタラクティブモード(promptWorktreeSettings)
プロンプト順序を変更し、Base branch を常に聞く:
1. Worktree path (Enter for auto)
2. Base branch (Enter for default [main]): ← 新規追加
3. Branch name (Enter for auto)
4. Auto-create PR?
5. Create as draft?
- Enter(未指定)→ config.yaml に従う(従来通り)
- ブランチ名を入力 → ローカル/リモートを探す
- 見つからない → 「Branch 'feat/xxx' not found (local or remote)」エラーを表示して再入力を促す
モード別のエラー挙動
| モード | base_branch が見つからない場合 |
|---|---|
インタラクティブ(takt / takt add) |
エラー表示 → 再入力を促す |
パイプライン(takt run / --pipeline) |
エラーで停止 |
関連
- branchExists をリモートブランチにも対応させる(別PCでの作業継続) #398 (branchExists のリモートブランチ対応)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request