CLI Tools Skill
Manage CLI tool installation, environment auditing, and updates.
Capabilities Reactive: Auto-install missing tools on "command not found" Proactive: Audit project dependencies and tool versions Maintenance: Batch update all managed tools Triggers
Reactive (auto-install):
bash:
Proactive (audit): "check environment", "what's missing", "update tools"
Binary to Tool Mapping
Common binary names that differ from package names:
Binary Package (Homebrew) Package (apt) rg ripgrep ripgrep fd fd fd-find bat bat bat delta git-delta N/A exa / eza eza eza fzf fzf fzf ag the_silver_searcher silversearcher-ag http httpie httpie jq jq jq yq yq N/A gh gh gh glab glab N/A Installation Commands macOS (Homebrew)
Install single tool
brew install
Install multiple tools
brew install ripgrep fd bat eza fzf jq gh
Update all tools
brew update && brew upgrade
Linux (apt)
Install single tool
sudo apt install
Install multiple tools
sudo apt install ripgrep fd-find bat fzf jq
Update all tools
sudo apt update && sudo apt upgrade
PHP Tools (Composer)
Global PHP tools
composer global require phpstan/phpstan composer global require friendsofphp/php-cs-fixer composer global require rector/rector
Project-specific
composer require --dev phpstan/phpstan composer require --dev friendsofphp/php-cs-fixer
Node.js Tools (npm)
Global Node tools
npm install -g prettier eslint typescript
Project-specific
npm install --save-dev prettier eslint typescript
Project Type Detection PHP Project
Indicators: composer.json, vendor/, *.php
Required tools:
php - PHP interpreter composer - Dependency manager phpstan - Static analysis php-cs-fixer - Code style TYPO3 Project
Indicators: composer.json with typo3/cms-core, public/typo3/
Required tools:
All PHP tools ddev - Local development typo3 - TYPO3 CLI Node.js Project
Indicators: package.json, node_modules/
Required tools:
node - Node.js runtime npm / pnpm / yarn - Package manager Go Project
Indicators: go.mod, *.go
Required tools:
go - Go compiler golangci-lint - Linter Environment Audit
Check if required tools are installed:
Check single tool
command -v
Check version
PHP project audit
php --version composer --version command -v phpstan &> /dev/null || echo "Missing: phpstan" command -v php-cs-fixer &> /dev/null || echo "Missing: php-cs-fixer"
TYPO3 project audit
php --version composer --version ddev --version
Tool Catalog Core CLI Tools curl - HTTP client wget - File downloader jq - JSON processor yq - YAML processor tree - Directory visualizer htop - Process viewer tmux - Terminal multiplexer Development Tools git - Version control gh - GitHub CLI glab - GitLab CLI docker - Containerization ddev - Local development Search & Navigation ripgrep (rg) - Fast grep fd - Fast find fzf - Fuzzy finder bat - Cat with syntax highlighting eza - Modern ls replacement delta - Git diff viewer PHP Tools php - PHP interpreter composer - Dependency manager phpstan - Static analysis rector - Automated refactoring php-cs-fixer - Code style fixer phpunit - Testing framework infection - Mutation testing Node.js Tools node - JavaScript runtime npm / pnpm - Package managers prettier - Code formatter eslint - JavaScript linter typescript - TypeScript compiler Security Tools trivy - Vulnerability scanner grype - Container scanner cosign - Container signing Auto-Install Workflow
When a command fails with "command not found":
Extract tool name from error message Lookup package name in binary-to-tool mapping Detect OS (macOS/Linux) Install using appropriate package manager Retry original command
Example:
Error: zsh: command not found: rg
Resolution:
brew install ripgrep # macOS
or
sudo apt install ripgrep # Linux
Retry
rg "pattern" .
Batch Update
Update all managed tools:
macOS
brew update && brew upgrade
Linux
sudo apt update && sudo apt upgrade
PHP global tools
composer global update
Node global tools
npm update -g
Credits & Attribution
This skill is based on the excellent work by Netresearch DTT GmbH.
Original repository: https://github.com/netresearch/cli-tools-skill
Copyright (c) Netresearch DTT GmbH - Methodology and best practices Adapted by webconsulting.at for this skill collection