← voltar #01

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

  • .NET 10
  • Roslyn (Microsoft.CodeAnalysis) 5.3
  • MSBuild Workspaces
  • LibGit2Sharp
  • Spectre.Console
  • Blazor Server
  • ASP.NET Core
  • Serilog
  • xUnit
  • Moq

Padroes & arquitetura

  • Layered Architecture
  • Visitor Pattern (SyntaxWalkers)
  • Strategy Pattern (Formatters)
  • Dependency Injection
  • Immutable Models (Records)
  • Minimal API (MapGroup)

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
Disponivel para trabalho remoto

Vamos
conversar?

Aberto a oportunidades remotas com .NET. Resposta em ate 24h.