CodeGraphContext
Um servidor MCP que indexa código local em um banco de dados de grafos para fornecer contexto a assistentes de IA.
Documentação
🏗️ CodeGraphContext (CGC)
Transforme repositórios de código em um grafo consultável para agentes de IA.
🌐 Idiomas:
🌍 Ajude a traduzir o CodeGraphContext para o seu idioma abrindo uma issue e um PR no GitHub Issues!
Preencha a lacuna entre grafos de código profundos e contexto de IA.
Um poderoso servidor MCP e kit de ferramentas CLI que indexa código local em um banco de dados de grafos para fornecer contexto a assistentes de IA e desenvolvedores. Use-o como uma CLI autônoma para análise abrangente de código ou conecte-o ao seu IDE de IA favorito via MCP para compreensão de código com IA.
📍 Navegação Rápida
- 🚀 Início Rápido
- 📋 Pré-requisitos
- 🏃 Como Executar o Projeto Localmente
- 🌐 Linguagens de Programação Suportadas
- 🛠️ Kit de Ferramentas CLI
- 🤖 Servidor MCP
- 🗄️ Opções de Banco de Dados
- 🔬 Indexação SCIP (opcional)
✨ Experimente o CGC
👨🏻💻 Instalação e CLI
Instale em segundos com pip e desbloqueie uma CLI poderosa para análise de grafos de código.
🛠️ Indexação em Segundos
A CLI analisa inteligentemente seus nós tree-sitter para construir o grafo.
🤖 Potencializando seu Assistente de IA
Use linguagem natural para consultar cadeias de chamadas complexas via MCP.
Por que CodeGraphContext?
O CodeGraphContext foi criado para o momento em que a busca por texto simples deixa de ser suficiente. Ele transforma um repositório em um grafo de arquivos, símbolos, chamadas, heranças, importações e relacionamentos, para que você possa passar de "onde isso está definido?" para "como isso realmente se conecta?" sem alternar entre ferramentas.
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]
Comparação em resumo
| Abordagem | Melhor para | Compromisso |
|---|---|---|
grep / busca em arquivos | Busca exata de strings | Perde relacionamentos e estrutura do código |
| RAG sobre blocos de código | Recuperação em linguagem natural | Pode perder precisão em nível de símbolo |
| CodeGraphContext | Raciocínio em todo o repositório | Exige uma etapa de indexação |
Casos de uso comuns
- Rastreie cadeias de chamadas entre arquivos e pacotes.
- Entenda hierarquias de classes, importações e limites de módulos.
- Encontre código morto, pontos críticos e dependências inesperadas.
- Dê a um assistente de IA o mesmo contexto estrutural que um mantenedor usaria.
FAQ
- Preciso de um serviço remoto? Não. O CGC funciona localmente com backends incorporados ou com bancos de dados de grafos externos quando você quiser.
- É apenas para uma linguagem? Não. Ele suporta uma ampla variedade de linguagens mainstream e está em constante expansão.
- Posso usá-lo com um assistente de IA? Sim. Esse é um dos principais motivos pelos quais o servidor MCP existe.
Detalhes do Projeto
- Versão: 0.5.1
- Autores: Shashank Shekhar Singh shashankshekharsingh1205@gmail.com
- Licença: Licença MIT (Consulte LICENSE para detalhes)
- Site: CodeGraphContext
👨💻 Mantenedor
CodeGraphContext é criado e mantido ativamente por:
Shashank Shekhar Singh
- 📧 E-mail: shashankshekharsingh1205@gmail.com
- 🐙 GitHub: @Shashankss1205
- 🔗 LinkedIn: Shashank Shekhar Singh
- 🌐 Site: codegraphcontext.vercel.app
Contribuições e feedback são sempre bem-vindos! Sinta-se à vontade para entrar em contato para dúvidas, sugestões ou oportunidades de colaboração.
Histórico de Estrelas
Gráfico de Histórico de Estrelas ↗
Recursos
- Indexação de Código: Analisa o código e constrói um grafo de conhecimento de seus componentes.
- Análise de Relacionamentos: Consulte chamadores, chamados, hierarquias de classes, cadeias de chamadas e muito mais.
- Pacotes Pré-indexados: Carregue repositórios famosos instantaneamente com pacotes
.cgc- sem necessidade de indexação! (Saiba mais) - Monitoramento de Arquivos em Tempo Real: Monitore diretórios em busca de alterações e atualize o grafo automaticamente em tempo real (
cgc watch). - Configuração Interativa: Um assistente de linha de comando amigável para configuração fácil.
- Modo Duplo: Funciona como um kit de ferramentas CLI autônomo para desenvolvedores e como um servidor MCP para agentes de IA.
- Suporte a Múltiplas Linguagens: Suporte completo para 23 linguagens de programação.
- Backend de Banco de Dados Flexível: FalkorDB Lite (Padrão), KuzuDB, LadybugDB, FalkorDB Remoto, Nornic DB ou Neo4j (todas as plataformas via Docker/nativo).
Visão Geral da Arquitetura
O CodeGraphContext transforma código-fonte em um grafo de conhecimento consultável que pode ser explorado por meio da CLI ou de assistentes de IA via 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]
Fluxo de Trabalho
- O código-fonte é analisado usando indexadores Tree-sitter ou SCIP.
- Relacionamentos entre funções, classes, importações e chamadas são extraídos.
- Um grafo de conhecimento é gerado e armazenado em um banco de dados de grafos.
- Os usuários podem consultar o grafo por meio da CLI ou de assistentes de IA usando MCP.
🏗️ Arquitetura e Fluxo de Trabalho
O CodeGraphContext analisa seu código-fonte e constrói um grafo de conhecimento abrangente. Esse grafo pode ser consultado diretamente via kit de ferramentas CLI ou exposto a assistentes de IA por meio do 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
🏗️ Arquitetura e Fluxo de Trabalho
O CodeGraphContext analisa seu código-fonte e constrói um grafo de conhecimento abrangente. Esse grafo pode ser consultado diretamente via kit de ferramentas CLI ou exposto a assistentes de IA por meio do 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
Linguagens de Programação Suportadas
O CodeGraphContext fornece análise e parsing abrangentes para as seguintes linguagens:
| Linguagem | Linguagem | Linguagem | |||
|---|---|---|---|---|---|
| 🐍 | 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 analisador de linguagem extrai funções, classes, métodos, parâmetros, relacionamentos de herança, chamadas de função e importações para construir um grafo de código abrangente.
Notas sobre Solidity: .sol usa Tree-sitter via tree-sitter-language-pack (sem SCIP). Suporta remapeamentos Foundry, invocações de modificadores, using Lib for T e emit / revert de erro personalizado como CALLS. Consulte docs/docs/contributing_languages.md § Solidity.
Notas sobre Kotlin: Anotações são registradas em funções e classes como decorators, retendo
seus argumentos (@Preview(showBackground = true)). Isso torna o find_dead_code's
exclude_decorated_with utilizável em bases de código Kotlin e Android — por exemplo, excluindo
Composable, Preview, Test e Provides. Esse filtro corresponde a funções, portanto, anotações
em nível de classe não o afetam. Anotações em interfaces, objetos, construtores, parâmetros e
propriedades ainda não são registradas.
Opções de Banco de Dados
O CodeGraphContext suporta vários backends de banco de dados de grafos para se adequar ao seu ambiente:
| Recurso | KuzuDB | LadybugDB | FalkorDB Lite | Neo4j / Nornic DB |
|---|---|---|---|---|
| Padrão típico | Fallback multiplataforma quando o FalkorDB Lite não está disponível | Backend incorporado opcional | Padrão no Unix (Python 3.12+, quando falkordblite está instalado) | Quando configurado explicitamente via cgc config db |
| Configuração | Zero-config / Incorporado | Zero-config / Incorporado | Zero-config / Em processo | Docker / Externo |
| Plataforma | Todas (Windows nativo, macOS, Linux) | Todas (Windows nativo, macOS, Linux) | Somente Unix (Linux/macOS/WSL) | Todas as plataformas |
| Caso de uso | Desktop, IDE, desenvolvimento local | Projetos de pesquisa personalizados | Desenvolvimento Unix especializado | Empresarial, grafos massivos |
| Requisito | pip install kuzu | pip install ladybug | pip install falkordblite | Servidor Neo4j / Docker / Nornic Cloud |
| Velocidade | ⚡ Extremamente rápido | ⚡ Rápido | 🚀 Escalável | 🌐 Dependente de rede |
| Persistência | Sim (em disco) | Sim (em disco) | Sim (em disco) | Sim (no servidor) |
KuzuDB/LadybugDB incorporados usam por padrão um pool de buffer de 4 GiB (CGC_EMBEDDED_BUFFER_POOL_MB). Defina essa variável de ambiente para outro valor em MiB, ou 0 para o padrão da biblioteca (~80% da RAM do sistema).
Indexação SCIP (opcional)
Quando SCIP_INDEXER=true na sua configuração do CGC (~/.codegraphcontext/.env), algumas linguagens usam indexadores SCIP externos para chamadas e heranças mais precisas do que as heurísticas do Tree-sitter sozinhas.
C e C++ usam scip-clang, que requer um arquivo compile_commands.json (um banco de dados de compilação JSON): uma entrada por unidade de tradução com o comando real do compilador (caminhos de inclusão, defines -D, -std, etc.). Sem ele, o scip-clang não pode ser executado; o CGC registra um aviso e volta para o Tree-sitter para esse repositório. Maneiras típicas de produzir o arquivo: CMake com -DCMAKE_EXPORT_COMPILE_COMMANDS=ON, ou envolva sua compilação real com Bear (por exemplo, bear -- make). O CGC também procura em build/ e cmake-build-*/ por esse nome de arquivo.
C# usa scip-dotnet (Roslyn); você precisa de um .csproj / .sln normal e um restore bem-sucedido — sem compile_commands.json.
O SCIP é independente do banco de dados de grafos que você usa (Kuzu, Neo4j, etc.); o mesmo sinalizador se aplica a todos os backends.
Usado Por
O CodeGraphContext já está sendo explorado por desenvolvedores e projetos para:
- Análise estática de código em assistentes de IA
- Visualização baseada em grafos de projetos
- Detecção de código morto e complexidade
Se você está usando o CodeGraphContext no seu projeto, sinta-se à vontade para abrir um PR e adicioná-lo aqui! 🚀
Dependências
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(somente Unix, Python 3.12+)kuzu(mecanismo KuzuDB)fastapi>=0.100.0uvicorn>=0.22.0requests>=2.28.0protobuf>=3.20,<3.21
Observação: Python 3.10-3.14 é suportado.
🚀 Instalação e Início Rápido
-
Instale o kit de ferramentas:
pip install codegraphcontext -
Solução de problemas (comando não encontrado): Se o comando
codegraphcontextnão for encontrado, execute esta correção de uma linha:curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash -
Configuração do Banco de Dados (Automática): O CodeGraphContext usa um banco de dados de grafos incorporado por padrão.
- FalkorDB Lite: Backend padrão.
- KuzuDB: Backend incorporado multiplataforma.
- Neo4j: Execute
codegraphcontext neo4j setuppara usar um servidor externo.
🧪 Configuração de Desenvolvimento Local
Se você quiser executar o CodeGraphContext a partir de um clone local e contribuir com alterações, use uma instalação editável:
git clone https://github.com/CodeGraphContext/CodeGraphContext.git
cd CodeGraphContext
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Em seguida, verifique a instalação e experimente os comandos locais:
cgc --help
cgc doctor
cgc index .
cgc analyze callers main
Para trabalhar com o servidor MCP, finalize a configuração com:
cgc mcp setup
cgc mcp start
Se você estiver apenas instalando o pacote publicado, pip install codegraphcontext é suficiente. Se você estiver desenvolvendo recursos com uso intensivo de parser e quiser também os extras opcionais de parsing, instale com pip install -e ".[dev,parsing]".
🐳 Docker (Python Não Necessário)
Execute o CodeGraphContext sem instalar Python — baixe a imagem e comece a indexar:
Início 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
Tags Docker Disponíveis
| Tag | Descrição |
|---|---|
latest | Última versão estável |
edge | Última versão do branch main (pode ser instável) |
0.4.19 | Versão específica |
0.4 | Última correção na série 0.4.x |
Para usos mais avançados do Docker, incluindo executar o Servidor MCP ou conectar bancos de dados externos, consulte nosso Guia Abrangente de Docker.
📋 Pré-requisitos
Antes de instalar o CodeGraphContext, garanta que você tenha:
- Python 3.10 ou posterior
- Gerenciador de pacotes pip
- Git (opcional, para clonar repositórios)
Verifique sua instalação do Python:
python --version
🚀 Guia de Configuração Passo a Passo
Passo 1: Instalar o CodeGraphContext
pip install codegraphcontext # Installs CodeGraphContext and required dependencies
Este comando instala o CodeGraphContext e todas as dependências necessárias.
Passo 2: Verificar a Instalação
codegraphcontext --help
Se o comando exibir os comandos CLI disponíveis, a instalação foi bem-sucedida.
Passo 3: Configuração do Banco de Dados
O CodeGraphContext usa automaticamente um banco de dados embutido por padrão, portanto nenhuma configuração adicional é necessária para a maioria dos usuários.
🏃 Como Executar o Projeto Localmente
Indexar um Repositório
codegraphcontext index . # Scans current directory and builds code graph
Isso examina o projeto atual e cria um grafo de código pesquisável.
Visualizar Repositórios Indexados
codegraphcontext list
Exibe todos os repositórios atualmente indexados pelo CodeGraphContext.
Analisar Código
codegraphcontext analyze dead-code
Encontra código potencialmente não utilizado no repositório indexado.
✅ Verifique se Tudo Funciona
Após indexar um repositório, execute:
codegraphcontext list # Shows all indexed repositories in the system
Se o comando for executado com sucesso e exibir os repositórios indexados, sua configuração está completa e o CodeGraphContext está pronto para uso.
Para o Modo CLI Toolkit
Comece a usar imediatamente com 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
Consulte o Guia Completo de Comandos CLI para todos os comandos disponíveis e cenários de uso.
🎨 Visualização Interativa Premium
O CodeGraphContext pode gerar grafos de conhecimento interativos e impressionantes do seu código. Diferente de diagramas estáticos, estes são exploradores web premium:
- Estética Premium: Modo escuro, glassmorphism e tipografia moderna (Outfit/JetBrains Mono).
- Inspeção Interativa: Clique em qualquer nó para abrir um painel lateral detalhado com informações de símbolos, caminhos de arquivos e contexto.
- Busca Rápida: Pesquisa ao vivo no grafo para encontrar símbolos específicos instantaneamente.
- Layouts Inteligentes: Layouts direcionados por força e hierárquicos que tornam relacionamentos complexos legíveis.
- Visualização Sem Dependências: Arquivos HTML autônomos que funcionam em qualquer 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 o Modo Servidor MCP
Configure seu assistente de IA para usar o CodeGraphContext:
-
Configuração: Execute o assistente de configuração do MCP para configurar seu IDE/assistente de IA:
codegraphcontext mcp setupO assistente pode detectar e configurar automaticamente:
- VS Code
- Cursor
- Windsurf
- Zed
- Claude
- Gemini CLI
- ChatGPT Codex
- Cline
- RooCode
- Amazon Q Developer
- Kiro
- Goose
- OpenCode
Após a configuração bem-sucedida, o
codegraphcontext mcp setupgerará e colocará os arquivos de configuração necessários:- Ele cria um arquivo
mcp.jsonno seu diretório atual para referência. - Ele armazena suas credenciais de banco de dados com segurança em
~/.codegraphcontext/.env. - Ele atualiza o arquivo de configurações do seu IDE/CLI escolhido (por exemplo,
.claude.jsonou osettings.jsondo VS Code).
-
Iniciar: Inicie o servidor MCP:
codegraphcontext mcp start -
Usar: Agora interaja com sua base de código através do seu assistente de IA usando linguagem natural! Veja exemplos abaixo.
Ignorando Arquivos (.cgcignore)
Você pode instruir o CodeGraphContext a ignorar arquivos e diretórios específicos criando um arquivo .cgcignore na raiz do seu projeto. Este arquivo usa a mesma sintaxe do .gitignore.
Exemplo de arquivo .cgcignore:
# Ignore build artifacts
/build/
/dist/
# Ignore dependencies
/node_modules/
/vendor/
# Ignore logs
*.log
Configuração do Cliente MCP
O comando codegraphcontext mcp setup tenta configurar automaticamente seu IDE/CLI. Se você optar por não usar a configuração automática, ou se sua ferramenta não for suportada, você pode configurá-la manualmente.
Adicione a seguinte configuração de servidor ao arquivo de configurações do seu cliente (por exemplo, o settings.json ou .claude.json do VS Code):
{
"mcpServers": {
"CodeGraphContext": {
"command": "codegraphcontext",
"args": [
"mcp",
"start"
],
"disabled": false,
"alwaysAllow": []
}
}
}
Configuração do OpenCode
Para instruções sobre como instalar e configurar servidores MCP com o OpenCode, consulte o Guia MCP do OpenCode.
Se instalado via pipx
Se você instalou o CodeGraphContext usando pipx, use a seguinte configuração:
{
"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": []
}
}
}
Saída Otimizada por Tokens (GCF)
Reduza os tokens de resposta das ferramentas em ~62% com o formato de saída GCF opcional:
pip install gcf-python
CGC_OUTPUT_FORMAT=gcf codegraphcontext mcp start
Ou adicione-o à configuração do seu cliente MCP:
{
"mcpServers": {
"CodeGraphContext": {
"command": "codegraphcontext",
"args": ["mcp", "start"],
"env": {
"CGC_OUTPUT_FORMAT": "gcf"
}
}
}
}
O GCF codifica dados estruturados com campos posicionais (chaves declaradas uma vez, valores separados por pipe). Os resultados de consulta do grafo de código (símbolos, relacionamentos, chamadores, complexidade) são exatamente o formato de dados onde o GCF mais economiza. Compreensão 100% por LLMs em todos os modelos de fronteira. Retorna ao JSON se o gcf-python não estiver instalado.
Exemplos de Interação em Linguagem Natural
Uma vez que o servidor esteja em execução, você pode interagir com ele através do seu assistente de IA usando inglês simples. Aqui estão alguns exemplos do que você pode dizer:
Indexação e Observação de Arquivos
-
Para indexar um novo projeto:
- "Por favor, indexe o código no diretório
/path/to/my-project." OU - "Adicione o projeto em
~/dev/my-other-projectao grafo de código."
- "Por favor, indexe o código no diretório
-
Para começar a observar um diretório para mudanças ao vivo:
- "Observe o diretório
/path/to/my-active-projectpara mudanças." OU - "Mantenha o grafo de código atualizado para o projeto em que estou trabalhando em
~/dev/main-app."
Quando você pede para observar um diretório, o sistema executa duas ações ao mesmo tempo:
- Ele inicia uma varredura completa para indexar todo o código naquele diretório. Este processo roda em segundo plano, e você receberá um
job_idpara acompanhar seu progresso. - Ele começa a observar o diretório para quaisquer mudanças de arquivos, mantendo o grafo atualizado em tempo real.
Isso significa que você pode começar simplesmente pedindo ao sistema para observar um diretório, e ele lidará automaticamente tanto com a indexação inicial quanto com as atualizações contínuas.
- "Observe o diretório
Consultando e Entendendo Código
-
Encontrando onde o código é definido:
- "Onde está a função
process_payment?" - "Encontre a classe
Userpara mim." - "Mostre-me qualquer código relacionado a 'conexão de banco de dados'."
- "Onde está a função
-
Analisando relacionamentos e impacto:
- "Quais outras funções chamam a função
get_user_by_id?" - "Se eu mudar a função
calculate_tax, quais outras partes do código serão afetadas?" - "Mostre-me a hierarquia de herança da classe
BaseController." - "Quais métodos a classe
Orderpossui?"
- "Quais outras funções chamam a função
-
Explorando dependências:
- "Quais arquivos importam a biblioteca
requests?" - "Encontre todas as implementações do método
render."
- "Quais arquivos importam a biblioteca
-
Rastreamento Avançado de Cadeias de Chamadas e Dependências (Atravessando Centenas de Arquivos): O CodeGraphContext se destaca em rastrear fluxos de execução complexos e dependências em vastas bases de código. Aproveitando o poder dos bancos de dados de grafos, ele pode identificar chamadores e chamados diretos e indiretos, mesmo quando uma função é chamada através de múltiplas camadas de abstração ou em vários arquivos. Isso é inestimável para:
-
Análise de Impacto: Entenda o efeito cascata completo de uma mudança em uma função central.
-
Depuração: Trace o caminho de execução de um ponto de entrada até um bug específico.
-
Compreensão de Código: Entenda como diferentes partes de um grande sistema interagem.
-
"Mostre-me a cadeia de chamadas completa da função
mainatéprocess_data." -
"Encontre todas as funções que chamam
validate_inputdireta ou indiretamente." -
"Quais são todas as funções que
initialize_systemeventualmente chama?" -
"Trace as dependências do módulo
DatabaseManager."
-
-
Qualidade e Manutenção de Código:
- "Há algum código morto ou não utilizado neste projeto?"
- "Calcule a complexidade ciclomática da função
process_dataemsrc/utils.py." - "Encontre as 5 funções mais complexas na base de código."
-
Gerenciamento de Repositórios:
- "Liste todos os repositórios atualmente indexados."
- "Exclua o repositório indexado em
/path/to/old-project."
Solução de Problemas
Enfrentando um erro de bloqueio, um loop de "indexação que nunca termina" ou um recurso silencioso? Consulte docs/TROUBLESHOOTING.md — cada entrada mapeia um problema real relatado para sua correção ou solução alternativa.
Contribuindo
Contribuições são bem-vindas! 🎉
Consulte nosso CONTRIBUTING.md para diretrizes detalhadas.
Se você tiver ideias para novos recursos, integrações ou melhorias, abra uma issue ou envie um Pull Request.
Participe das discussões e ajude a moldar o futuro do CodeGraphContext.


