feat: support custom worktree creation commands per directory#478
Closed
lshoravi wants to merge 7 commits intoasheshgoplani:mainfrom
Closed
feat: support custom worktree creation commands per directory#478lshoravi wants to merge 7 commits intoasheshgoplani:mainfrom
lshoravi wants to merge 7 commits intoasheshgoplani:mainfrom
Conversation
- New session dialog shows an inline conductor list when conductors exist - Selection pre-fills based on cursor context (conductor session or session with a conductor parent) - Parent is wired through session creation and the confirm-directory path - 18 unit tests covering pre-selection, navigation, getters, focus targets, and view rendering
…identification Instead of relying on the title prefix "conductor-" (which breaks when conductors are renamed), sessions now carry an explicit IsConductor bool persisted in the database. - session.Instance / InstanceData: add IsConductor bool field - statedb: bump SchemaVersion 3→4, add is_conductor column (with ALTER TABLE migration for existing databases), update all INSERT/SELECT queries - session/storage.go: propagate IsConductor through all mapping paths - conductor_cmd.go: set IsConductor = true on creation - ui/home.go: use IsConductor instead of strings.HasPrefix checks - newdialog_conductor_test.go: set IsConductor = true in test helper
Extend ForkDialog with the same conductor parent picker added to NewDialog, so forked sessions can also be assigned a conducting parent. Update call sites in home.go and test fixtures to pass the new params.
…ions Sessions registered before the IsConductor field was introduced have IsConductor=false in the DB. Fall back to strings.HasPrefix(title, "conductor-") so they still appear in the conductor selector until re-registered.
The ALTER TABLE added the column with DEFAULT 0 but left existing conductor sessions unmarked. Add an UPDATE in the migration to set is_conductor = 1 for all sessions whose title starts with 'conductor-'.
Allow projects to override the default `git worktree add` by specifying a custom command in `.agent-deck/config.toml`. This supports monorepos with custom scaffolding scripts that need to run during worktree setup. Resolution order: per-directory config (walk-up) > global config > git default.
Author
|
This feature didn't turn out great, so I scrapped it. Here for reference if desired. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi, thanks for the great application. I'm submitting some stuff I changed locally, in case you want it upstream. (PR 3/3)
Summary
.agent-deck/config.tomlwith[worktree].create_commandto override the defaultgit worktree add{path},{branch},{repo-root}in the custom command~/.agent-deck/config.toml> built-in gitsh -cwith working directory set to the repo rootUseful for monorepos or otherwise with custom scaffolding scripts that need to run during worktree setup.
Example
your-repo/.agent-deck/config.tomlTest plan