Story: compass goto: start a unit of work in one command
Table of Contents
This page documents a story in Sprint 18. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
One command, compass goto, that bootstraps a unit of work. goto
fetches latest main, creates a feature branch, scaffolds the task
(and, for a new story, the story too) via the Scaffold add machinery
(codegen as a library), sets the task #+branch:, and prints the
remaining by-hand steps. It composes git + compass add into the
"start a story" ritual that was several manual commands. Two modes:
- New story:
--slug --title --description [--tags] [--task]— branch- new story (current sprint) + linked task.
- Existing story:
--story <id-or-slug> --task-slug --task [--description]— branch + add a task to an existing story.
(Promoted from a product-backlog capture into this sprint; renamed from
go to goto.)
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 18 |
| Now | Complete — both modes shipped (PRs #834, #838). |
| Waiting on | Nothing. |
| Next | Done. |
| Last touched | 2026-05-25 |
Acceptance
- New-story mode:
goto --slug --title --description [--tags] [--task]fetchesmain, branches, and scaffolds a linked story + task. - Existing-story mode:
goto --story <id-or-slug> --task-slug --taskbranches and adds a task to the resolved existing story. - The task's
#+branch:is set to the new branch (sofleetpicks it up immediately). - It does not silently mutate the sprint table; instead it prints a
checklist of the remaining manual steps (wire story into
* Stories, set states, push/PR). - Reuses
add/ codegen rather than re-implementing generation.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Task: Implement the goto command | DONE | 2026-05-25 | 2026-05-25 | Add a compass goto command: fetch main, create a feature branch, scaffold a linked story+task, print next steps. |
| Task: goto: add a task to an existing story | DONE | 2026-05-25 | 2026-05-25 | Extend compass goto with an existing-story mode (–story) that branches and adds a task to an existing story instead of creating a new one. |
Decisions
- Named
goto(notgo). - Two modes (new story / existing story), mutually exclusive;
--storyresolves by:ID:or folder slug. - Pairs with Fleet:
gotocreates a worktree's work;fleetshows it. Builds on the Scaffold pillar (add).
Out of scope
- Choosing/serialising the branch name beyond a simple slug-derived default (user can override).
- Editing the sprint
* Storiestable automatically (printed as a manual step, matchingadd's "wire it in" reminder).