TUIs
Treat TUIs as command-line programs with a full-screen interaction model. Read cli.md first for command ergonomics, config, versioning, stdout/stderr, and non-interactive behaviour.
Posture
- Use a mature TUI framework when the interface has state, layout, focus, keymaps, or async work.
- Keep the CLI surface consistent with the rest of the project: flags for startup/config, command context for cancellation, and explicit output modes for non-interactive use.
- Do not copy another tool's task-runner examples blindly; translate useful commands into the project's chosen task runner.
- Add snapshot/golden update tasks only when the project actually has snapshot or golden tests.
- Treat terminal compatibility and performance as product concerns, not polish to add at the end.
Go path
For Go TUIs, read golang/index.md first and follow its TUI
chain. That route intentionally loads Go baseline, CLI, mise, testing, and Charm
context before golang/tui.md.