Este documento descreve a stack efetivamente usada hoje no projeto.
- Linguagem principal: Go (
go 1.26.x). - Framework de CLI:
github.com/spf13/cobra. - Help estilizado:
github.com/charmbracelet/lipgloss. - Spinner: implementação interna em Go (
internal/ui), sem runtime externo.
- Go: parsing com stdlib
go/parser+go/ast. - JavaScript/TypeScript: Tree-sitter com:
- Python: Tree-sitter com:
- Roteador HTTP:
github.com/go-chi/chi/v5. - API local para métricas, detalhes de módulo e streaming SSE de IA.
- Assets frontend embutidos no binário com
embed.
- SDK:
google.golang.org/genai. - Modelo padrão:
gemini-2.5-flash. - Streaming de resposta para frontend via SSE (
/api/ai/insights).
- Build tool: Vite.
- Linguagem: TypeScript.
- Visualização: D3.js.
- Saída compilada em
web/dist, embutida no binário porgo:embed(web/embed.go).
- CLI recebe argumentos e flags.
- Parser varre arquivos com filtros de exclusão padrão + extras.
- Analyzer calcula métricas arquiteturais e hotspots.
- Servidor local expõe API + dashboard embutido.
- Browser é aberto automaticamente (salvo
--no-browser). - IA (se habilitada) entra em segundo plano por streaming.