Co tworzę

Rozwijam RoslynIndexer jako warstwę analizy strukturalnej, która przygotowuje repozytorium do dalszego przeszukiwania i rozumowania. Zamiast budować cudzy projekt, narzędzie wczytuje rozwiązanie przez MSBuildWorkspace, odczytuje strukturę Roslyn i zbiera relacje między obiektami. Oddzielnie może analizować skrypty T-SQL, Entity Framework, zapytania osadzone w C# i migracje. Wynik eksportuję do przenośnego ZIP-a.

Analiza bez budowania rozwiązania

W rzeczywistych repozytoriach build może wymagać starych SDK, serwerów, pakietów lub niedostępnych usług. W RoslynIndexer świadomie oddzielam ewaluację projektów od kompilacji. Nieznane typy projektów mogą zostać pominięte, a analiza skupia się na dostępnej strukturze kodu.

Kod i baza danych w jednym obrazie zależności

C# to tylko część obrazu. Powiązania z tabelami, procedurami i migracjami często wyjaśniają działanie aplikacji lepiej niż pojedyncza metoda. Dlatego łączę analizę Roslyn z opcjonalnym grafem SQL/ORM, a dane przygotowuję tak, by kolejne narzędzia mogły je przetwarzać bez ponownego indeksowania źródeł.

Przenośny format wyniku

Paczka zawiera m.in. chunks.json, dependencies.json, nodes.csv, edges.csv i graph.json. Taki artefakt można przekazać do LocalAI-RAG lub wykorzystać w innych analizach. Jest rozdzielony od kodu indeksowanego repozytorium i od konkretnego interfejsu użytkownika.

Zakres projektu

  • Odczyt projektów MSBuild i struktury Roslyn bez budowania rozwiązania i bez uruchamiania kodu
  • Fragmenty klas i metod oraz zależności C#
  • Graf obiektów SQL i relacji EF, łącznie z SQL osadzonym w kodzie
  • Eksport regular_code_bundle i sql_code_bundle
  • Obsługa .NET 9 oraz wariantu .NET Framework 4.8