fast-forward spawn: one keystroke, all defaults, no form #67

Closed
opened 2026-08-23 19:29:24 +01:00 by naps62-yolo · 1 comment
Collaborator

Filling the form is the right default, but the common case is "another session in the project I was just in, same command as last time". Give that a single keystroke in both clients, distinct from the one that opens a draft pane.

The fast path spawns immediately with every default resolved and no form shown:

  • Working directory: the most recent project from GET /api/projects.
  • Command: that project's last_command, falling back to the first non-custom preset.
  • Name: freshly generated.
  • Worktree: on, new branch named after the generated name, since the target is a repository.

If any default cannot be resolved — no projects known yet, for instance — it opens a draft pane pre-filled with what it did resolve rather than failing or guessing.

Both clients bind it near the draft-pane action so the pair is discoverable, and the TUI binding goes in the default keymap in crates/maestro-tui/src/config.rs.

Depends on: #61, #65

Filling the form is the right default, but the common case is "another session in the project I was just in, same command as last time". Give that a single keystroke in both clients, distinct from the one that opens a draft pane. The fast path spawns immediately with every default resolved and no form shown: - Working directory: the most recent project from `GET /api/projects`. - Command: that project's `last_command`, falling back to the first non-custom preset. - Name: freshly generated. - Worktree: on, new branch named after the generated name, since the target is a repository. If any default cannot be resolved — no projects known yet, for instance — it opens a draft pane pre-filled with what it did resolve rather than failing or guessing. Both clients bind it near the draft-pane action so the pair is discoverable, and the TUI binding goes in the default keymap in `crates/maestro-tui/src/config.rs`. Depends on: #61, #65
naps62-yolo added this to the Spawn v2 milestone 2026-08-23 19:29:24 +01:00
naps62-yolo added the area/tuiarea/webtype/featdifficulty/easy labels 2026-08-23 19:29:24 +01:00
Author
Collaborator

Integrated into blitz/spawn-v2.

Default resolution is its own testable unit in both clients — web/src/fastForward.ts and crates/maestro-tui/src/fast_forward.rs — including the unresolvable case that falls back to a pre-filled draft pane. Bound to N in the web client and S in the TUI, next to the draft-pane action.

Verified on the integration branch: just test green through the gate, typecheck clean, 101 web tests.

Integrated into `blitz/spawn-v2`. Default resolution is its own testable unit in both clients — `web/src/fastForward.ts` and `crates/maestro-tui/src/fast_forward.rs` — including the unresolvable case that falls back to a pre-filled draft pane. Bound to `N` in the web client and `S` in the TUI, next to the draft-pane action. Verified on the integration branch: `just test` green through the gate, typecheck clean, 101 web tests.
This repo is archived. You cannot comment on issues.
1 Participants
Due Date
No due date set.
Reference: naps62/maestro#67