O que standardoc faz?
Converta código em um grafo de conhecimento consultável para humanos e agentes de IA usando indexação de AST em tempo real para LSP e MCP.
Visão Geral
O standardoc gera um grafo de conhecimento a partir do seu código-fonte, capturando relacionamentos entre funções, classes, métodos, variáveis e outros símbolos. Este grafo pode ser consultado por humanos (através de IDEs com suporte a LSP) ou por agentes de IA (via MCP), permitindo compreensão contextual profunda.
Funcionalidades Principais
- Indexação de AST em tempo real: monitora alterações no sistema de arquivos e atualiza o grafo instantaneamente.
- Integração com LSP: fornece recursos avançados de navegação, autocompletar e documentação em editores compatíveis.
- Suporte a MCP: expõe o grafo de conhecimento como um recurso consumível por agentes de IA.
- Múltiplas linguagens: oferece suporte a JavaScript, TypeScript, Python, Java, C++, Go, Rust e outras linguagens comuns.
- Dependências entre módulos: mapeia importações e dependências entre arquivos e pacotes.
Como Funciona
- O serviço do standardoc observa o diretório raiz do projeto.
- Quando um arquivo é alterado, ele reanalisa o AST do arquivo modificado e dos arquivos dependentes.
- O grafo de conhecimento é armazenado em memória e persistido em um banco de dados leve (opcional).
- As consultas LSP e MCP usam este grafo para fornecer respostas rápidas e precisas.
Exemplo de Uso
# Iniciar o serviço standardoc no diretório atual
npx standardoc --watch
# Consultar o grafo de conhecimento via MCP (exemplo com curl)
curl -X POST http://localhost:3000/mcp/query \
-H "Content-Type: application/json" \
-d '{"query": "Funções que chamam `sendEmail`"}'
Integração com LSP
Adicione a configuração abaixo ao seu editor (VS Code):
{
"lsp.config": {
"standardoc": {
"command": "npx",
"args": ["standardoc", "--lsp"]
}
}
}
Configuração
| Variável | Descrição | Padrão |
|---|---|---|
STANDARDOC_WATCH | Habilitar monitoramento em tempo real | true |
STANDARDOC_LSP_PORT | Porta do servidor LSP | 6009 |
STANDARDOC_MCP_ENABLED | Habilitar servidor MCP | true |
STANDARDOC_DB_PATH | Caminho para o banco de dados persistente | ./.standardoc/db |
Licença
MIT