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] fetches main, branches, and scaffolds a linked story + task.
  • Existing-story mode: goto --story <id-or-slug> --task-slug --task branches and adds a task to the resolved existing story.
  • The task's #+branch: is set to the new branch (so fleet picks 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 (not go).
  • Two modes (new story / existing story), mutually exclusive; --story resolves by :ID: or folder slug.
  • Pairs with Fleet: goto creates a worktree's work; fleet shows 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 * Stories table automatically (printed as a manual step, matching add's "wire it in" reminder).

Emacs 29.1 (Org mode 9.6.6)