RVM.CodeLens
Ferramenta de analise estatica para solucoes .NET usando Roslyn, com CLI, dashboard Blazor e API REST.
Visao geral
RVM.CodeLens e uma ferramenta de analise estatica que utiliza o compilador Roslyn para calcular metricas de codigo, detectar padroes arquiteturais, mapear dependencias e identificar hotspots atraves da analise de historico Git. O projeto oferece tres interfaces: uma CLI com multiplos formatos de saida (tabela, JSON, Markdown), um dashboard web Blazor Server com visualizacoes interativas e uma API REST para integracao com outras ferramentas.
Funcionalidades
- Calculo de Complexidade Ciclomatica (CC) com suporte a if, for, switch, catch, operadores logicos e ternarios
- Indice de Manutenibilidade (MI) usando a formula do Visual Studio
- Acoplamento de classes via analise semantica do Roslyn
- Profundidade de heranca e contagem de linhas (codigo, comentarios, em branco)
- Grafo de dependencias entre projetos e pacotes NuGet
- Deteccao automatica de camadas arquiteturais (Domain, Application, Infrastructure, Presentation)
- Analise de hotspots combinando churn do Git com complexidade
- CLI com Spectre.Console, Dashboard Blazor e 6 endpoints REST
- Multiplos formatos de saida: tabela, JSON e Markdown
Tecnologias
Padroes & arquitetura
Endpoints REST
| Method | Path | Descricao |
|---|---|---|
| POST | /api/analyze | Analisa solucao .NET |
| GET | /api/analysis/current | Analise carregada em memoria |
| GET | /api/metrics | Metricas de todos os projetos |
| GET | /api/deps | Grafo de dependencias |
| GET | /api/hotspots | Hotspots baseados em Git |
| GET | /api/architecture | Camadas e violacoes |