tui: draft form gains command presets, project list, and generated name #64

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

Bring the TUI draft form up to the web form's fields.

  • Command presets from GET /api/info as a selectable row, with the implicit custom entry revealing a free-text command field. Fall back to maestro_config::builtin_presets when the daemon does not report any.
  • Project list from GET /api/projects as the working-directory picker: name, abbreviated path, last command; recency-sorted with entries older than 7 days dimmed; type to filter; an Other directory… entry for a free-text path.
  • Generated session name from GET /api/names, with a reroll key, submitted as metadata.name. The TUI currently sends metadata: Default::default(), so sessions spawned from it have no name at all.
  • Validation: submitting with no directory or no command reports which field is missing rather than posting an empty request, and a failed POST shows the daemon's error in the form instead of dismissing it.

Depends on: #53, #54, #63

Bring the TUI draft form up to the web form's fields. - **Command presets** from `GET /api/info` as a selectable row, with the implicit `custom` entry revealing a free-text command field. Fall back to `maestro_config::builtin_presets` when the daemon does not report any. - **Project list** from `GET /api/projects` as the working-directory picker: name, abbreviated path, last command; recency-sorted with entries older than 7 days dimmed; type to filter; an `Other directory…` entry for a free-text path. - **Generated session name** from `GET /api/names`, with a reroll key, submitted as `metadata.name`. The TUI currently sends `metadata: Default::default()`, so sessions spawned from it have no name at all. - **Validation**: submitting with no directory or no command reports which field is missing rather than posting an empty request, and a failed `POST` shows the daemon's error in the form instead of dismissing it. Depends on: #53, #54, #63
naps62-yolo added this to the Spawn v2 milestone 2026-08-23 19:29:02 +01:00
naps62-yolo added the area/tuidifficulty/mediumtype/feat labels 2026-08-23 19:29:02 +01:00
naps62-yolo added a new dependency 2026-08-23 19:29:56 +01:00
naps62-yolo added a new dependency 2026-08-23 19:29:56 +01:00
Author
Collaborator

Integrated into blitz/spawn-v2.

Presets, the project picker (crates/maestro-tui/src/projects.rs, mirroring the web sort/group/dim rules), the generated name submitted as metadata.name, and submit validation. TUI sessions previously sent metadata: Default::default() and so had no name at all.

Verified on the integration branch: just test green through the gate.

Integrated into `blitz/spawn-v2`. Presets, the project picker (`crates/maestro-tui/src/projects.rs`, mirroring the web sort/group/dim rules), the generated name submitted as `metadata.name`, and submit validation. TUI sessions previously sent `metadata: Default::default()` and so had no name at all. Verified on the integration branch: `just test` green through the gate.
This repo is archived. You cannot comment on issues.
1 Participants
Due Date
No due date set.
Reference: naps62/maestro#64