Goal
Make the CLI feel like the tracebloc/client one-line installer: a guided, prompted flow for dataset push (instead of requiring every flag), installer-grade colored step/feedback after each command, and a rich post-ingestion summary. Plus a follow-on to delete pushed data.
Decisions locked
- Styling:
fatih/color — the installer's ANSI palette (not lipgloss).
- Prompts:
AlecAivazis/survey/v2 — classic line prompts (not bubbletea/huh).
- Line-oriented colored output matching the installer — not a full-screen TUI.
Phases
Sequencing
1 → 2 (UX foundation, then the summary built on it) → 3 (interactive, depends on 1–2) → 4 (polish) → 5 (delete; detailed design after the first batch lands).
References
- Borrowed UX:
tracebloc/client/scripts/lib/common.sh (step/success/warn/info/hint/print_banner) + summary.sh (print_summary).
- Existing CLI primitives to build on:
internal/push/progress.go (TTY gating + the Progress interface pattern), internal/submit/summary.go (the Summary parser + RenderPanel).
🤖 Generated with Claude Code
Goal
Make the CLI feel like the
tracebloc/clientone-line installer: a guided, prompted flow fordataset push(instead of requiring every flag), installer-grade colored step/feedback after each command, and a rich post-ingestion summary. Plus a follow-on to delete pushed data.Decisions locked
fatih/color— the installer's ANSI palette (not lipgloss).AlecAivazis/survey/v2— classic line prompts (not bubbletea/huh).Phases
internal/ui)dataset push--output json(stretch)dataset rm) — needs design, after batch 1Sequencing
1 → 2 (UX foundation, then the summary built on it) → 3 (interactive, depends on 1–2) → 4 (polish) → 5 (delete; detailed design after the first batch lands).
References
tracebloc/client/scripts/lib/common.sh(step/success/warn/info/hint/print_banner) +summary.sh(print_summary).internal/push/progress.go(TTY gating + theProgressinterface pattern),internal/submit/summary.go(theSummaryparser +RenderPanel).🤖 Generated with Claude Code