Harness open source · Licencia MIT

Unas reglas.
Varios agentes.
Todos tus proyectos.

jdev-ai es un harness ligero y agnóstico del stack: reglas y flujos compartidos para trabajar con agentes de código en varios proyectos independientes, sin copiarlos en cada repositorio ni depender de la CLI de un proveedor.

  • Claude Code
  • Codex
  • Copilot
  • OpenCode

// qué es

Las mismas preguntas, respondidas una sola vez

¿Cuándo delega el agente? ¿Cómo retomas un proyecto tras una semana? ¿Cuándo merece un cambio una spec? ¿Cómo evitan pisarse varias sesiones en paralelo? Las respuestas viven en el harness, no repetidas en cada repositorio.

El harness define cómo trabajan los agentes

Cada repositorio de projects/ define su dominio, su código, sus dependencias y sus validaciones.

No es un monorepo ni un workspace

Cada proyecto conserva su propio .git y sigue funcionando si el harness desaparece.

No impone stack ni arquitectura

Ni gestor de paquetes. El AGENTS.md de cada proyecto prevalece sobre las instrucciones globales.

// funcionalidades

Todo el ciclo, con tu aprobación en cada paso que importa

01

Lanzador multiagente

bin/agent abre un proyecto con Claude Code, Codex, Copilot u OpenCode y te resume dónde lo dejaste. No añade archivos de configuración a tus proyectos.

02

Orquestación y delegación

El agente principal orquesta y delega trabajo acotado en subagentes. La política no depende del proveedor.

03

Economía de contexto y tokens

El orquestador conserva la conversación y las decisiones; modelos más baratos leen e implementan, y devuelven solo conclusiones.

04

Continuidad del proyecto

Un historial local de iteraciones y una memoria opcional por proyecto permiten retomar el trabajo días después.

05

Worktrees por feature

Los cambios grandes se aíslan en un worktree con su rama. Varias sesiones trabajan en un mismo proyecto sin pisarse.

06

OpenSpec opcional

El agente valora si un cambio merece una spec y la propone. No crea ningún artefacto sin tu aprobación explícita.

07

Diseño primero

Ante cambios de interfaz no triviales, propone cerrar antes el diseño, que pasa a ser la referencia de la implementación y del QA.

08

Cierre autónomo

/goal Close hace que el agente trabaje sin preguntar hasta validar, integrar y limpiar. Sigue preguntando antes de acciones destructivas.

09

Backlog, guías e imágenes

El trabajo futuro se registra solo tras tu confirmación, las guías didácticas viven en el proyecto y las imágenes que faltan se proponen antes de generarse.

Cada subagente, un papel acotado

SubagenteModeloPapel
ExploreHaikuBúsqueda y lectura del repositorio, en solo lectura
implementerSonnetEl único que puede escribir; un encargo acotado cada vez
validatorHaikuEjecuta las validaciones del proyecto e informa solo de los fallos y su causa
qaSonnetQA de punta a punta en el navegador con Playwright, antes de cerrar una feature

Roles definidos para Claude Code. Si una herramienta no tiene subagentes compatibles, el agente principal hace los papeles en secuencia.

// panel gráfico

Todas tus sesiones, en una sola ventana

bin/panel sirve un panel web local que reúne las terminales de agente de todos tus proyectos y te dice cuál te está esperando.

Inicio

Lo que necesita tu atención: sesiones que te esperan, conversaciones hechas, pendientes de cada proyecto y tu actividad.

Terminales que sobreviven

Viven en un servidor tmux dedicado: cierras el navegador y siguen ahí. En una, dos o cuatro columnas.

Vista de chat

La misma sesión como conversación: tus mensajes, las respuestas en Markdown y las herramientas agrupadas, con búsqueda.

Backlog

Un tablero por estado con el backlog de cada proyecto y un atajo «Trabajar en esto» que abre una sesión nueva.

Cambios

El diff del checkout principal y de cada worktree, con árbol de archivos y vista en paralelo o unificada.

Historial

Las iteraciones de todos los proyectos por día, con sus pendientes y un atajo «Retomar desde aquí».

Local y privado: se sirve en 127.0.0.1 protegido con token, y se puede instalar como aplicación (PWA).

// flujo habitual

De la petición al merge, sin perder el control

  1. Petición

    Cuentas lo que quieres y el orquestador lee el AGENTS.md del proyecto.

  2. Propuesta

    Si el cambio es grande, propone OpenSpec, worktree o diseño y espera tu aprobación.

  3. Plan y exploración

    Explore busca y lee el repositorio en solo lectura.

  4. Implementación

    implementer ejecuta un encargo acotado cada vez.

  5. Validación

    validator ejecuta las validaciones que define el proyecto.

  6. QA y revisión

    Si hay interfaz, QA con Playwright tras tu OK. Después, revisión final del orquestador.

  7. Publicación

    Commit, push, Pull Request y merge, solo tras tu confirmación.

  8. Historial

    La iteración queda registrada para retomarla otro día.

En ámbar, los pasos que esperan tu visto bueno. La delegación se omite en tareas triviales.

// empezar

Clona, añade un proyecto y lanza un agente

Necesitas una shell POSIX, Git y la CLI del agente que quieras usar. Añade gh para el flujo de Pull Requests de los worktrees.

Las reglas están escritas en castellano y los agentes responden en castellano por defecto, salvo que el proyecto diga otra cosa.

terminal
# 1. Clona el harness y añade un proyecto con su .git
$ git clone https://github.com/Jgonaz/jdev-ai.git
$ cd jdev-ai
$ git clone <url-de-tu-repo> projects/mi-proyecto

# 2. Lanza un agente (Claude Code por defecto)
$ bin/agent mi-proyecto
$ bin/agent mi-proyecto --codex
$ bin/agent mi-proyecto --wt login

# 3. O abre el panel gráfico
$ bin/panel