Je hebt Claude Code geinstalleerd. Je terminal staat open in de root van een .NET solution. De cursor knippert. En nu?
Ik weet nog hoe mijn eerste sessie ging. Geen idee waar ik moest beginnen. Moest ik iets vragen? Een opdracht geven? Eerst mijn project uitleggen? Het voelde alsof er een nieuwe collega naast me zat die niets van mijn codebase wist — alleen kan deze collega je hele project in seconden lezen.
Dit is wat ik graag had geweten voor dat eerste uur.
Stap 1: Laat Claude Code verkennen
Start Claude Code in je terminal:
claude
Voer dan het /init commando uit. Dit laat Claude Code je solution scannen en een CLAUDE.md bestand aanmaken — een soort geheugenbestand voor je project.
> /init
Claude Code leest je .sln bestand, ontdekt de projecten, bekijkt de dependencies in je .csproj bestanden en analyseert je mappenstructuur. Binnen een minuut heeft het een compleet beeld van je solution.
Een typische solution met een Web API, een domeinlaag en een infrastructuurproject? Claude Code pikt dat allemaal op. De projectreferenties, de NuGet packages, de patronen die je gebruikt — het leest het gewoon.
Stap 2: Vraag wat het ziet
Deze stap slaan de meeste mensen over, maar het is de waardevolste om vertrouwen op te bouwen. Vraag Claude Code wat het heeft gevonden:
“Wat doet deze solution? Welke patronen en conventies worden er gebruikt?”
Claude Code geeft je dan zoiets als:
“Dit is een ASP.NET Core Web API met Clean Architecture. Het Domain project bevat entities en interfaces, Infrastructure regelt EF Core en externe services, en het API project heeft controllers met MediatR voor CQRS. Er wordt FluentValidation gebruikt voor request-validatie en AutoMapper voor object mapping.”
Als dit klopt — en in mijn ervaring klopt het meestal — dan weet je dat Claude Code je codebase goed genoeg begrijpt om nuttige wijzigingen te maken. Mist het iets? Dan is dat je signaal om context toe te voegen aan het CLAUDE.md bestand.
Stap 3: Maak je eerste wijziging
Begin klein. Vraag Claude Code niet om je architectuur te herontwerpen op dag een. Kies iets concreets met laag risico.
Een goed eerste taakje: voeg een eenvoudig health check endpoint toe.
“Voeg een health check endpoint toe op /health dat de applicatienaam en versie teruggeeft.”
Claude Code maakt het endpoint aan en respecteert daarbij de patronen die het in je project heeft gevonden. Gebruik je minimal APIs? Dan krijg je een MapGet. Gebruik je controllers? Dan krijg je een controller. Het past zich aan aan wat er al staat.
app.MapGet("/health", () => Results.Ok(new
{
Status = "Healthy",
Application = "MyApi",
Version = typeof(Program).Assembly
.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?
.InformationalVersion ?? "unknown"
}));
Het belangrijkste hier: bekijk de code voordat je het accepteert. Claude Code vraagt bevestiging voordat het bestanden wijzigt. Lees wat het voorstelt. Dezelfde werkwijze als bij een collega — je merged hun PR ook niet blindelings.
Stap 4: Draai de tests
Na een wijziging vraag je Claude Code om te verifieren:
“Draai de tests om te controleren of alles nog werkt.”
Claude Code voert dotnet test uit en toont de output. Als er iets faalt, leest het de testoutput en probeert het probleem op te lossen. Deze feedbackloop — wijzigen, testen, fixen — is waar Claude Code echt tot zijn recht komt.
dotnet test --verbosity normal
Heeft je solution nog geen tests? Dat is eigenlijk een prima tweede opdracht:
“Kun je een test schrijven voor het health check endpoint dat we net hebben aangemaakt?”
Je krijgt een nette integratie-test met WebApplicationFactory, in het testframework dat je al gebruikt — xUnit, NUnit of MSTest.
Stap 5: Richt je CLAUDE.md in
Het /init commando heeft een basis CLAUDE.md bestand aangemaakt. Nu is het tijd om het echt van jou te maken. Open het bestand en voeg de dingen toe die Claude Code niet zelf kan ontdekken:
- Hoe je het project lokaal draait (connection strings, Docker containers, etc.)
- Naamconventies die je team hanteert
- Dingen om te vermijden (“gebruik geen Repository pattern, wij werken met CQRS”)
- Het testcommando en hoe je specifieke testprojecten draait
## Commands
- Run: `dotnet run --project src/MyApi`
- Test: `dotnet test tests/MyApi.Tests`
- Database: `docker compose up -d` (start PostgreSQL op poort 5432)
## Conventions
- Gebruik MediatR handlers, geen service classes
- Alle request validatie via FluentValidation
- Geen business logic in controllers
Dit bestand is de grootste hefboom voor goede resultaten met Claude Code. Hoe specifieker je bent over je conventies, hoe beter Claude Code ze volgt.
Tips voor je eerste sessie
Wel proberen:
- Vraag Claude Code om bestaande code uit te leggen die je al tijden wilt begrijpen
- Fix een kleine bug die al een tijdje in de backlog staat
- Voeg een ontbrekende test toe voor een bestaande feature
- Laat een DTO of mapping genereren die vervelend is om met de hand te schrijven
Nog niet proberen:
- Grote architectuurwijzigingen op dag een
- Een complete feature laten bouwen zonder tussenstappen te reviewen
- Vage instructies geven als “maak dit beter”
- De gegenereerde code niet bekijken — altijd reviewen
Eerlijk over beperkingen
Een paar dingen om te weten voordat je begint:
Claude Code draait je applicatie niet. Het kan dotnet build en dotnet test uitvoeren, maar het start je API niet op en raakt geen endpoints aan. Integratietesten met een draaiende server is nog steeds jouw taak.
Het kan fouten maken. Vooral bij complexe businesslogica of domeinspecifieke regels die het nog niet eerder heeft gezien. De code die het genereert is een startpunt, geen eindproduct.
Het werkt het best met expliciete instructies. “Voeg een health check endpoint toe” werkt beter dan “verbeter de API.” Hoe concreter je bent, hoe beter het resultaat.
Grote solutions hebben even nodig. Heeft je solution 50+ projecten? Dan duurt de initiele scan wat langer. Dat is normaal. Dit hoeft maar een keer per sessie.
Probeer het zelf
npm install -g @anthropic-ai/claude-code
cd jouw-dotnet-solution/
claude
Voer /init uit. Vraag wat het ziet. Maak een kleine wijziging. Draai de tests. Dat is je eerste uur.
Daarna heb je een gevoel voor wat Claude Code kan — en belangrijker, hoe het past in de manier waarop je nu al werkt. Het vervangt je vakkennis niet. Het is een tool die het saaie werk wegneemt, zodat jij je kunt richten op de interessante delen.