CLI independiente en Go que ejecuta Claude Code o codex de forma autónoma a partir de un plan de implementación en Markdown, con sesiones nuevas por tarea y revisión de código en varias fases.
thruwire/foreman
Un supervisor en Python que monitoriza agentes de programación como Codex y OpenCode con modelos de decisión para evaluar si completaron el trabajo, si las pruebas son suficientes y si hay agentes bloqueados.
- Estrellas
- 814
- Forks
- 69
- Issues abiertos
- 10
- Último commit
- hace 23 días
¿Qué es?
Foreman supervisa agentes de programación con IA. Se le proporciona un ticket, una especificación o un informe de errores, y ejecuta un agente de trabajo como Codex, OpenCode, Hermes o Deep Agents CLI de LangChain. Mientras el agente trabaja, Foreman envía periódicamente evidencias acotadas (el texto de la tarea, el estado y el diff de Git, fragmentos finales de la salida, resultados de las pruebas e instrucciones AGENTS.md del repositorio) a un modelo de decisión. El modelo devuelve probabilidades para comprobaciones como la integridad de la implementación, el cumplimiento de los requisitos, la necesidad de verificar y si el agente está bloqueado o se desvía del objetivo.
Una política determinista de Python convierte esas puntuaciones en acciones: continuar, redirigir al agente durante un turno (solo con Codex App Server), detenerlo, reintentarlo, iniciar un verificador, finalizar o escalar el caso a una persona. Las responsabilidades se definen en archivos TOML con umbrales configurables, y se pueden añadir comprobaciones personalizadas. Los modelos de decisión pueden ser de Jev de TypeSafe (opción predeterminada) o de la API Decisions de OpenAI.
Foreman también permite añadir supervisión a sesiones interactivas mediante hooks para Codex, Deep Agents y Pi. Hay una demostración determinista que se ejecuta sin claves de API, y el estado de las ejecuciones se guarda localmente en el directorio .foreman de cada repositorio.
Funciones clave
- 01Ejecuta Codex, OpenCode, Hermes o Deep Agents como agentes de programación.
- 02Evalúa de forma independiente del agente si el trabajo está completo, si cumple los requisitos, si las pruebas son suficientes y cuál es el estado del agente.
- 03Puede redirigir un turno activo de Codex o detener y reintentar un agente bloqueado.
- 04Admite adaptadores para los modelos de decisión Jev y OpenAI.
- 05Permite configurar responsabilidades, umbrales y comandos externos para recopilar evidencias en TOML.
Casos de uso
- Evitar que un agente de programación sin supervisión entre en bucles o se desvíe del ticket.
- Añadir una comprobación independiente de la finalización y la cobertura de pruebas antes de aceptar el resultado del agente.
- Supervisar una sesión interactiva de Codex o Pi iniciada por un desarrollador.
- Experimentar con la supervisión semántica de agentes de programación mediante comprobaciones personalizadas.
Inicio rápido
- 1
Configura la variable de entorno TYPESAFE_API_KEY para el modelo de decisión Jev predeterminado
- 2
Ejecuta Foreman con el backend de workers de OpenCode en un proyecto que tenga una descripción del trabajo
FOREMAN_WORKER_BACKEND=opencode foreman run --repo ./my-project --job "Add request retries"
Antes de usarlo
- Foreman solo ejecuta un worker de programación a la vez.
- La dirección en tiempo real de un turno activo solo funciona con el backend Codex App Server; los demás backends recurren a detener y reintentar.
- La configuración del modelo de decisión predeterminado requiere una TYPESAFE_API_KEY.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es foreman?
- Un supervisor en Python que monitoriza agentes de programación como Codex y OpenCode con modelos de decisión para evaluar si completaron el trabajo, si las pruebas son suficientes y si hay agentes bloqueados. Foreman supervisa agentes de programación con IA. Se le proporciona un ticket, una especificación o un informe de errores, y ejecuta un agente de trabajo como Codex, OpenCode, Hermes o Deep Agents CLI de LangChain. Mientras el agente trabaja, Foreman envía periódicamente evidencias acotadas (el texto de la tarea, el estado y el diff de Git, fragmentos finales de la salida, resultados de las pruebas e instrucciones AGENTS.md del repositorio) a un modelo de decisión. El modelo devuelve probabilidades para comprobaciones como la integridad de la implementación, el cumplimiento de los requisitos, la necesidad de verificar y si el agente está bloqueado o se desvía del objetivo.
- ¿foreman es gratuito? ¿Qué licencia tiene?
- foreman es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿foreman sigue mantenido?
- Mantenimiento activo. El último commit de foreman fue el 15 oct 2026.
- ¿Para qué puedo usar foreman?
- Evitar que un agente de programación sin supervisión entre en bucles o se desvíe del ticket. Añadir una comprobación independiente de la finalización y la cobertura de pruebas antes de aceptar el resultado del agente. Supervisar una sesión interactiva de Codex o Pi iniciada por un desarrollador. Experimentar con la supervisión semántica de agentes de programación mediante comprobaciones personalizadas.
- ¿Cómo se instala foreman?
- Configura la variable de entorno TYPESAFE_API_KEY para el modelo de decisión Jev predeterminado Ejecuta Foreman con el backend de workers de OpenCode en un proyecto que tenga una descripción del trabajo: FOREMAN_WORKER_BACKEND=opencode foreman run --repo ./my-project --job "Add request retries"
- ¿Dónde consigo foreman?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/thruwire/foreman
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Consola web local y CLI para inyectar o reemplazar un prompt de sistema compartido (persona) en varios agentes de programación, como Claude Code, Codex y OpenCode.
Una CLI de Python que integra agentes de programación como Codex y Claude Code con un supervisor, revisor, adversario y resumidor local de logs opcionales, cada uno con su propio modelo.
Una CLI que encuentra código relevante a partir de preguntas en lenguaje natural y devuelve archivos, pistas y fragmentos de código fuente para agentes de programación.
Conjunto de skills para que un agente de IA delegue tareas de programación en CLI instaladas y luego revise el diff y haga el commit.
Un bloque de reglas para pegar que evita que agentes de programación como Claude Code y Codex se excedan con las defensas, construyan de más y añadan comprobaciones innecesarias.