CodeGraphContext
Un servidor MCP que indexa código local en una base de datos de grafos para proporcionar contexto a asistentes de IA.
Documentación
🏗️ CodeGraphContext (CGC)
Convierte repositorios de código en un grafo consultable para agentes de IA.
🌐 Idiomas:
🌍 ¡Ayuda a traducir CodeGraphContext a tu idioma creando un issue y un PR en GitHub Issues!
Cierra la brecha entre grafos de código profundos y el contexto de IA.
Un potente servidor MCP y kit de herramientas CLI que indexa código local en una base de datos de grafos para proporcionar contexto a asistentes de IA y desarrolladores. Úsalo como CLI independiente para un análisis de código exhaustivo o conéctalo a tu IDE de IA favorito mediante MCP para una comprensión de código impulsada por IA.
📍 Navegación rápida
- 🚀 Inicio rápido
- 📋 Requisitos previos
- 🏃 Cómo ejecutar el proyecto localmente
- 🌐 Lenguajes de programación compatibles
- 🛠️ Kit de herramientas CLI
- 🤖 Servidor MCP
- 🗄️ Opciones de base de datos
- 🔬 Indexación SCIP (opcional)
✨ Experimenta CGC
👨🏻💻 Instalación y CLI
Instala en segundos con pip y desbloquea una potente CLI para el análisis de grafos de código.
🛠️ Indexación en segundos
La CLI analiza inteligentemente tus nodos tree-sitter para construir el grafo.
🤖 Potenciando tu asistente de IA
Usa lenguaje natural para consultar cadenas de llamadas complejas mediante MCP.
¿Por qué CodeGraphContext?
CodeGraphContext está diseñado para el momento en que la búsqueda de texto plano deja de ser suficiente. Convierte un repositorio en un grafo de archivos, símbolos, llamadas, herencias, importaciones y relaciones para que puedas pasar de "¿dónde está definido esto?" a "¿cómo se conecta realmente?" sin saltar entre herramientas.
flowchart LR
A[Source code] --> B[Tree-sitter and SCIP indexers]
B --> C[Graph database]
C --> D[CLI queries]
C --> E[MCP server]
D --> F[Direct analysis]
E --> G[AI assistants with repo context]
Comparación de un vistazo
| Enfoque | Mejor para | Compromiso |
|---|---|---|
grep / búsqueda de archivos | Búsqueda exacta de cadenas | Omite relaciones y estructura de código |
| RAG sobre fragmentos de código | Recuperación en lenguaje natural | Puede perder precisión a nivel de símbolo |
| CodeGraphContext | Razonamiento en todo el repositorio | Requiere un paso de indexación |
Casos de uso comunes
- Rastrear cadenas de llamadas entre archivos y paquetes.
- Comprender jerarquías de clases, importaciones y límites de módulos.
- Encontrar código muerto, puntos críticos y dependencias inesperadas.
- Dar a un asistente de IA el mismo contexto estructural que usaría un mantenedor.
Preguntas frecuentes
- ¿Necesito un servicio remoto? No. CGC funciona localmente con backends integrados o con bases de datos de grafos externas cuando las necesites.
- ¿Es solo para un lenguaje? No. Admite una amplia variedad de lenguajes principales y sigue expandiéndose.
- ¿Puedo usarlo con un asistente de IA? Sí. Esa es una de las principales razones por las que existe el servidor MCP.
Detalles del proyecto
- Versión: 0.5.1
- Autores: Shashank Shekhar Singh shashankshekharsingh1205@gmail.com
- Licencia: Licencia MIT (Consulta LICENSE para más detalles)
- Sitio web: CodeGraphContext
👨💻 Mantenedor
CodeGraphContext es creado y mantenido activamente por:
Shashank Shekhar Singh
- 📧 Correo: shashankshekharsingh1205@gmail.com
- 🐙 GitHub: @Shashankss1205
- 🔗 LinkedIn: Shashank Shekhar Singh
- 🌐 Sitio web: codegraphcontext.vercel.app
¡Las contribuciones y los comentarios siempre son bienvenidos! No dudes en contactarnos para preguntas, sugerencias u oportunidades de colaboración.
Historial de estrellas
Gráfico de historial de estrellas ↗
Características
- Indexación de código: Analiza el código y construye un grafo de conocimiento de sus componentes.
- Análisis de relaciones: Consulta llamadores, llamados, jerarquías de clases, cadenas de llamadas y más.
- Paquetes preindexados: Carga repositorios famosos al instante con paquetes
.cgc: ¡sin necesidad de indexación! (Más información) - Vigilancia de archivos en vivo: Observa directorios para detectar cambios y actualiza el grafo automáticamente en tiempo real (
cgc watch). - Configuración interactiva: Un asistente de línea de comandos fácil de usar para una configuración sencilla.
- Modo dual: Funciona como un kit de herramientas CLI independiente para desarrolladores y como un servidor MCP para agentes de IA.
- Soporte multilingüe: Soporte completo para 23 lenguajes de programación.
- Backend de base de datos flexible: FalkorDB Lite (predeterminado), KuzuDB, LadybugDB, FalkorDB Remoto, Nornic DB o Neo4j (todas las plataformas mediante Docker/nativo).
Descripción general de la arquitectura
CodeGraphContext transforma el código fuente en un grafo de conocimiento consultable que se puede explorar mediante la CLI o asistentes de IA a través de MCP.
flowchart TD
A[Code Repository] --> B[Tree-sitter / SCIP Indexing]
B --> C[Knowledge Graph]
C --> D[Graph Database]
D --> E[CLI Toolkit]
D --> F[MCP Server]
F --> G[AI Assistant]
Flujo de trabajo
- El código fuente se analiza con indexadores Tree-sitter o SCIP.
- Se extraen las relaciones entre funciones, clases, importaciones y llamadas.
- Se genera un grafo de conocimiento y se almacena en una base de datos de grafos.
- Los usuarios pueden consultar el grafo mediante la CLI o asistentes de IA usando MCP.
🏗️ Arquitectura y flujo de trabajo
CodeGraphContext analiza tu código fuente y construye un grafo de conocimiento exhaustivo. Este grafo se puede consultar directamente mediante el kit de herramientas CLI o exponerse a asistentes de IA a través del servidor MCP.
flowchart TD
A[Code Repository] -->|Parsed by| B[Tree-sitter / SCIP Indexing]
B -->|Generates| C[Knowledge Graph]
C -->|Stored in| D[(Graph Database)]
D -->|Queried via| E[CLI Toolkit]
D -->|Served by| F[MCP Server]
F -->|Provides context to| G[🤖 AI Assistant]
classDef default fill:#1f2937,stroke:#8b5cf6,stroke-width:2px,color:#fff;
classDef db fill:#0f172a,stroke:#3b82f6,stroke-width:2px,color:#fff;
classDef ai fill:#312e81,stroke:#a855f7,stroke-width:2px,color:#fff;
D:::db
G:::ai
🏗️ Arquitectura y flujo de trabajo
CodeGraphContext analiza tu código fuente y construye un grafo de conocimiento exhaustivo. Este grafo se puede consultar directamente mediante el kit de herramientas CLI o exponerse a asistentes de IA a través del servidor MCP.
flowchart TD
A[Code Repository] -->|Parsed by| B[Tree-sitter / SCIP Indexing]
B -->|Generates| C[Knowledge Graph]
C -->|Stored in| D[(Graph Database)]
D -->|Queried via| E[CLI Toolkit]
D -->|Served by| F[MCP Server]
F -->|Provides context to| G[🤖 AI Assistant]
classDef default fill:#1f2937,stroke:#8b5cf6,stroke-width:2px,color:#fff;
classDef db fill:#0f172a,stroke:#3b82f6,stroke-width:2px,color:#fff;
classDef ai fill:#312e81,stroke:#a855f7,stroke-width:2px,color:#fff;
D:::db
G:::ai
Lenguajes de programación compatibles
CodeGraphContext proporciona análisis y parseo exhaustivos para los siguientes lenguajes:
| Lenguaje | Lenguaje | Lenguaje | |||
|---|---|---|---|---|---|
| 🐍 | Python | 📜 | JavaScript | 🔷 | TypeScript |
| ☕ | Java | 🔵 | C | ➕ | C++ |
| #️⃣ | C# | 🐹 | Go | 🦀 | Rust |
| 💎 | Ruby | 🐘 | PHP | 🍎 | Swift |
| 🎨 | Kotlin | 🎯 | Dart | 🐪 | Perl |
| 🌙 | Lua | 🚀 | Scala | λ | Haskell |
| 💧 | Elixir | 📜 | Emacs Lisp (elisp) | 🌐 | HTML |
| 🎨 | CSS | ⚛️ | TSX | ⛓️ | Solidity |
Cada analizador de lenguaje extrae funciones, clases, métodos, parámetros, relaciones de herencia, llamadas a funciones e importaciones para construir un grafo de código exhaustivo.
Notas sobre Solidity: .sol usa Tree-sitter mediante tree-sitter-language-pack (sin SCIP). Admite remapeos de Foundry, invocaciones de modificadores, using Lib for T y emit / errores personalizados revert como CALLS. Consulta docs/docs/contributing_languages.md § Solidity.
Notas sobre Kotlin: Las anotaciones se registran en funciones y clases como decorators, conservando
sus argumentos (@Preview(showBackground = true)). Esto hace que el find_dead_code de
exclude_decorated_with sea utilizable en bases de código Kotlin y Android; por ejemplo, excluyendo
Composable, Preview, Test y Provides. Ese filtro coincide con funciones, por lo que las anotaciones
a nivel de clase no lo afectan. Las anotaciones en interfaces, objetos, constructores, parámetros y
propiedades aún no se registran.
Opciones de base de datos
CodeGraphContext admite múltiples backends de bases de datos de grafos para adaptarse a tu entorno:
| Característica | KuzuDB | LadybugDB | FalkorDB Lite | Neo4j / Nornic DB |
|---|---|---|---|---|
| Predeterminado típico | Respaldo multiplataforma cuando FalkorDB Lite no está disponible | Backend integrado opcional | Predeterminado en Unix (Python 3.12+, cuando falkordblite está instalado) | Cuando se configura explícitamente mediante cgc config db |
| Configuración | Cero configuración / Integrado | Cero configuración / Integrado | Cero configuración / En proceso | Docker / Externo |
| Plataforma | Todas (Windows nativo, macOS, Linux) | Todas (Windows nativo, macOS, Linux) | Solo Unix (Linux/macOS/WSL) | Todas las plataformas |
| Caso de uso | Escritorio, IDE, desarrollo local | Proyectos de investigación personalizados | Desarrollo Unix especializado | Empresarial, grafos masivos |
| Requisito | pip install kuzu | pip install ladybug | pip install falkordblite | Servidor Neo4j / Docker / Nornic Cloud |
| Velocidad | ⚡ Extremadamente rápida | ⚡ Rápida | 🚀 Escalable | 🌐 Dependiente de la red |
| Persistencia | Sí (en disco) | Sí (en disco) | Sí (en disco) | Sí (en el servidor) |
KuzuDB/LadybugDB integrados usan por defecto un grupo de búfer de 4 GiB (CGC_EMBEDDED_BUFFER_POOL_MB). Configura esa variable de entorno a otro valor en MiB, o 0 para el valor predeterminado de la biblioteca (~80 % de la RAM del sistema).
Indexación SCIP (opcional)
Cuando SCIP_INDEXER=true en tu configuración de CGC (~/.codegraphcontext/.env), algunos lenguajes usan indexadores SCIP externos para obtener llamadas y herencias más precisas que las heurísticas de Tree-sitter por sí solas.
C y C++ usan scip-clang, que requiere un archivo compile_commands.json (una base de datos de compilación JSON): una entrada por unidad de traducción con el comando real del compilador (rutas de inclusión, definiciones -D, -std, etc.). Sin él, scip-clang no puede ejecutarse; CGC registra una advertencia y vuelve a Tree-sitter para ese repositorio. Las formas típicas de producir el archivo: CMake con -DCMAKE_EXPORT_COMPILE_COMMANDS=ON, o envolver tu compilación real con Bear (p. ej., bear -- make). CGC también busca en build/ y cmake-build-*/ ese nombre de archivo.
C# usa scip-dotnet (Roslyn); necesitas un .csproj / .sln normal y una restauración exitosa; no se requiere compile_commands.json.
SCIP es independiente de la base de datos de grafos que uses (Kuzu, Neo4j, etc.); la misma marca se aplica a todos los backends.
Usado por
CodeGraphContext ya está siendo explorado por desarrolladores y proyectos para:
- Análisis estático de código en asistentes de IA
- Visualización de proyectos basada en grafos
- Detección de código muerto y complejidad
Si estás usando CodeGraphContext en tu proyecto, ¡no dudes en abrir un PR y añadirlo aquí! 🚀
Dependencias
neo4j>=5.15.0watchdog>=3.0.0stdlibs>=2023.11.18typer>=0.9.0rich>=13.7.0inquirerpy>=0.3.4python-dotenv>=1.0.0tree-sitter>=0.24.0,<0.26.0tree-sitter-language-pack>=1.6,<2.0pyyamlpathspec>=0.12.1falkordb>=1.0,<1.6falkordblite>=0.7,<0.10(solo Unix, Python 3.12+)kuzu(motor KuzuDB)fastapi>=0.100.0uvicorn>=0.22.0requests>=2.28.0protobuf>=3.20,<3.21
Nota: Se admite Python 3.10-3.14.
🚀 Instalación e inicio rápido
-
Instala el kit de herramientas:
pip install codegraphcontext -
Solución de problemas (comando no encontrado): Si el comando
codegraphcontextno se encuentra, ejecuta esta corrección de una línea:curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash -
Configuración de la base de datos (automática): CodeGraphContext usa una base de datos de grafos integrada por defecto.
- FalkorDB Lite: Backend predeterminado.
- KuzuDB: Backend integrado multiplataforma.
- Neo4j: Ejecuta
codegraphcontext neo4j setuppara usar un servidor externo.
🧪 Configuración de desarrollo local
Si deseas ejecutar CodeGraphContext desde un clon local y contribuir con cambios, utiliza una instalación editable:
git clone https://github.com/CodeGraphContext/CodeGraphContext.git
cd CodeGraphContext
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Luego verifica la instalación y prueba los comandos locales:
cgc --help
cgc doctor
cgc index .
cgc analyze callers main
Para el trabajo con el servidor MCP, completa la configuración con:
cgc mcp setup
cgc mcp start
Si solo estás instalando el paquete publicado, pip install codegraphcontext es suficiente. Si estás desarrollando funciones centradas en el análisis sintáctico y deseas también las extensiones opcionales de análisis, instala con pip install -e ".[dev,parsing]".
🐳 Docker (No se requiere Python)
Ejecuta CodeGraphContext sin instalar Python: descarga la imagen y comienza a indexar:
Inicio rápido
# Pull the latest image
docker pull codegraphcontext/codegraphcontext:latest
# Index your current directory
docker run --rm -v "$(pwd):/workspace" codegraphcontext/codegraphcontext cgc index .
# List indexed repos
docker run --rm -v cgc-data:/home/cgc/.codegraphcontext \
codegraphcontext/codegraphcontext cgc list
# Interactive shell
docker run -it --rm -v "$(pwd):/workspace" \
-v cgc-data:/home/cgc/.codegraphcontext \
codegraphcontext/codegraphcontext bash
Docker Compose
# Clone the repo and start with Docker Compose
git clone https://github.com/CodeGraphContext/CodeGraphContext.git
cd CodeGraphContext
# Start with embedded DB
docker compose run --rm cgc index .
# Start with external FalkorDB
docker compose --profile falkordb up -d
# Start with visualization server
docker compose --profile viz up -d
# Open http://localhost:8080
Etiquetas de Docker disponibles
| Etiqueta | Descripción |
|---|---|
latest | Última versión estable |
edge | Última versión de la rama main (puede ser inestable) |
0.4.19 | Versión específica |
0.4 | Último parche en 0.4.x |
Para un uso más avanzado de Docker, incluida la ejecución del servidor MCP o la conexión de bases de datos externas, consulta nuestra Guía completa de Docker.
📋 Requisitos previos
Antes de instalar CodeGraphContext, asegúrate de tener:
- Python 3.10 o posterior
- Administrador de paquetes pip
- Git (opcional, para clonar repositorios)
Verifica tu instalación de Python:
python --version
🚀 Guía de configuración paso a paso
Paso 1: Instalar CodeGraphContext
pip install codegraphcontext # Installs CodeGraphContext and required dependencies
Este comando instala CodeGraphContext y todas las dependencias necesarias.
Paso 2: Verificar la instalación
codegraphcontext --help
Si el comando muestra los comandos CLI disponibles, la instalación fue exitosa.
Paso 3: Configuración de la base de datos
CodeGraphContext utiliza automáticamente una base de datos integrada por defecto, por lo que no se requiere configuración adicional para la mayoría de los usuarios.
🏃 Cómo ejecutar el proyecto localmente
Indexar un repositorio
codegraphcontext index . # Scans current directory and builds code graph
Esto escanea el proyecto actual y crea un grafo de código buscable.
Ver repositorios indexados
codegraphcontext list
Muestra todos los repositorios actualmente indexados por CodeGraphContext.
Analizar código
codegraphcontext analyze dead-code
Encuentra código potencialmente no utilizado en el repositorio indexado.
✅ Verifica que todo funcione
Después de indexar un repositorio, ejecuta:
codegraphcontext list # Shows all indexed repositories in the system
Si el comando se ejecuta correctamente y muestra los repositorios indexados, tu configuración está completa y CodeGraphContext está listo para usar.
Para el modo de herramientas CLI
Comienza a usar inmediatamente con comandos CLI:
# Index your current directory
codegraphcontext index .
# List all indexed repositories
codegraphcontext list
# Analyze who calls a function
codegraphcontext analyze callers my_function
# Find complex code
codegraphcontext analyze complexity --threshold 10
# Find dead code
codegraphcontext analyze dead-code
# Watch for live changes (optional)
codegraphcontext watch .
# See all commands
codegraphcontext help
Consulta la Guía completa de comandos CLI para ver todos los comandos disponibles y escenarios de uso.
🎨 Visualización interactiva premium
CodeGraphContext puede generar impresionantes grafos de conocimiento interactivos de tu código. A diferencia de los diagramas estáticos, estos son exploradores web premium:
- Estética premium: Modo oscuro, glassmorphism y tipografía moderna (Outfit/JetBrains Mono).
- Inspección interactiva: Haz clic en cualquier nodo para abrir un panel lateral detallado con información de símbolos, rutas de archivos y contexto.
- Búsqueda rápida: Búsqueda en vivo a través del grafo para encontrar símbolos específicos al instante.
- Diseños inteligentes: Diseños dirigidos por fuerza y jerárquicos que hacen legibles las relaciones complejas.
- Visualización sin dependencias: Archivos HTML independientes que funcionan en cualquier navegador moderno.
# Visualize function calls
codegraphcontext analyze calls my_function --viz
# Explore class hierarchies
codegraphcontext analyze tree MyClass --viz
# Visualize search results
codegraphcontext find pattern "Auth" --viz
🤖 Para el modo servidor MCP
Configura tu asistente de IA para usar CodeGraphContext:
-
Configuración: Ejecuta el asistente de configuración de MCP para configurar tu IDE/asistente de IA:
codegraphcontext mcp setupEl asistente puede detectar y configurar automáticamente:
- VS Code
- Cursor
- Windsurf
- Zed
- Claude
- Gemini CLI
- ChatGPT Codex
- Cline
- RooCode
- Amazon Q Developer
- Kiro
- Goose
- OpenCode
Tras una configuración exitosa,
codegraphcontext mcp setupgenerará y colocará los archivos de configuración necesarios:- Crea un archivo
mcp.jsonen tu directorio actual como referencia. - Almacena tus credenciales de base de datos de forma segura en
~/.codegraphcontext/.env. - Actualiza el archivo de configuración de tu IDE/CLI elegido (por ejemplo,
.claude.jsono elsettings.jsonde VS Code).
-
Inicio: Lanza el servidor MCP:
codegraphcontext mcp start -
Uso: ¡Ahora interactúa con tu base de código a través de tu asistente de IA usando lenguaje natural! Consulta los ejemplos a continuación.
Ignorar archivos (.cgcignore)
Puedes indicarle a CodeGraphContext que ignore archivos y directorios específicos creando un archivo .cgcignore en la raíz de tu proyecto. Este archivo utiliza la misma sintaxis que .gitignore.
Ejemplo de archivo .cgcignore:
# Ignore build artifacts
/build/
/dist/
# Ignore dependencies
/node_modules/
/vendor/
# Ignore logs
*.log
Configuración del cliente MCP
El comando codegraphcontext mcp setup intenta configurar automáticamente tu IDE/CLI. Si decides no usar la configuración automática, o si tu herramienta no es compatible, puedes configurarla manualmente.
Agrega la siguiente configuración de servidor al archivo de configuración de tu cliente (por ejemplo, el settings.json o .claude.json de VS Code):
{
"mcpServers": {
"CodeGraphContext": {
"command": "codegraphcontext",
"args": [
"mcp",
"start"
],
"disabled": false,
"alwaysAllow": []
}
}
}
Configuración de OpenCode
Para instrucciones sobre cómo instalar y configurar servidores MCP con OpenCode, consulta la Guía de MCP de OpenCode.
Si se instaló mediante pipx
Si instalaste CodeGraphContext usando pipx, utiliza la siguiente configuración en su lugar:
{
"mcpServers": {
"CodeGraphContext": {
"command": "pipx",
"args": [
"run",
"codegraphcontext",
"mcp",
"start"
],
"env": {
"NEO4J_URI": "YOUR_NEO4J_URI",
"NEO4J_USERNAME": "YOUR_NEO4J_USERNAME",
"NEO4J_PASSWORD": "YOUR_NEO4J_PASSWORD"
},
"disabled": false,
"alwaysAllow": []
}
}
}
Salida optimizada por tokens (GCF)
Reduce los tokens de respuesta de las herramientas en ~62% con el formato de salida GCF opcional:
pip install gcf-python
CGC_OUTPUT_FORMAT=gcf codegraphcontext mcp start
O agrégalo a la configuración de tu cliente MCP:
{
"mcpServers": {
"CodeGraphContext": {
"command": "codegraphcontext",
"args": ["mcp", "start"],
"env": {
"CGC_OUTPUT_FORMAT": "gcf"
}
}
}
}
GCF codifica datos estructurados con campos posicionales (claves declaradas una vez, valores separados por tuberías). Los resultados de consultas de grafos de código (símbolos, relaciones, llamadores, complejidad) son exactamente la forma de datos donde GCF ahorra más. Comprensión 100% por LLM en todos los modelos de frontera. Vuelve a JSON si gcf-python no está instalado.
Ejemplos de interacción en lenguaje natural
Una vez que el servidor esté en ejecución, puedes interactuar con él a través de tu asistente de IA usando inglés sencillo. Aquí tienes algunos ejemplos de lo que puedes decir:
Indexación y monitoreo de archivos
-
Para indexar un nuevo proyecto:
- "Por favor, indexa el código en el directorio
/path/to/my-project." O - "Agrega el proyecto en
~/dev/my-other-projectal grafo de código."
- "Por favor, indexa el código en el directorio
-
Para comenzar a monitorear un directorio en busca de cambios en vivo:
- "Monitorea el directorio
/path/to/my-active-projecten busca de cambios." O - "Mantén actualizado el grafo de código para el proyecto en el que estoy trabajando en
~/dev/main-app."
Cuando pides monitorear un directorio, el sistema realiza dos acciones a la vez:
- Inicia un escaneo completo para indexar todo el código en ese directorio. Este proceso se ejecuta en segundo plano y recibirás un
job_idpara seguir su progreso. - Comienza a monitorear el directorio en busca de cambios en archivos para mantener el grafo actualizado en tiempo real.
Esto significa que puedes comenzar simplemente indicándole al sistema que monitoree un directorio, y se encargará tanto de la indexación inicial como de las actualizaciones continuas automáticamente.
- "Monitorea el directorio
Consulta y comprensión de código
-
Encontrar dónde se define el código:
- "¿Dónde está la función
process_payment?" - "Encuentra la clase
Userpara mí." - "Muéstrame cualquier código relacionado con 'conexión de base de datos'."
- "¿Dónde está la función
-
Analizar relaciones e impacto:
- "¿Qué otras funciones llaman a la función
get_user_by_id?" - "Si cambio la función
calculate_tax, ¿qué otras partes del código se verán afectadas?" - "Muéstrame la jerarquía de herencia de la clase
BaseController." - "¿Qué métodos tiene la clase
Order?"
- "¿Qué otras funciones llaman a la función
-
Explorar dependencias:
- "¿Qué archivos importan la biblioteca
requests?" - "Encuentra todas las implementaciones del método
render."
- "¿Qué archivos importan la biblioteca
-
Seguimiento avanzado de cadenas de llamadas y dependencias (que abarcan cientos de archivos): CodeGraphContext sobresale en el rastreo de flujos de ejecución complejos y dependencias en vastas bases de código. Aprovechando el poder de las bases de datos de grafos, puede identificar llamadores y llamados directos e indirectos, incluso cuando una función se llama a través de múltiples capas de abstracción o en numerosos archivos. Esto es invaluable para:
-
Análisis de impacto: Comprende el efecto dominó completo de un cambio en una función central.
-
Depuración: Rastrea la ruta de ejecución desde un punto de entrada hasta un error específico.
-
Comprensión del código: Comprende cómo interactúan diferentes partes de un sistema grande.
-
"Muéstrame la cadena de llamadas completa desde la función
mainhastaprocess_data." -
"Encuentra todas las funciones que llaman directa o indirectamente a
validate_input." -
"¿Cuáles son todas las funciones que
initialize_systemeventualmente llama?" -
"Rastrea las dependencias del módulo
DatabaseManager."
-
-
Calidad y mantenimiento del código:
- "¿Hay código muerto o no utilizado en este proyecto?"
- "Calcula la complejidad ciclomática de la función
process_dataensrc/utils.py." - "Encuentra las 5 funciones más complejas en la base de código."
-
Gestión de repositorios:
- "Lista todos los repositorios actualmente indexados."
- "Elimina el repositorio indexado en
/path/to/old-project."
Solución de problemas
¿Tienes un error de bloqueo, un bucle de "indexación que nunca termina" o una función silenciosa? Consulta docs/TROUBLESHOOTING.md — cada entrada asigna un problema real reportado a su solución o alternativa.
Contribuciones
¡Las contribuciones son bienvenidas! 🎉
Consulta nuestra CONTRIBUTING.md para obtener pautas detalladas.
Si tienes ideas para nuevas funciones, integraciones o mejoras, abre un issue o envía una solicitud de extracción.
Únete a las discusiones y ayuda a dar forma al futuro de CodeGraphContext.


