Graphify-ts

Compilador de contexto de base de código local para agentes de codificación de IA, que convierte espacios de trabajo de TypeScript/Node en paquetes de contexto compactos y verificables.

Documentación

Madar

Dale a tu agente de codificación el contexto del repositorio que necesita antes de empezar a buscar.

Madar construye un grafo local de tu repositorio TypeScript o Node.js y convierte la pregunta actual en un paquete de contexto pequeño y consciente de la tarea. Claude Code, Codex, Cursor, Copilot, Gemini, Aider y OpenCode pueden comenzar desde archivos, símbolos, fragmentos y relaciones relevantes en lugar de redescubrir el repositorio desde cero.

  • Empieza más pequeño: dale al agente puntos de entrada y rutas de ejecución probables antes de una búsqueda amplia.
  • Mantente local: la generación del grafo no sube tu código fuente ni requiere un servicio en la nube.
  • Mantente actualizado: los perfiles MCP instalados actualizan el grafo a medida que cambia el espacio de trabajo activo.

npm node >=20 local first license MIT

Pruébalo en 60 segundos

Instala Madar con Node.js 20 o superior y luego ejecútalo dentro de tu repositorio:

npm install -g @lubab/madar
cd your-repository
madar try "how does authentication work?"

madar try construye o reutiliza el grafo local, imprime un primer resultado legible por humanos y recomienda el siguiente comando de instalación del agente. No modifica tu código fuente.

Para un ejemplo concreto, el espacio de trabajo de restablecimiento de contraseña incluido en Madar contiene esta ruta:

account-routes.ts
  -> PasswordResetService.requestPasswordReset()
  -> userRepository.saveResetToken()
  -> enqueueResetEmailJob()
  -> sendPasswordResetEmail()

Ese es el tipo de ruta de inicio enfocada que Madar le da a un agente antes de decidir si es necesaria una inspección adicional de archivos.

Conecta tu agente

Elige el agente que uses. Para Claude Code:

madar claude install
madar doctor
madar status

Después de instalar un perfil, ejecuta madar doctor y madar status. El agente puede entonces pedir contexto a Madar cuando uses indicaciones normales como:

How does authentication work?
Why does this endpoint return 403?
Where is the report generated?
What breaks if I change this service?
Add telemetry to this flow.

Madar admite estos instaladores locales de proyecto:

AgenteComando de instalación
Claude Codemadar claude install
Codex CLImadar codex install
Cursormadar cursor install
GitHub Copilotmadar copilot install
Gemini CLImadar gemini install
Aidermadar aider install
OpenCodemadar opencode install

Los detalles del instalador están en la referencia de CLI y MCP. La configuración paso a paso y las pruebas de humo están en las guías rápidas de agentes.

Después de actualizar Madar, vuelve a ejecutar el comando de instalación de tu agente para actualizar su perfil gestionado. Los perfiles más antiguos pueden carecer de actualización automática o de la ventana de inicio más larga de Codex.

Las instalaciones de Codex crean un bloque MCP con ámbito de espacio de trabajo con tiempos de espera de inicio y herramienta más largos. Madar permanece disponible durante la reconciliación inicial; las llamadas respaldadas por el grafo están disponibles una vez que el grafo está listo.

A partir de 0.31.3, una llamada respaldada por el grafo realizada mientras Madar está starting, pending o reconciling devuelve una respuesta estructurada reintentable. El agente debe reintentar la misma solicitud de Madar después del retraso sugerido en lugar de omitir a Madar o ejecutar la generación manualmente. Un propietario de actualización muerto se recupera automáticamente; solo los estados de grafo fallidos, incompletos o con políticas no coincidentes solicitan reparación.

Qué cambia para el agente

Sin Madar, un agente de codificación a menudo comienza con búsquedas amplias de nombres de archivo, lecturas repetidas y conjeturas sobre qué ruta, servicio o manejador es responsable de la tarea.

Con Madar, la primera pasada puede incluir:

  • archivos probables, símbolos exportados, rutas y manejadores
  • fragmentos directos relevantes a la pregunta
  • importaciones, llamadas, roles de framework y traspasos de ejecución
  • una hipótesis estática de ruta de ejecución cuando el grafo la respalda, no un rastro de ejecución en vivo
  • señales de frescura del grafo y completitud de indexación
  • orientación explícita para responder, responder con una advertencia o verificar un objetivo enfocado

Madar no reemplaza a tu agente ni le impide leer código. Le da al agente un punto de partida más pequeño y basado en el repositorio.

Cómo funciona

Your repository
      |
      v
Local Madar graph
      |
      v
Context for the current question
      |
      v
Claude, Codex, Cursor, or another coding agent
  1. Madar indexa archivos fuente, símbolos, importaciones, llamadas, rutas, manejadores, metadatos de framework y documentación seleccionada.
  2. Una pregunta selecciona un paquete de contexto acotado en lugar de volcar todo el repositorio en la indicación.
  3. La respuesta informa la fuerza de la evidencia, la cobertura, la frescura y si aún se necesita verificación enfocada.
  4. Los perfiles MCP instalados observan el espacio de trabajo activo y actualizan el contexto respaldado por el grafo después de cambios relevantes.

El contrato completo de respuesta, incluidos los estados de recuperación acotada y capacidad de respuesta, está documentado en forma de respuesta MCP.

Usa Madar sin MCP

La CLI puede generar e inspeccionar contexto sin instalar una integración de agente:

madar generate .
madar summary
madar pack "how does auth work?" --task explain --format text

Por defecto, madar generate . combina metadatos SPI con semántica heredada probada para JavaScript/TypeScript, y usa el respaldo heredado para otros lenguajes compatibles. Los modos estrictos están en la referencia de CLI.

Crea una indicación lista para el proveedor:

madar prompt "how does auth work?" --provider claude

Crea un traspaso seguro para compartir con otra herramienta de codificación:

madar handoff "add auth telemetry" --task implement --consumer copilot

Los grafos generados y los manifiestos de indexación permanecen en la ubicación de salida del proyecto. Consulta el tutorial de inicio para obtener un espacio de trabajo de muestra reproducible y la salida esperada.

Dónde encaja Madar

Madar es más útil cuando:

  • tu repositorio es mediano o grande
  • el proyecto es principalmente TypeScript o Node.js
  • los agentes siguen reabriendo los mismos archivos o buscando en carpetas no relacionadas
  • haces preguntas de arquitectura, flujo de ejecución, revisión o impacto
  • el uso de tokens, la latencia o la privacidad del repositorio local importan

Ayuda menos cuando:

  • el repositorio es pequeño o la tarea es obvia desde un archivo
  • la pregunta depende del comportamiento de ejecución en vivo que el análisis estático no puede observar
  • el código depende en gran medida de patrones dinámicos que están ausentes del grafo
  • el grafo está desactualizado o los archivos fuente relevantes no pudieron indexarse

Madar complementa a los agentes y la indexación del IDE. No es una base de conocimiento alojada, un rastreador de ejecución, un revisor de PR ni un escáner de vulnerabilidades.

Local por diseño

  • Privacidad: la generación del grafo de Madar se ejecuta localmente y no requiere una clave API. Tu agente de codificación aún puede enviar indicaciones o contexto de archivos seleccionados a su propio proveedor de modelos, según la configuración de ese agente.
  • Archivos sensibles: el código fuente de seguridad ordinario sigue siendo indexable, mientras que las claves privadas, .env*, los almacenes de credenciales y el material secreto conocido que no es fuente se excluyen. Esta es una política de rutas, no un escáner de secretos a nivel de contenido.
  • Frescura: los perfiles MCP instalados usan actualización automática. Los usuarios manuales de CLI pueden regenerar con madar generate .; los flujos de trabajo estrictos pueden requerir --require-fresh-context o --require-fresh-graph.
  • Worktrees: ejecuta Madar y el agente desde el mismo worktree de Git vinculado. Cada worktree recibe artefactos de grafo aislados fuera del checkout; reconecta el servidor MCP después de cambiar de worktree.
  • Telemetría: la telemetría está deshabilitada a menos que la habilites explícitamente. Los controles y el esquema exacto de eventos seguro para la fuente están documentados en telemetría.

Trata cada instalación local de MCP, hook o perfil de agente como parte de tu límite de confianza local. El modelo de amenazas MCP documenta el límite en detalle.

Evidencia y límites

Madar publica las indicaciones, respuestas, rastros e informes seguros para compartir detrás de sus declaraciones de referencia. Dos tipos de experimentos públicos responden preguntas diferentes y no deben compararse como si fueran la misma prueba.

Evidencia controlada v0.30

Seis pruebas de flujo de ejecución de TypeScript de junio usaron un checkout de fuente con perfiles de prueba específicos de la tarea. En esas ejecuciones controladas, Madar se invocó una vez por fila y los resultados registrados mostraron:

  • 3.5x a 18.5x menos llamadas de herramienta
  • 2.2x a 15.6x menos entrada reportada por el proveedor
  • 1.65x a 7.09x menor latencia

Esos recibos son mediciones reales de Madar asistido por perfiles. Demuestran lo que el flujo de trabajo puede lograr cuando la evidencia correcta de la tarea está disponible. No son evidencia de que una instalación npm sin ajustes reproduzca el mismo resultado para preguntas arbitrarias, porque las indicaciones antiguas y la recuperación del checkout contenían obligaciones específicas de la referencia no disponibles para los usuarios normales del paquete.

Validación de artefacto de producción v0.31

Las repeticiones de julio eliminaron esa asistencia y usaron el mismo artefacto de paquete @lubab/madar@0.31.0 aislado y desempaquetado. Cuatro de seis repositorios registraron una falla de adopción del agente: no ocurrió ninguna llamada MCP atribuible a Madar. Los otros dos invocaron a Madar pero fallaron en las puertas estrictas de indicación o respuesta. El resultado correcto es cero comparaciones de rendimiento válidas, no seis pérdidas de producto. Estas repeticiones exponen el trabajo de adopción y completitud de respuesta; no confirman ni refutan las mediciones de eficiencia controladas anteriores.

Lee la suite de referencia y todos los recibos fechados o el mapa de afirmaciones y evidencia más corto.

Versión actual

Versión actual: 0.32.1.

0.32.1 mantiene la actualización automática recuperable cuando Git elimina un archivo durante una reconstrucción vigilada, e informa una configuración saludable de un solo cliente sin requerir integraciones opcionales de agente.

0.31.4 mantiene los recibos vinculados al contexto visible y refuerza el manejo de hooks de Claude/Codex.

0.31.3 recupera propietarios de actualización muertos, espera durante la contención de actualización en vivo y devuelve una señal de reintento durante la reconciliación temporal en lugar de empujar a los agentes a omitir a Madar.

0.31.2 mantiene la conexión MCP de Codex receptiva mientras se ejecuta su actualización automática inicial del grafo, agrega una ventana de inicio explícita de 180 segundos para Codex y mantiene las respuestas respaldadas por el grafo no disponibles hasta que el grafo actualizado esté listo.

0.31.1 reconstruyó la ruta pública de incorporación y aclaró qué demuestra cada experimento de referencia. El comportamiento de ejecución no cambió desde 0.31.0.

0.31.0 hizo que los grafos de código fueran dirigidos por defecto, separó la fuerza de la evidencia de la preparación de la respuesta, agregó recuperación de contexto acotado, hizo explícita la completitud de indexación, preservó la política de generación durante la actualización automática, aisló los artefactos de worktree vinculados y eliminó las expectativas de referencia de la recuperación de producción.

Lee las notas completas en el registro de cambios 0.32.1.

Documentación

NecesidadComienza aquí
Primera ejecuciónPrimeros pasos
Configuración del agenteGuías rápidas de agentes
Herramientas CLI y MCPReferencia de CLI y MCP
Paquetes de contextoConceptos de paquetes de contexto
Frescura y actualización automáticaPolítica de actualización automática
Cobertura de indexaciónCompletitud de indexación
Privacidad y confianza MCPModelo de amenazas
Evidencia y referenciasAfirmaciones y evidencia
Hoja de rutaHoja de ruta pública
Historial de versionesRegistro de cambios

Contribuciones

Las contribuciones más útiles ahora mismo son pruebas en repositorios reales de TypeScript y Node.js, informes de contexto perdido, mejoras de confiabilidad en Windows/WSL/MCP, detección de frameworks y ejemplos de configuración más claros.

Abre problemas o solicitudes de extracción contra la rama next. Antes de abrir un PR, ejecuta:

npm test
npm run build
npm run release:verify

Consulta el gráfico completo de contribuyentes en contribuyentes de GitHub.

Contribuyentes

Gracias a todos los que dan forma a Madar. La lista a continuación se regenera automáticamente en cada push a main.

mohanagy
mohanagy
Gunselheli
Gunselheli
qorexdevs
qorexdevs
zhengjynicolas
zhengjynicolas
jamemackson
jamemackson

Un agradecimiento especial a @jamemackson por #54, la primera función contribuida por la comunidad en Madar.

Licencia

MIT. Úsalo, hazle fork, publícalo.