Ten los requisitos
Node.js 20+, Claude Code y —si el repo usa memoria persistente— el binario de engram. En el paso 3, doctor te dice exactamente qué falta.
node --version # v20 o superior # Claude Code instalado en tu equipo
navori no es un scaffolder genérico. Es un harness opinado, pensado para código que ya vive en producción —con dependencias legacy y migraciones a medias, no repos de laboratorio—. Convierte a Claude Code en un equipo con estándares no negociables, memoria que persiste y un mismo estándar en todos tus repos. Aquí está, capa por capa, por qué es la base sobre la que vale la pena construir.
¿Nuevo en términos como harness, skill o SDD? Empieza por el diccionario rápido ↓
Sin jerga. Toca cualquier término para ver qué significa en una frase.
El 'arnés' de trabajo: el conjunto de reglas, agentes y automatizaciones que rodean al asistente de IA para que trabaje como tu equipo espera, no a su antojo.
Un asistente con un rol específico (explorar, escribir, revisar). El agente principal reparte el trabajo entre subagentes especializados.
Una guía reutilizable para una tarea concreta ('cómo crear un endpoint', 'cómo verificar antes de dar algo por hecho'). El agente la carga cuando la necesita.
Una automatización que se dispara en un momento fijo —por ejemplo, correr los tests antes de cada commit— sin que nadie tenga que acordarse.
La barrera de calidad: los comandos (lint, tests) que deben pasar para dar un cambio por terminado.
Spec-Driven Development: en vez de que las reglas vivan en la cabeza de alguien, se escriben y se versionan junto al código, y se actualizan con un comando.
Un paquete de configuración por tipo de stack (Vite + React, NestJS, monorepo…). navori detecta tu stack y elige el preset adecuado.
La memoria persistente: guarda decisiones y aprendizajes para que el asistente los recuerde en la siguiente sesión.
Un fragmento de CLAUDE.md marcado como 'gestionado por navori': se actualiza solo, sin pisar lo que tú escribiste alrededor.
Las carpetas de código viejo que marcas para que los agentes las traten con cuidado y no les impongan reglas nuevas.
El agente principal encarna al orchestrator —el centro de gravedad—. En lugar de hacer todo en un mismo hilo, descompone la tarea y la reparte entre subagentes que trabajan en paralelo y devuelven solo su conclusión. Cada uno tiene un rol estricto y el modelo justo para él.
Toca una tarjeta para ver a qué se dedica cada rol ↓
Lo encarna el agente principal, no un subagente aparte — es el centro de gravedad de la sesión. Lee el ticket, decide en cuántas subtareas se parte, lanza a los trabajadores en paralelo y al final integra sus resultados en una sola solución coherente. Usa el modelo más capaz (opus) porque su trabajo es razonar y decidir, no leer archivos.
publisher
Rápido y barato para tareas mecánicas.
scout · implementer · reviewer · auditor
Equilibrio entre calidad y costo.
orchestrator
El músculo donde el criterio importa.
Todo configurable en config.models. No pagas un modelo caro por leer archivos: el músculo va donde se
decide, la velocidad donde se explora.
orchestrator › descompone el ticket en 3 subtareas
├─ scout → mapa del módulo (contexto propio · sonnet)
├─ scout → ¿cómo se valida hoy? (contexto propio · sonnet)
└─ implementer → aplica el cambio → quality gate ✓ (sonnet)
└─ reviewer → aprueba contra CLAUDE.md (sonnet)
orchestrator › sintetiza y delega el commit → publisher (haiku)
Casi todas las herramientas asumen un repo limpio y greenfield. navori
parte de la realidad de un equipo: código que ya corre en producción,
dependencias legacy y migraciones a medias. Desde el init eliges el terreno, y esa decisión moldea cómo trabajan los agentes.
Eliges el terreno: greenfield (muévete rápido), en producción (cuida regresiones) o migración legacy (cuida la compatibilidad legacy↔nuevo). La decisión moldea cómo trabajan los agentes.
Marcas las carpetas legacy y el orchestrator, el implementer y el reviewer lo saben: ahí aplican reglas distintas y no imponen convenciones nuevas sobre código que no les toca.
Ante una migración estructural (legacy → nuevo backend, monolito → microservicios), el agente diseca causa raíz, áreas afectadas y compatibilidad antes de que nadie escriba código.
verify-before-done, debug-failure y review-diff detectan estados inconsistentes cuando conviven código legacy y nuevo — el error más caro de una migración a medias.
? ¿En qué terreno estás?
greenfield — código nuevo, muévete rápido
› production — en producción, cuida regresiones
migration — migración legacy, cuida
la compatibilidad legacy↔nuevo
→ legacyPaths: [ "src/old-api", "legacy/" ]
el orchestrator, el implementer y el reviewer
tratan esas rutas con otras reglas. La orquestación no es solo velocidad: es economía de contexto. El hilo principal se mantiene limpio porque el trabajo pesado ocurre en ventanas aisladas —cada una con su modelo— que solo devuelven lo esencial.
Cada subagente corre en su propia ventana y devuelve solo la conclusión. El hilo del orchestrator nunca se llena con el volcado de los archivos que leyó.
Cada agente usa el modelo justo: uno ligero para leer y explorar, el potente solo para decidir y revisar. No pagas un modelo caro por leer archivos.
Scout lee los fragmentos relevantes, no archivos completos. Localiza, no fotocopia.
El catálogo de skills se referencia por índice; el contenido pesado se carga solo cuando la tarea lo pide.
El orden canónico ordena y deduplica las reglas en CLAUDE.md. Sin copias pegadas ni ruido que se acumula sesión tras sesión.
sin harness
Un solo hilo lee archivos enteros, acumula todo en el contexto y lo arrastra turno tras turno hasta saturarse.
con navori
Los subagentes exploran en paralelo y devuelven conclusiones. El orchestrator razona sobre resúmenes, no sobre volcados. Engram guarda lo que hay que recordar fuera del contexto.
El contexto de un LLM es efímero: se cierra la sesión y se olvida. Engram es la memoria persistente que navori habilita por default. Las decisiones, los bugs con causa raíz y las convenciones se guardan y se recuperan entre sesiones —y sobreviven a las compactaciones—.
# hoy — tras arreglar un bug
mem_save "El reporte 360 falla si languages[] viene vacío.
Causa raíz: falta el guard en report.py. Fix: default []."
# la próxima semana — sesión nueva, contexto en cero
mem_search "reporte 360 languages"
→ recupera la decisión, la causa raíz y el fix.
No lo re-explicas. Cuando manejas 15 repos, no quieres 15 estándares. El workspace es una capa cross-repo: defines el quality gate, la branch base y las convenciones de tu organización una vez, y cada repo las hereda. El equipo trabaja igual, sin importar en qué proyecto esté.
$ navori workspace init acme
$ navori workspace set-default acme \
--branch-base main --commits conventional-es
$ navori workspace add-repo acme ./web-app
$ navori workspace add-repo acme ./api-core
… 13 repos más
$ navori workspace render acme
✓ 15 repos renderizados con el mismo estándar Un agente con permiso de escritura necesita barreras. navori trae estándares no negociables —simplicidad, tipado estricto— y gates de seguridad y calidad como parte del harness, no como un extra opcional. Y los mantiene versionados junto al resto de la config.
El estándar antes de escribir una línea: ¿es lo más simple? ¿legible en 6 meses? ¿mantiene el patrón existente? Nada de soluciones ingeniosas que nadie entiende después.
unknown + narrowing, tipado explícito. La única excepción es un // any justificado: <razón> — último recurso, no atajo que se vuelve deuda.
Análisis estático de patrones peligrosos, atado al reviewer. Los problemas de seguridad se atrapan en la revisión, no en producción.
Detecta código copy-paste antes de que se multiplique. Menos superficie que mantener, menos lugares donde un bug se esconde.
guard-destructive intercepta comandos peligrosos; quality-gate corre lint + tests antes de cada commit.
Las operaciones sensibles se bloquean o piden confirmación explícita. Defensa en profundidad, no una sola barrera.
Hay muchas formas de darle instrucciones a un asistente de IA. Pocas sobreviven al segundo mes, a un equipo de verdad o a un repo con historia. Esto es lo que navori hace y las alternativas no —o no tan pulido—.
Una fuente de verdad versionada y render idempotente. Copiar carpetas entre repos no escala ni sobrevive a una actualización; navori sí.
Detecta tu stack real —Mantine, Redux, NestJS, monorepo pnpm— y arma el preset. Los estándares no se erosionan porque están versionados y se actualizan con un comando.
La mayoría de las herramientas asumen un repo limpio. navori parte de la realidad: código que ya corre, dependencias legacy y migraciones a medias.
Memoria persistente, gates de seguridad y duplicación, orquestación multi-agente y estándar cross-repo. Todo pulido y conectado, no un README con pasos manuales.
Tú subes la config una vez a cada repo; el equipo solo la sigue. Nadie
arma un harness a mano ni copia .claude/ entre proyectos. Estos son los comandos que corre cada quien al entrar.
Node.js 20+, Claude Code y —si el repo usa memoria persistente— el binario de engram. En el paso 3, doctor te dice exactamente qué falta.
node --version # v20 o superior # Claude Code instalado en tu equipo
El repo ya trae navori.config.json (la fuente de verdad). Un solo comando reconstruye todos los engines configurados de forma idéntica para el equipo. Idempotente: correrlo dos veces no cambia nada.
$ git clone <repo> && cd <repo> $ npx navori render --apply ✓ engines configurados reconstruidos desde la config
doctor confirma que todo está al día y, si te falta una herramienta (por ejemplo engram), te da el comando exacto para instalarla. Sin adivinar.
$ npx navori doctor
◇ Todo al día — sin acciones pendientes.
⇡ engram — falta en PATH:
brew install gentleman-programming/tap/engram \
&& claude plugin install engram Abre Claude Code y listo: mismos agentes, mismas skills, mismo quality gate y la misma memoria de equipo. Cuando alguien actualice la config, corre sync para ponerte al día sin tocar tu código.
# ya productivo con el harness del equipo # cuando cambie la config del repo: $ npx navori@latest sync
En resumen para el equipo: clone → npx navori render --apply → npx navori doctor y a trabajar con el mismo harness que tú.
Todo esto se materializa con un solo comando de adopción. El resto es renderizar cuando cambies algo.
navori no nació en el vacío: integra herramientas excelentes y sintetiza ideas de proyectos y estándares abiertos. El mérito de cada pieza es de quien la construyó.
Anthropic
El runtime de agentes que navori materializa.
Gentleman-Programming
Memoria persistente entre sesiones vía MCP.
Semgrep
Análisis estático de seguridad y patrones.
kucherenko
Detección de código duplicado.
GitHub
Issues y PRs desde la terminal.
Atlassian
Tickets de Jira como fuente de trabajo.
colbymchenry
Grafo de código sobre MCP: localizar y medir impacto sin leer archivos.
La spec universal de instrucciones para agentes — la base multi-engine.
El patrón de orquestador + trabajadores en contexto aislado.
Versionar skills, reglas y convenciones como parte del repo.
De estos proyectos navori tomó ideas; a codegraph además lo integra
como plugin. Las notas por proyecto viven en docs/inspiration.md.
Gentleman-Programming
Configurador de ecosistema con SDD, memoria persistente y routing orgánico por complejidad de tarea.
garrytan
Skills encadenadas por rol; auto-detección de host con un config por host; cross-model review.
betta-tech
Notación EARS, trazabilidad requisito↔test y el filesystem como máquina de estados de la spec.
betta-tech
El patrón Orchestrator/Implementer/Reviewer y el estado en disco: por chat solo pasan referencias.
obra
Subagent-driven development: agente fresco por tarea y specs que un junior puede seguir.
DietrichGebert
La escalera de decisión anti-over-engineering: flojo en la solución, nunca en la lectura.
colbymchenry
Contexto quirúrgico vía grafo pre-indexado en vez de loops de grep/read.
Graphify-Labs
Knowledge graph determinista de código y docs, commiteado al repo como los managed assets.
JuliusBrussee
Eficiencia de tokens como skill transversal: brevedad sin perder exactitud técnica.
Agentic AI Foundation
Recipes portables en YAML para compartir workflows en equipo y CI/CD.
Earendil
Primitivas, no features: skills on-demand y extensibilidad sobre workflows horneados.