Transclusão de Símbolos
Escreva um wiki-link para um nome de função e o corpo da função é renderizado no lugar, com destaque de sintaxe, extraído diretamente dos seus arquivos-fonte. A extração baseada em AST funciona para 40+ linguagens: Python, Swift, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, Kotlin e mais. Edite o fonte, o documento se atualiza.
# Incorporar uma função por nome
![[auth.py#validate_token]]O Ohai extrai a função validate_token de auth.py e a renderiza inline com destaque de sintaxe. Quando a função muda, sua documentação atualiza automaticamente.
Por que isso importa
A documentação tradicional apodrece. Você copia e cola código no markdown, o código evolui, e de repente sua documentação está mentindo para você. A transclusão de símbolos resolve isso tratando seus arquivos-fonte como a única fonte da verdade.
Ao contrário de referências por número de linha que quebram a cada refatoração, a transclusão de símbolos usa análise AST para encontrar código pelo seu nome real — funções, classes, structs, constantes. Renomeie um arquivo, reorganize seu código, adicione novos métodos — enquanto o nome do símbolo existir, sua documentação permanece precisa.
Casos de Uso
Documentação de API
Referencie suas assinaturas de função reais, não aproximações digitadas à mão que ficam desatualizadas.
Registros de Decisão de Arquitetura
Incorpore o código que você está discutindo em ADRs. Os exemplos permanecem atuais conforme a base de código evolui.
Guias de Integração
Mostre aos novos desenvolvedores como a autenticação funciona com código ao vivo em que eles podem confiar que corresponde ao repositório.
Revisões de Código
Extraia funções específicas para um resumo em markdown para revisão e discussão assíncrona.
Tutoriais
Percorra implementações reais. Os leitores podem confiar que os exemplos de código estão sempre atualizados.
Runbooks
Incorpore a configuração ou script exato que a equipe de operações precisa consultar durante incidentes.
Linguagens Suportadas
Análise AST Tree-sitter para Python, Swift, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, Kotlin, PHP, Scala, Haskell, OCaml, Lua, Elixir, Bash e mais — além de extratores de caminhos de formatos de dados para chaves JSON, caminhos YAML, tabelas TOML, caminhos plist, XML, CSS, SQL e texto simples. Mais de 40 formatos no total.
Pronto para experimentar documentação que nunca fica desatualizada?
Baixar para Mac