CLI-Anything sumó 574 estrellas en un día y el 18 de octubre de 2026 era el tercer repositorio de Python en GitHub Trending, con más de 54.000 en total. La idea que vende es sencilla: en lugar de enseñar a un agente a hacer clic en una interfaz gráfica, le das a cualquier programa una línea de comandos pensada para él.
Qué es y cómo funciona
CLI-Anything, del laboratorio HKUDS, es un plugin para Claude Code (y para otros agentes como Codex, Cursor u OpenCode) que genera una CLI en Python para una aplicación a partir de su código fuente. Le pasas un directorio o una URL de GitHub y el agente recorre un pipeline de siete fases: analiza el código y mapea las acciones de la GUI a sus APIs internas, diseña los grupos de comandos y el modelo de estado, implementa la CLI con Click, planifica y escribe los tests, documenta los resultados y la empaqueta para instalarla en el PATH.
Cada CLI generada tiene el mismo esqueleto: subcomandos para scripts, un REPL con estado cuando se ejecuta sin argumentos, deshacer y rehacer, y un flag --json en todos los comandos para que el agente no tenga que parsear tablas. Además, cada una trae su SKILL.md, de modo que un agente compatible con Agent Skills descubre qué comandos tiene sin leer el código.
La decisión de diseño más interesante es que la CLI no reimplementa nada: genera ficheros de proyecto válidos (ODF, MLT XML, SVG) y delega en la aplicación real. LibreOffice genera el PDF y Blender renderiza la escena. Por eso los tests fallan, en lugar de saltarse, si el backend no está instalado. El README publica una tabla con más de 2.400 tests repartidos en una treintena de harnesses, de GIMP y Blender a Zoom, Ollama, LLDB o AdGuard Home.
Alrededor del generador ha crecido CLI-Hub, un registro con su propio gestor de paquetes que instala tanto las CLIs del proyecto como CLIs públicas de terceros desde pip, npm o brew. El proyecto usa licencia Apache 2.0 y requiere Python 3.10 o superior.
Cómo se usa
Para generar una CLI nueva desde Claude Code:
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
/cli-anything ./gimp
/cli-anything:refine ./gimp "batch processing and filters"El último comando analiza qué capacidades del programa no cubre todavía la CLI y añade comandos, tests y documentación; es incremental y se puede repetir. Para usar lo que ya existe, el camino es el registro:
pip install cli-anything-hub
cli-hub search image
cli-hub install gimp
cli-hub launch gimpDos avisos antes de instalar. El paso de publicación deja el código generado instalado con pip install -e ., así que es código escrito por un modelo que se ejecuta con tus permisos: léelo antes. Y el README propone añadir la meta-skill de CLI-Hub con npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y, que la instala de forma global y sin confirmación, y que permite al agente buscar e instalar CLIs del registro por su cuenta. En una máquina con credenciales de producción, eso merece pensarlo dos veces.
Lo que me convence y lo que no
Me convence el enfoque. Una CLI con salida JSON es la interfaz más barata que puede usar un agente: se descubre con --help, se compone en pipelines y deja un rastro legible en el historial. Y la insistencia en usar el software real, con verificaciones de salida como comprobar los bytes mágicos de un PDF en vez de fiarse del código de salida 0, es una buena práctica que vale para cualquier integración.
Lo que no me convence es la madurez. El propio README admite tres límites: necesita modelos de frontera para generar harnesses fiables, depende de tener el código fuente y una sola ejecución rara vez cubre todo, así que hay que refinar varias veces. La actividad también ha bajado: los últimos commits con cambios de código son del 21 de agosto de 2026 y desde entonces solo se ha tocado el README, con 75 issues y 111 pull requests abiertos. Y la mayoría de harnesses son de aplicaciones creativas y de escritorio; para un SRE, lo útil está en la cola larga (n8n, WireMock, LLDB, AdGuard Home) más que en GIMP.
CLI-Anything frente a un servidor MCP
La alternativa obvia para dar herramientas a un agente es el Model Context Protocol: un servidor que expone herramientas y recursos por un protocolo estándar, con SDKs oficiales en diez lenguajes y un registro público de servidores.
| CLI-Anything | Servidor MCP | |
|---|---|---|
| Enfoque | El agente genera una CLI a partir del código fuente | Escribes (o instalas) un servidor que implementa el protocolo |
| Cómo lo usa el agente | Shell: comandos, --help y --json | Llamadas a herramientas por MCP |
| Despliegue | pip install local, sin proceso aparte | Proceso local o remoto que hay que configurar en el cliente |
| Licencia | Apache 2.0 | Servidores de referencia en Apache 2.0 (código antiguo en MIT) |
| Madurez | Generado por un modelo, requiere refinar y revisar | Protocolo estándar; los servidores de referencia son ejemplos, no listos para producción |
Cuándo usar cada uno. CLI-Anything encaja cuando quieres automatizar una aplicación open source que no tiene API ni servidor MCP, sobre todo si tu agente ya trabaja en una terminal: la CLI también te sirve a ti en un script. Un servidor MCP es mejor cuando la herramienta debe estar disponible para varios clientes, vive en otra máquina o necesitas controlar con precisión qué puede hacer el agente. No son excluyentes: el propio registro de CLI-Anything incluye harnesses que hablan con la aplicación a través de un puente MCP.