feat: hand items off to a configured command; branch: field #58
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jwarykowski/shepherd!58
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/handoff"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replaces the agent orchestration in #51 with a generic hook, so shepherd stays a board plus a command API and doesn't drive herdr, git worktrees, gh or agent CLIs itself.
handoff = [...]in config.toml: the command an item is handed to, with placeholders{prompt}{text}{note}{id}{board}{dir}{branch}and the same values inSHEPHERD_*env vars. Runs in the board's working directory, attached to the terminal.shepherd handoff <ref>and@on the board: a subtask goes with its parent as context; the item is marked in-progress once the command is known to exist, so an unset or missing command leaves it untouched (exit 2, or a notice on the board).branch:<name>token, as in #51: stored, inlist --json, the schema and the filter, so a hand-off script or drover can find the item again.Tests: argv parsing (commas and escapes inside arguments, trailing comments), placeholder expansion and env, the CLI run and its failure paths,
@on the board, and the branch token. Smoke-tested the built binary.Pairs with #57 (settings save keeps
handoffand other unmanaged keys).Closing: replaced by #63. Sending a task to an agent now goes through drover (the @ key and shepherd go), so there's one way to do it and every run is logged. The branch: field isn't needed; drover links the PR it opens.
Pull request closed