Tool Installation Methods Supported by reverse-skill: Platform Support and Package Managers
The reverse-skill framework provides a catalog of installation hints covering apt, apk, Homebrew, Go modules, npm, and pipx across Linux, macOS, and Windows, implemented in the skills/scripts/refresh-tool-index.sh script.
Understanding the tool installation methods supported by reverse-skill is essential for automating security tool deployment across heterogeneous environments. Rather than bundling binaries directly, the repository maintains a dynamic hint system that maps specific tools to their appropriate package managers and installation commands. This architecture allows reverse-skill to recommend platform-specific installation strategies without executing privileged operations on the host system.
Overview of the Installation Hint System
The reverse-skill repository implements a detect-only hint generation system that identifies how tools could be installed rather than performing the installations directly. According to the source code in skills/scripts/refresh-tool-index.sh, the install_hint function (lines 56-84) generates platform-specific strings indicating the correct package manager or installation procedure for each supported tool.
This approach separates detection logic from execution, ensuring the framework remains non-intrusive while providing actionable guidance through the skills/tool-index.md.template file populated at runtime.
Supported Installation Methods by Platform
The installation hints cover three primary operating systems and multiple distribution channels.
Linux Package Managers
On Linux systems, reverse-skill recognizes several distribution-specific and language-agnostic installation methods:
- apt (Debian/Ubuntu): System packages such as
sudo apt install openjdk-17-jdk - apk (Alpine): Lightweight installations like
sudo apk add binwalk - Go toolchain: Language-specific binaries via
go install github.com/google/osv-scanner/cmd/osv-scanner@latest - Node.js/npm: Global packages using
npm install -g @cyclonedx/cdxgen - Python/pipx: Isolated tool installations such as
pipx install frida-tools - Git-based builds: Direct cloning with build steps like
git clonefollowed bypnpm install && pnpm dev - Manual installers: Java ARchives (JAR) and standalone binaries requiring manual execution
macOS and Homebrew
macOS support leverages Homebrew as the primary system package manager while maintaining parity with Linux language toolchains:
- Homebrew formulae: Command-line tools via
brew install openjdk - Homebrew Cask: GUI applications using
brew install --cask burp-suite - Go, Node, and Python: Identical
go install,npm install -g, andpipxcommands as Linux - Corepack workflows: Repository cloning with
corepack enableandpnpm install
Windows PowerShell Support
For Windows environments, reverse-skill provides PowerShell-compatible hints through the skills/scripts/refresh-tool-index.ps1 counterpart:
- Language-specific binaries:
go install,npm install -g, andpipxcommands function identically across platforms - Git-based installation: Cloning repositories followed by Windows-appropriate build steps
- Manual vendor installers: Licensed software requiring vendor-specific installation procedures
Core Implementation Details
The installation logic resides primarily in skills/scripts/refresh-tool-index.sh. The install_hint function evaluates the target platform and tool identifier, returning a formatted string combining the package manager name and installation command.
Installation feasibility is determined by the can_auto_install flag logic (lines 300-340), which assesses whether a given tool supports unattended installation or requires manual intervention. This flag distinguishes between fully automated package manager installations and those requiring user interaction, such as commercial tools with license agreements.
Querying Installation Hints
You can programmatically retrieve installation hints using both Bash and PowerShell environments.
Retrieve a hint for Frida on Linux using Bash:
source ./skills/scripts/refresh-tool-index.sh
install_hint "linux:frida"
# Output: pipx: pipx install frida-tools
Query the installation method for Nuclei on macOS:
source ./skills/scripts/refresh-tool-index.sh
install_hint "macos:nuclei"
# Output: brew install nuclei
For Windows environments, use the PowerShell equivalent:
# Example: Query the installation hint for a tool on Windows
$hint = (Invoke-Expression "./skills/scripts/refresh-tool-index.ps1") | Where-Object { $_ -match '^windows:nmap' }
Write-Host $hint
Summary
- reverse-skill supports detection-only hints rather than direct tool installation, implemented in
skills/scripts/refresh-tool-index.sh. - The framework covers Linux (apt, apk, go install, npm, pipx), macOS (brew, brew cask), and Windows (PowerShell equivalents).
- The
install_hintfunction generates platform-specific strings at lines 56-84 of the main script. - The
can_auto_installflag (lines 300-340) distinguishes between automated and manual installation requirements. - Windows support is provided through the mirrored
skills/scripts/refresh-tool-index.ps1implementation.
Frequently Asked Questions
Does reverse-skill automatically install tools on my system?
No. According to the source code in skills/scripts/refresh-tool-index.sh, the framework operates as a detect-only system. The install_hint function generates recommendations describing how a tool could be installed, but the script never executes privileged installation commands or modifies the host system directly.
What platforms does reverse-skill support for tool installation hints?
The repository supports Linux (Debian/Ubuntu via apt, Alpine via apk), macOS (via Homebrew and Homebrew Cask), and Windows (via PowerShell scripts). Each platform shares common language-specific installation methods—such as go install, npm install -g, and pipx—while using platform-specific system package managers for native binaries.
Where are the installation hint definitions located in the source code?
Installation hints are defined in the install_hint function within skills/scripts/refresh-tool-index.sh (lines 56-84), with a PowerShell mirror in skills/scripts/refresh-tool-index.ps1. The runtime template skills/tool-index.md.template consumes these hints to generate user-facing documentation, while the can_auto_install evaluation logic appears at lines 300-340 of the main shell script.
Can I add custom installation methods to reverse-skill?
Yes. You can extend the install_hint function in skills/scripts/refresh-tool-index.sh to recognize additional package managers or proprietary installation procedures. For Windows-specific customizations, modify the corresponding logic in skills/scripts/refresh-tool-index.ps1 to ensure cross-platform consistency in hint generation.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →