Introduce tui.Version (defaults to "dev"), stamped at build time via a
VERSION_LDFLAG in the Makefile (-X .../internal/tui.Version=$(VERSION))
across all build targets. main.go handles "--version"/"-v" before
launching the TUI, and the version is shown next to the title in the
header. Docs updated (README + CLAUDE).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Implements three UX improvements (TODO #1–#3):
- Back navigation: Esc returns to the previous input step. The Model keeps
a history stack of input steps (advance/goBack helpers); action/wait
steps are excluded via isInputStep so back never re-enters a
side-effecting step. Form values are preserved.
- Review step (StepReview): shows all collected config for confirmation
before any file is written; Enter installs, Esc edits.
- Retry vs. fix: transient failures (image pull, container run) offer
"r: tentar novamente" instead of quitting; validation failures route
back to the relevant form to correct the value.
Adds nav_test.go for the history/navigation logic and updates
README/CLAUDE/docs (incl. docs/TODO.md tracking the remaining ideas).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Cover the deploy-critical pure logic:
- GenerateConfigTOML: round-trip decode of values + a guard asserting the
config port is always containerAppPort (host port must not leak)
- GenerateWireguardConfig: MTU emitted/commented, PROTO default UDP
- WriteConfigFile / WriteWireguardConfigFile: numeric validation rejects
bad input and does not write a file
- FormStep.Values(): text/password/select resolution and select default
fallback
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add README.md, docs/ (fluxo, configuracao, arquitetura) in PT-BR and a
CLAUDE.md technical reference in English describing the installer flow,
generated files, containers and architecture.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>