What problem does it solve?
It solves the problem of building, maintaining, and safely evolving a multi-platform TUI installer workflow where installation steps must be conditionally registered, executed, logged, and optionally run interactively.
Core Features & Use Cases
- Installation step patterns: Standardized
InstallStep structure (ID, name/description, status/progress, interactive mode).
- Deterministic step orchestration: Steps are registered in
SetupInstallSteps() and routed to concrete execution logic via an executeStep switch.
- Interactive/non-interactive support with OS branching: Interactive steps (sudo/password) are marked and run through a dedicated interactive execution path, while installation logic adapts across platforms (e.g., Termux, Arch/Linux, macOS).
- Actionable progress logging & error wrapping: Consistent
SendLog updates per step and wrapStepError for failure reporting.
Quick Start
Use the gentleman-installer skill when updating the installer.go installation flow by adding or modifying a step in SetupInstallSteps() and implementing its logic in the executeStep handler.