- Home
- Skills
- Gentleman Programming
- Gentleman.Dots
- Gentleman Installer
gentleman-installer_skill
- Shell
1.3k
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill gentleman-programming/gentleman.dots --skill gentleman-installer- SKILL.md7.3 KB
Overview
This skill provides installation step patterns and conventions for the Gentleman.Dots TUI installer, focused on adding or modifying installation steps in installer.go. It documents the canonical InstallStep structure, registration and execution flows, interactive step handling, OS-specific execution, logging, and error wrapping for consistent, testable install steps.
How this skill works
The skill inspects the installer model and execution files to ensure new steps follow the InstallStep structure and are registered in SetupInstallSteps. It guides implementers to add a case in executeStep and create a dedicated step function in installer.go that handles OS variants, logs progress via SendLog, and returns wrapped StepError on failure. Interactive steps are flagged and executed with full terminal control when required.
When to use it
- Adding a new tool installation step to the TUI installer
- Modifying existing installation logic or step flow
- Implementing backup/restore or config patching during install
- Adding non-interactive CLI support for automated runs
- Adding support for a new OS or platform like Termux
Best practices
- Always define steps in model.SetupInstallSteps with StatusPending and correct Interactive flag
- Put step logic in installer.go and add a switch case in executeStep
- Handle all relevant OS variants (Mac, Arch, Debian, Termux) with system helpers
- Stream progress with SendLog for each notable action and use log helper functions
- Return wrapStepError for failures to preserve step context and user-friendly messages
Example use cases
- Add a conditional InstallStep when a user opts into an optional tool
- Create an interactive step that runs sudo commands and requires terminal control
- Implement OS-specific package manager calls using system.RunBrewWithLogs or RunSudoWithLogs
- Patch user config files after installing a shell or window manager
- Skip steps when the target command already exists to make runs idempotent
FAQ
Register it in SetupInstallSteps() inside the model, appending an InstallStep with ID, Name, Description, and Interactive flag as needed.
How do I run steps that require a password or full terminal?
Mark the step Interactive: true and ensure runNextStep routes to runInteractiveStep which uses tea.ExecProcess and system.RunSudoWithLogs for terminal control.