Todos los gestores de paquetes de tu máquina, un solo comando.
repoke encuentra Homebrew, npm, pnpm, pip, cargo, apt, winget y el resto de lo que tienes instalado, te dice qué está desactualizado y actualiza lo que elijas. En una terminal pregunta antes. En scripts, tareas programadas y agentes de IA funciona sin preguntar y responde en JSON.
Encuentra lo que usas
repoke busca todos los gestores que conoce y salta los que no están. Esto es repoke list en el Mac donde se escribe repoke:
brew Homebrew 7.0.11-24-g2833c25
mas Mac App Store not found
npm npm (global) 12.2.1
pnpm pnpm (global) 12.15.0
fnm fnm (Node.js) 1.39.0
nvm nvm (Node.js) not found
pip pip (user) 26.2.2
uv uv (tools) 0.13.6
cargo cargo (installed crates) 1.99.1
rustup rustup (toolchains) 1.29.2
gem RubyGems not found
composer Composer (global) 2.10.2
mise mise (tools) not found
omz oh-my-zsh 17a2b4c
vscode VS Code extensions 1.143.1
Sistema
Homebrew, Mac App Store, APT, DNF, pacman, zypper, Snap, Flatpak, WinGet, Scoop, Chocolatey
Lenguajes y herramientas
Paquetes globales de npm y pnpm, Node con fnm o nvm, pip, uv, cargo, rustup, RubyGems, Composer, mise
Las dos últimas líneas de arriba son plugins, que es como entra todo lo demás.
Primero consulta, luego actualiza lo que elijas
repoke check # qué está desactualizado; no cambia nada
repoke upgrade # elige de una lista, con todo marcado
repoke upgrade --dry-run # los comandos que lanzaría
repoke upgrade --hold eslint # deja un paquete como está
Cada paquete tiene su línea con el resultado y lo que tardó, y un fallo enseña el comando con el final de su salida. Los gestores se consultan a la vez y se actualizan uno detrás de otro. npm instala la versión exacta que ha listado, así que una release más nueva no puede romper el Node que tienes. Las versiones de Node de fnm o nvm suben a la última de su misma versión mayor y se llevan tus paquetes globales.
Una máquina nueva, y actualizaciones mientras duermes
repoke export # lo que instalaste, y tu configuración si quieres
repoke init --from foto # en la máquina nueva, solo lo que falta
repoke init # o elige herramientas de un catálogo
Los valores que parecen secretos, como los tokens de registro de .npmrc, se quitan antes de guardar la foto, y al restaurar nunca se sustituye un fichero tuyo sin preguntar antes y guardar una copia.
repoke schedule install # cada día a las 03:00, actualiza lo que no pide sudo
repoke schedule install --check-only # o solo consulta, y avisa
repoke schedule status # cuándo se ejecuta, y cómo fue la última vez
repoke schedule run # ejecutar la tarea ahora
repoke schedule remove
La programación usa el planificador del propio sistema: launchd en macOS, un temporizador de systemd en Linux y el Programador de tareas en Windows. Si la máquina estaba dormida a esa hora, la tarea se ejecuta al despertar. Cada ejecución guarda su salida y un historial, y recibes una notificación del sistema cuando se actualizó algo, algo falló o hay algo pendiente.
Para scripts, agentes y plugins
repoke check --json # sale con 100 si hay algo desactualizado
repoke upgrade --yes --no-sudo --json # un evento JSON por línea
repoke mcp # servidor MCP por stdio
Sin terminal, repoke nunca se queda esperando una respuesta: un gestor que pide contraseña se salta o falla en el momento. repoke mcp da a los agentes de IA cuatro herramientas: list_managers, check_updates, upgrade y schedule_status. upgrade solo previsualiza hasta que se le indica lo contrario, y nunca usa sudo. En Claude Code:
/plugin install repoke --marketplace paveldelpozo/repoke
Codex y otros clientes MCP ejecutan repoke mcp como servidor por stdio; la referencia tiene la configuración.
repoke plugin search # plugins oficiales: oh-my-zsh, extensiones de VS Code…
repoke plugin install vscode # enseña su código y pregunta antes de instalar
repoke plugin new mi-herramienta # empieza el tuyo desde una plantilla
Cualquier otro gestor se puede añadir con un fichero TOML o un ejecutable pequeño. La guía de plugins explica las dos formas.
Todos los comandos
list | Los gestores que repoke admite aquí, instalados o no |
check | Lo que está desactualizado, sin cambiar nada |
upgrade | Actualiza lo que elijas, o todo con --yes |
export | Guarda lo instalado, y tu configuración, para restaurarlo en otra máquina |
init | Prepara una máquina a partir de una foto o de un catálogo |
schedule | install, status, run y remove de una ejecución periódica |
self-update | Actualiza el propio repoke |
mcp | Ofrece las herramientas de repoke a los agentes de IA |
plugin | list, new, search, install y remove de plugins |
La referencia de comandos tiene todas las opciones, el fichero de configuración, la salida JSON y los códigos de salida.