Hoe AI Los te Laten op Oude Legacy Code Zonder Iets te Breken
Stel je een typisch scenario voor: je hebt een project geërfd met vijf jaar geschiedenis. Er is geen documentatie, de oorspronkelijke code-auteur is drie jaar geleden vertrokken, en de bedrijfslogica is uitgesmeerd over honderden bestanden. Een AI-agent zoals Claude Code of Cursor aansluiten op zo'n codebase is angstaanjagend. Je vraagt het om één functie te repareren — het herschrijft het naburige module en vernietigt impliciete afhankelijkheden die niemand ooit kende.
Onlangs verscheen een interessant hulpmiddel genaamd Reversa op GitHub, gemaakt door een ontwikkelaar met de gebruikersnaam sandeco. Het framework lost dit probleem op een originele manier op: het duikt in een legacy project, voert reverse engineering uit en transformeert de broncode naar uitvoerbare specificaties.

Waarom Code Vervangen door Specificaties
De meeste codeeragents blinken uit in het creëren van projecten van scratch. Je schrijft een prompt, het hulpmiddel genereert een schone structuur en werkende code. Deze truc werkt niet met legacy code. Als het agent de architecturale beperkingen en context niet begrijpt, werkt het blindelings.
Reversa fungeert als een brug tussen oude code en moderne AI-assistenten. Het hulpmiddel schrijft geen documentatie voor mensen in de traditionele zin. In plaats daarvan genereert het operationele contracten. Op basis hiervan kan elk codeeragent onmiddellijk de spelregels, databasetabellen, permissie-matrices en algoritmen zien die niet geschonden mogen worden.
Hoe het Onderzoeksproces Werkt
De installatie wordt uitgevoerd in de project root via één enkele opdracht:
npx reversa install
De installer detecteert automatisch geïnstalleerde engines in het systeem — Cursor, Claude Code, Codex, Windsurf of Copilot. Daarna kopieert het skill sets naar de .agents/skills/ directory en maakt een configuratiebestand.
Wanneer je de /reversa opdracht uitvoert binnen je AI-client, start een pijplijn van verschillende gespecialiseerde agents. Elk voert zijn eigen rol uit in het analyseproces:
- Scout scant de oppervlaktestructuur, identificeert talen, frameworks en entry points.
- Archaeologist duikt diep in modules, parseert datastructuren en complexe algoritmen.
- Detective extraheert impliciete bedrijfsregels, state diagrammen en toegangsregels.
- Architect compileert de verzamelde data naar C4 diagrammen, ERD schema's en integratiemaps.
- Writer formatteert de uiteindelijke specificaties als contracten met bindingen aan specifieke coderegels.
Een interessant detail: Reversa markeert elke uitspraak in de uiteindelijke documenten met een speciale nauwkeurigheidsbadge. Het 🟢 icoon betekent dat de regel direct ondersteund wordt door code met bestands- en regelreferenties. Het 🟡 icoon wordt geplaatst waar de AI een logische afleiding maakte. De rode marker 🔴 geeft "witte vlekken" aan waar de code iets niet kon uitleggen en menselijke interventie vereist is.
Veilig Standaard
De grootste angst bij het lanceren van geautomatiseerde hulpmiddelen bovenop een complex repository is dataverlies of accidentele bewerkingen. De makers van Reversa benadrukten complete isolatie.
Het framework volgt een strikte regel: de broncode van het project wordt nooit gewijzigd of verwijderd tijdens de analyse. Alle resultaten worden door agents naar slechts twee service mappen geschreven: .reversa/ voor analyse status en _reversa_sdd/ voor voltooide specificaties.
Bovendien vraagt het hulpmiddel niet om of verzendt geen API-sleutels. Alle analytische werk wordt overgedragen aan welk AI-hulpmiddel je al lokaal draait.
Wat Er Gebeurt Na Data-extractie
Het maken van specificaties is slechts de eerste stap. Op basis van de gegenereerde _reversa_sdd/ map kun je andere werkstromen starten via aanvullende opdrachten.
/reversa-forwardhelpt het systeem stap voor stap te evolueren, waarbij nieuwe vereisten worden getransformeerd naar werkende code met regressiecontrole./reversa-migratebereidt een plan voor voor het migreren van de legacy stack naar een moderne architectuur./reversa-docscompileert de verzamelde data naar een statische HTML site met interactieve D3 grafieken en een 3D architectuurkaart./reversa-debuggerregistreert bugs en koppelt ze causaal aan specificaties.
Als je een volledige cyclus wilt uitvoeren zonder constante stops en bevestigingen, is er een autonome modus /reversa-autonomous. Daarin stelt het hulpmiddel alle verduidelijkende vragen tijdens een opstartinterview, waarna het zelfstandig werkt.
Waar Resultaten Worden Opgeslagen
Binnen de _reversa_sdd/ map verschijnt een duidelijke structuur van Markdown bestanden. Daar vind je een data dictionary, domeinbeschrijving, rolmatrices, OpenAPI specificaties en sequentiediagrammen in Mermaid formaat.
_reversa_sdd/
├── inventory.md # Инвентаризация файлов
├── dependencies.md # Зависимости и версии
├── code-analysis.md # Помодульный технический анализ
├── data-dictionary.md # Словарь данных
├── domain.md # Бизнес-правила и глоссарий
├── state-machines.md # Конечные автоматы в формате Mermaid
├── architecture.md # Обзор архитектуры
├── confidence-report.md # Отчет о точности анализа
└── sdd/ # Спецификации отдельных компонентов
Als je code wijzigt via /reversa-forward tijdens systeemverfijning, voegt een speciale Sync agent voorzichtig informatie over nieuwe functies toe aan de _reversa_sdd/addenda/ map, waarbij de wijzigingsgeschiedenis behouden blijft.
Is Het De Moeite Waard Om Te Adopteren
Reversa lijkt een volwassen poging om orde te brengen in de chaos van legacy projecten voordat ze worden overgedragen aan AI. Het project ontwikkelt zich actief, en een recente preprint op arXiv van mei 2026 onderbouwt de architectuur van het framework met een academische benadering.
Het hulpmiddel zal nuttig zijn voor teams die verwaarloosde services hebben geërfd zonder documentatie, evenals voor degenen die een gefaseerde migratie van oude stacks plannen. Je kunt het hulpmiddel uitproberen op elke test repository, aangezien het geen bestaande bestanden wijzigt.
Voor een snelle start voer je gewoon npx reversa install uit in de terminal en open je het project in je gebruikelijke AI-editor.
Gerelateerde projecten