ASP.NET · SQL Server · Roslyn · MCP

Capire un'applicazione ASP.NET
senza leggerla tutta.

si-engine legge il codice C# e lo schema SQL Server, collega pagine, servizi e tabelle e produce documentazione per le persone e knowledge per gli agenti AI. Ogni informazione porta l'evidenza (file, riga) e una confidenza.

  • Locale, nessun dato esce
  • Database in sola lettura
  • Dichiara cosa non ha analizzato
10 tool MCP di sola lettura
9 fasi di scansione
4 formati di export
0 dati inviati all'esterno

Cosa ricostruisce

Analisi statica: il codice non viene compilato né eseguito.

Codice

Roslyn su C#

Controller, pagine Razor, route, menu, permessi e endpoint minimal API, con il grafo delle chiamate.

Database

Schema SQL Server

Tabelle, vincoli, indici, viste, procedure, trigger e dipendenze, con un account da soli CONNECT e VIEW DEFINITION.

Correlazione

Pagina → servizio → tabella

Riconosce EF Core, Dapper e ADO.NET e individua le regole di business, ciascuna con confidenza esplicita.

Impatto

Cosa tocca questa tabella?

Chiedi l'impatto di una tabella o di una pagina prima di modificarla e confronta due scansioni con il diff.

Export

Persone e agenti AI

Markdown, Mermaid e CSV, più JSON validati da JSON Schema e context pack con budget di token.

Onestà

La copertura dice i limiti

Ciò che è dedotto resta distinto dal fatto, e ciò che non è stato analizzato è elencato.

Dodici comandi, tutto da terminale

Dalla scansione alla domanda a un agente AI, con lo stesso modello di conoscenza.

scan

Scansione completa o incrementale

Nove fasi, istantanee immutabili, riuso di ciò che non è cambiato. Con --source-only o --database-only se serve.

search · context

Ricerca e context pack

Ricerca full-text bilingue e pacchetti di contesto con budget di token, che dichiarano ciò che hanno escluso.

impact · diff

Impatto e differenze

Che cosa tocca una modifica, con confidenza per passo. Che cosa è cambiato tra due scansioni.

export

Documentazione generata

Pagine, API, moduli, sicurezza, regole, database e diagrammi Mermaid, più JSON per gli agenti.

api · mcp

API locale e server MCP

REST su loopback con token e 10 tool MCP di sola lettura per Claude, Copilot e Cursor.

database

Schema SQL Server

Tabelle, vincoli, indici, viste, procedure e trigger. Se il database non risponde, la scansione prosegue con un warning.

Un esempio reale

Analisi di impatto sulla tabella ORDERS di un'applicazione MVC di prova. Ogni passo dice se è un fatto o una deduzione, e ciò che non si può verificare resta «non verificato».

si-engine impactabbreviato
Risk: HIGH - 17 confirmed item(s)
Counts: direct 2, transitive 15,
        possible 0, unverified 1

EfOrderRepository  [direct, 0.80]
  reads ORDERS (fact)
Orders.Create  [transitive, 0.72, deduced]
  writes ORDERS
  via OrderService.CreateOrder
   -> EfOrderRepository.AddAsync
AdoOrderReportRepository  [unverified]
  builds SQL dynamically: NOT a
  verified dependency.

Come si usa

  1. Installa il tool

    dotnet tool install -g si-engine. Serve il .NET 10 SDK.

  2. Registra l'applicazione

    si-engine init crea l'area di lavoro, si-engine app add indica la cartella del repository e, se vuoi, il database.

  3. Scansiona ed esporta

    si-engine scan salva un'istantanea immutabile. Poi export, search, context e impact.

Pensato per gli agenti AI

Un solo comando avvia un server MCP con 10 tool di sola lettura. Claude, Copilot, Cursor e gli altri client MCP interrogano la conoscenza dell'applicazione invece di rileggere migliaia di file.

  • Context pack con budget di token
  • Ricerca full-text bilingue
  • API locale su loopback con token
mcp.jsonstdio
{
  "mcpServers": {
    "sie": {
      "command": "si-engine",
      "args": ["mcp", "serve"]
    }
  }
}
Database non raggiungibile? Non è un blocco. La scansione emette un warning, prosegue sul solo codice sorgente e la copertura segna il database come non analizzato, con il motivo.

Domande frequenti

Come si installa?

Con il .NET 10 SDK: dotnet tool install -g si-engine. Per aggiornare: dotnet tool update -g si-engine. Per rimuovere: dotnet tool uninstall -g si-engine.

Modifica l'applicazione o il database?

No. Il codice è letto senza essere compilato né eseguito e SQL Server è interrogato in sola lettura. I dati delle tabelle non vengono mai letti.

Cosa succede se il database non è raggiungibile?

La scansione non si ferma: emette un warning, prosegue sul solo codice sorgente e la copertura dichiara che il database non è stato analizzato.

Quali tecnologie supporta?

ASP.NET Core con C# e SQL Server. Web Forms, MVC 5 e gli altri database non sono supportati. I limiti completi sono nella guida.

Funziona senza rete?

Sì. La rete serve solo per installare il tool.