# Go TUIs

Read [../tui.md](../tui.md), [baseline.md](baseline.md), [mise.md](mise.md),
[cli.md](cli.md), [testing.md](testing.md), and
[preferred-libraries.md](preferred-libraries.md) before applying these Go TUI
specifics.

This file captures Amolith-specific Go TUI setup choices only. Load `golang-tui`
after this file for Bubble Tea, Lip Gloss, Bubbles, Elm Architecture, layout,
keymap, terminal-compatibility, testing, and performance details.

TUIs are still command-line binaries. Keep the Cobra/Fang setup, command
ergonomics, completions, and version-policy guidance from [cli.md](cli.md) in
force.

## Amolith-specific deltas

- Use the Charm v2 stack through `golang-tui` unless the project has already made
  a different good choice.
- Do not copy Taskfile examples from `golang-tui`; translate useful commands into
  `mise.toml` and keep the baseline tasks from [mise.md](mise.md).
- Keep the CLI surface consistent with [cli.md](cli.md): stdlib for tiny tools,
  Cobra/Fang for user-facing commands, and one project-owned version policy when
  exact versions matter.
- Use the regular race-enabled Go test task from [mise.md](mise.md). Add
  snapshot/golden update tasks only when the project actually has snapshot tests.
- Terminal apps should use the same pure-Go static release-build shape as CLIs
  when their dependencies allow it. Drop static-only flags for terminal
  integrations that require CGO or native libraries.

If `golang-tui` and this skill conflict, keep `golang-tui` for library/API
details and keep this skill for Amolith-specific tooling, task-runner,
packaging, CLI, and release-build policy.
