Verifies if a required CLI tool is installed and offers to install it. Use when about to execute a command whose binary might not be installed. Trigger: "¿tienes X instalado?", "instala Y si no está", "check dependencies", "setup environment".
Activar cuando necesites verificar si una herramienta, CLI o runtime está disponible antes de usarla.
También activarlo automáticamente cuando vayas a ejecutar un comando cuyo binario podría no estar instalado.
# Windows (PowerShell)
Get-Command <tool> -ErrorAction SilentlyContinue
# Unix/macOS
which <tool> 2>/dev/null || command -v <tool> 2>/dev/null
Nunca instalar sin confirmación explícita. Presentar:
❓ [tool] no está instalado en tu sistema.
¿Deseas que lo instale ahora?
[S] Sí, instalar automáticamente
[N] No, lo instalaré manualmente
[I] Ver instrucciones de instalación manual
⚠️ Nota: La instalación requiere permisos de administrador / internet.
| Herramienta | Windows | macOS | Linux (Debian/Ubuntu) |
|---|---|---|---|
| Node.js / npm | winget install OpenJS.NodeJS | brew install node | apt install nodejs npm |
| Python | winget install Python.Python.3 | brew install python | apt install python3 pip3 |
| Git | winget install Git.Git | brew install git | apt install git |
| Docker | winget install Docker.DockerDesktop | brew install --cask docker | [Instrucciones Docker] |
| pnpm | npm install -g pnpm | npm install -g pnpm | npm install -g pnpm |
| Bun | npm install -g bun | brew install bun | curl -fsSL https://bun.sh/install | bash |
| uv (Python) | pip install uv | brew install uv | pip install uv |
| ruff | pip install ruff | brew install ruff | pip install ruff |
| jq | winget install jqlang.jq | brew install jq | apt install jq |
<tool> --version
Si la verificación falla: advertir que puede necesitar reiniciar la terminal (PATH no recargado).
sudo / instalaciones globales de sistemaPATH, .bashrc, .zshrc, .profile🔍 Verificando herramientas necesarias...
❌ [tool-name] (v[min-version]+) — No encontrado
✅ [other-tool] v[version] — OK
---
Para continuar necesito instalar: [tool-name]
Comando de instalación para [OS detectado]:
[comando]
¿Procedo con la instalación? [S/N]
pyproject.toml.