Added — TUI as the default entry + full control center
nightshift ui is now the front door and a complete control center — you no
longer need an already-running run to open it, and every CLI subcommand is
reachable from inside the TUI.
- Bare
nightshiftlaunches the TUI in a terminal (the default experience).
Piped / non-interactive invocations andnightshift helpstill print help, so
scripting is unchanged. All subcommands behave exactly as before. - Home / launcher state when no run is live: project status, last-run
summary, the detected todo/plan files (with task counts), and actions —
Start · Init · Review · Resume · command palette · Quit. - Command palette (
:) runs every subcommand from inside the TUI
(start · stop · status · review · resume · init · bulletproof · version).
Output-producing commands render in a scrollable modal;startlaunches the
run detached and the view flips to live automatically. - Thin orchestration, no reimplementation. The TUI spawns the real
bin/nightshiftsubcommands (passed in viaNIGHTSHIFT_BIN); the bash
runners and their logic are untouched. - The live monitor/steer view (tasks, log, pause/resume/skip/stop/message) is
unchanged; the UI now switches home↔live automatically as runs start and end. - Bash fallback stays monitor-only; the launcher is the Node UI (Node 22+).