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.
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:
| Agente | Comando de instalación |
|---|---|
| Claude Code | madar claude install |
| Codex CLI | madar codex install |
| Cursor | madar cursor install |
| GitHub Copilot | madar copilot install |
| Gemini CLI | madar gemini install |
| Aider | madar aider install |
| OpenCode | madar 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
- Madar indexa archivos fuente, símbolos, importaciones, llamadas, rutas, manejadores, metadatos de framework y documentación seleccionada.
- Una pregunta selecciona un paquete de contexto acotado en lugar de volcar todo el repositorio en la indicación.
- La respuesta informa la fuerza de la evidencia, la cobertura, la frescura y si aún se necesita verificación enfocada.
- 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-contexto--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.5xa18.5xmenos llamadas de herramienta2.2xa15.6xmenos entrada reportada por el proveedor1.65xa7.09xmenor 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
| Necesidad | Comienza aquí |
|---|---|
| Primera ejecución | Primeros pasos |
| Configuración del agente | Guías rápidas de agentes |
| Herramientas CLI y MCP | Referencia de CLI y MCP |
| Paquetes de contexto | Conceptos de paquetes de contexto |
| Frescura y actualización automática | Política de actualización automática |
| Cobertura de indexación | Completitud de indexación |
| Privacidad y confianza MCP | Modelo de amenazas |
| Evidencia y referencias | Afirmaciones y evidencia |
| Hoja de ruta | Hoja de ruta pública |
| Historial de versiones | Registro 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 |
Gunselheli |
qorexdevs |
zhengjynicolas |
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.