gentleman-installer_skill

This skill helps you configure and expand installation steps in Gentleman.Dots TUI installer, ensuring OS-aware tooling, logging, and non-interactive support.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
gentleman-installer skill by gentleman-programming/gentleman.dots | VeilStrat