| name | cli-tools |
| description | CLI tool management and auto-installation. Use when commands fail with 'command not found', installing tools, or checking project environments. |
| metadata | {"version":"1.0.0"} |
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: <tool>: command not found
zsh: command not found: <tool>
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)
brew install <package>
brew install ripgrep fd bat eza fzf jq gh
brew update && brew upgrade
Linux (apt)
sudo apt install <package>
sudo apt install ripgrep fd-find bat fzf jq
sudo apt update && sudo apt upgrade
PHP Tools (Composer)
composer global require phpstan/phpstan
composer global require friendsofphp/php-cs-fixer
composer global require rector/rector
composer require --dev phpstan/phpstan
composer require --dev friendsofphp/php-cs-fixer
Node.js Tools (npm)
npm install -g prettier eslint typescript
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:
command -v <tool> &> /dev/null && echo "Found" || echo "Missing"
<tool> --version
php --version
composer --version
command -v phpstan &> /dev/null || echo "Missing: phpstan"
command -v php-cs-fixer &> /dev/null || echo "Missing: php-cs-fixer"
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:
brew install ripgrep
sudo apt install ripgrep
rg "pattern" .
Batch Update
Update all managed tools:
brew update && brew upgrade
sudo apt update && sudo apt upgrade
composer global update
npm update -g
Credits & Attribution
Thanks to Netresearch DTT GmbH for their contributions to the TYPO3 community.