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