CLI-Anything: dar a un agente acceso a software real
Código de CLI-Anything: HARNESS y preview_bundle.py
Leer el contrato al que aspiran las CLI generadas.
Qué aprenderás
- La metodología fija requisitos
- Los bundles tienen identidad
- Leer los fallos
Antes de empezar
- Paquetes de Python
- Una aplicación gráfica con backend real y licencia clara
Completar una prueba estrecha antes de publicar un comando comunitario.
Conclusiones clave
- La especificación es objetivo, no certificado.
- La caché requiere todas las entradas relevantes.
- Cada paquete del registro se revisa aparte.
La metodología fija requisitos
HARNESS.md define análisis, diseño, implementación, plan y ejecución de pruebas, documentación y publicación. Requiere pruebas de extremo a extremo con backend real y un comando instalado invocado como subproceso.
El archivo de comando exige leer HARNESS.md primero. Saltarlo puede dejar una CLI convincente a simple vista sin pruebas o metadatos esenciales.
Los bundles tienen identidad
preview_bundle.py define versión de protocolo, hashes de entradas, búsqueda de manifiestos en caché e identificadores. Registra archivos y resúmenes para que un visor encuentre los resultados.
Un acierto de caché sirve solo si la clave incluye entradas y ajustes que cambian el preview. Revisa esos campos antes de reutilizar resultados entre versiones.
Leer los fallos
Busca escape de rutas, escrituras simultáneas, ejecutable ausente y errores que devuelven éxito. La guía contempla bloqueo de sesión y prohíbe omitir en silencio pruebas de backend real.
Revisamos el helper y el contrato, no todos los harness publicados en el registro. Cada paquete necesita evaluación propia.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Leer requisitos por fase en HARNESS.md.
- 2
Seguir prepare_bundle hasta finalize_bundle.
- 3
Probar backend ausente y guardado concurrente.
Ejemplo para copiar
prepare_bundle(...)
# generate a real artifact with the native backend
finalize_bundle(...)Preguntas frecuentes
¿Un archivo de tests prueba que se ejecutó el GUI?
No. Examina el subproceso y el archivo nativo.
¿La caché puede ocultar cambios?
Sí, si omite entradas que afectan el resultado.
Fuentes
- CLI-Anything / cli-anything-plugin/HARNESS.mdFuente verificada 2026-09-26
- CLI-Anything / cli-anything-plugin/commands/cli-anything.mdFuente verificada 2026-09-26
- CLI-Anything / cli-anything-plugin/preview_bundle.pyFuente verificada 2026-09-26