Loading blog posts...
Loading blog posts...
Laden...

Claude Code wordt snel een puinhoop wanneer elke ontwikkelaar anders prompts, de agent de helft van de repo herschrijft, en niemand kan uitleggen waarom tests werden overgeslagen.
Dit is de realiteit: behandel Claude Code als een IT-beheerd platform, niet als een magische programmeerpartner. Dat betekent contracten, beveiligingsmaatregelen en verificatielussen. Hieronder staan best practices die u vandaag nog kunt kopiëren naar uw repo en workflow.
markdown## CLAUDE.md (repo contract voor Claude Code) ## Missie - Primair doel: veilige, reviewbare PRs met tests opleveren. - Verander nooit publieke APIs zonder docs en changelog bij te werken. ## Repo overzicht - /apps/api: FastAPI service - /apps/web: Next.js app - /packages/shared: gedeelde types + utilities ## Ononderhandelbaar - Voer uit: lint + typecheck + unit tests voordat je "klaar" voorstelt - Geen nieuwe dependencies zonder onderbouwing + beveiligingsnotitie - Geen secrets in code, logs of test fixtures ## Coding standards - Python: ruff + black, type hints verplicht voor publieke functies - TypeScript: strict mode, geen `any` zonder comment - Error handling: return typed errors, geen silent catches ## Testing regels - Elke bugfix: voeg regressietest toe - Elke feature: unit test + één integratietest - Voorkeur voor deterministische tests: freeze time, vermijd network ## Wijzigingsgrenzen - Wijzig niet: /infra/terraform zonder expliciete goedkeuring - Raak auth flows niet aan tenzij taak dit expliciet zegt ## PR format - Samenvatting: wat veranderd + waarom - Risico: edge cases + rollback plan - Verificatie: uitgevoerde commando's + resultaten ## Voorbeelden ### Goede commit message feat(api): add idempotency key to payment webhook ### Goede test naam test_webhook_rejects_duplicate_idempotency_key
Een sterke CLAUDE.md vermindert style drift en voorkomt dat de agent moet gokken (waar veel vreemdheid begint). Houd het kort, afdwingbaar en vol met voorbeelden die de agent kan kopiëren.
Bewaar het in version control en review wijzigingen eraan zoals code, want het is eigenlijk beleid. Voor een diepere structuurgids, zie Dometrain's uitleg: Creating the Perfect CLAUDE.md for Claude Code.
Important
[!IMPORTANT]
Behandel CLAUDE.md als een contract: als de repo het schendt, repareer de repo of update het contract. Laat het geen wishful thinking worden.
textJe bent Claude Code die werkt in deze repo. Taak: [ÉÉN ZIN DOEL] Beperkingen: - Max PR grootte: [X] bestanden of [Y] regels gewijzigd - Geen nieuwe dependencies - Moet tests bevatten Proces: 1) Stel maximaal 5 verduidelijkende vragen als iets onduidelijk is. 2) Stel een plan voor met 5-10 stappen. Elke stap moet bestanden benoemen om aan te raken. 3) Voer stap-voor-stap uit. Na elke stap: - vat wijzigingen samen - lijst commando's om uit te voeren 4) Stop voor finale commit en geef: - risicolijst - rollback plan - verificatiebewijs
Dit werkt beter dan one-shot prompting omdat het aannames naar buiten dwingt voordat code verandert. En het creëert natuurlijke checkpoints waar een mens kan zeggen: "Wacht, nee, dat bedoelden we niet" voordat de repo wordt omgewoeld.
De "kleine stappen" regel is het belangrijkst wanneer Claude Code multi-file edits en refactors doet. Voor een praktische walkthrough van deze lus en hoe Plan Mode past, zie: Claude Code Tutorial for Beginners.
Tip
[!TIP] Zet "Max PR grootte" in de prompt. Het voorkomt de meest voorkomende faalwijze: grote, ondoorzichtige herschrijvingen die pijnlijk zijn om te reviewen.
textGa naar Plan Mode. Doel: Rate limiting toevoegen aan /apps/api endpoints met bestaande middleware patronen. Regels: - Lees relevante bestanden voor het bewerken. - Identificeer huidige request lifecycle en waar middleware wordt toegepast. - Stel 2 opties voor: Optie A: minimale wijziging met bestaande componenten Optie B: schonere refactor indien nodig - Voor elke optie: lijst bestanden, risico en test aanpak. Stop na het plan en wacht op goedkeuring.
Plan Mode is meestal de goedkoopste manier om dure backtracking te vermijden. Het duwt Claude Code om daadwerkelijk te zoeken naar bestaande patronen, de juiste modules te lezen en opties aan te bieden voordat het begint met bewerken.
Gebruik het voor alles architecturaal, alles beveiligingsgerelateerd, of alles dat realistisch CI kan breken. Eén patroon dat goed werkt in de praktijk zijn plan approval gates: vereist een menselijke "keur optie A/B goed" voordat er bewerkingen plaatsvinden. Die ene pauze elimineert veel assumptie-gedreven regressies.
textProduceer een PR-sized wijziging. Output formaat: 1) Gewijzigde bestanden (met reden per bestand) 2) Diffstat schatting (ruwe regels toegevoegd/verwijderd) 3) Werkelijke patch in unified diff formaat 4) PR beschrijving: - Wat veranderd - Waarom - Risico's en edge cases - Hoe geverifieerd (commando's + resultaten) Beperkingen: - Raak maximaal bestanden aan - Geen bestand over regels gewijzigd tenzij goedgekeurd - Houd publieke interfaces stabiel
Claude Code doet het meestal beter wanneer u definieert hoe "klaar" eruitziet in review termen. Vragen om "gewijzigde bestanden" en een "diffstat schatting" is een mooie controle truc: het dwingt de agent om na te denken over scope voordat het schrijft.
Vragen om een PR beschrijving helpt later ook, vooral als meerdere sessies (of meerdere mensen) hetzelfde gebied hebben aangeraakt. En eerlijk gezegd, de teams die ik echte doorvoerwinsten heb zien behalen, krijgen die meestal van strikte lussen plus reviewbare diffs, niet van de agent groter en autonomer laten gaan.
Brondiscussie over operationaliseren van workflows en verificatie: DEV Community MCP and 2026 workflow shift.
bash## Minimaal "agent-safe" lokaal verificatiescript ## Voer dit uit voordat je Claude's "klaar" accepteert set -euo pipefail # Voorbeeld voor een gemengde TS + Python repo npm run lint npm run typecheck npm test ruff check. pytest -q
De beste Claude Code best practice in 2026 is nogal saai: vertrouw outputs niet zonder geautomatiseerde checks. Maak verificatie een script zodat het elke keer hetzelfde draait (geen "werkt op mijn machine" vibes).
Als de agent geen commando's kan uitvoeren in uw omgeving, laat het dan de exacte commando's en verwachte outputs opsommen. Eén simpele regel vangt veel op: "Geen tests geüpdatet" is een kwaliteitswaarschuwing voor niet-triviale wijzigingen. Als een feature of bugfix geen tests raakt, forceer dan een onderbouwing.
Warning
[!WARNING] Als Claude Code code voorstelt die "er goed uitziet" maar niet het exacte testbestand kan benoemen dat het zou toevoegen of updaten, stop dan en herdefinieer de scope. Dat is een veelvoorkomend teken dat het de code paths niet volledig in kaart heeft gebracht.
textVoordat je als compleet markeert, voer een verificatie checklist uit: - Unit tests: welke bestanden veranderd en waarom - Integratietests: welk scenario bewijst het gedrag end-to-end - Statische checks: lint, typecheck - Beveiligingschecks: dependency scan of SAST indien beschikbaar - Observability: logs/metrics beïnvloed en voorbeeld log regel Return resultaten als tabel met: Check | Commando | Geslaagd/Gefaald | Notities
Dit dwingt evidence-based voltooiing af. En het geeft u artefacten die u direct in een PR kunt plakken (waar reviewers u dankbaar voor zullen zijn).
bash## Veilige iteratielus voor AI-gedreven wijzigingen git checkout -b ai/[ticket-id]-[korte-naam] # Na elke voltooide micro-stap git status git add -A git commit -m "wip: [stap] [wat veranderd]" # Als Claude afdwaalt git reset --hard HEAD~1
Frequente commits zijn een controle-oppervlak, geen virtue signal. Ze geven u rollback punten, maken review makkelijker, en laten u alternatieve benaderingen vergelijken met git range-diff.
In agentische workflows is dit hoe teams snelheid behouden zonder veiligheid op te offeren. Een nuttige variant zijn checkpoint commits: commit na het toevoegen van tests, na refactor, na feature wiring. Zo kunt u, wanneer CI breekt, meestal de exacte fase aanwijzen waar het verkeerd ging.
textSplits dit werk in parallelle tracks en houd outputs mergeable. Track A (Implementatie): - Voeg feature toe achter flag [FLAG_NAME] - Houd wijzigingen minimaal Track B (Tests): - Voeg unit tests + één integratietest toe - Focus op edge cases Track C (Docs): - Update README of /docs met nieuw gedrag - Inclusief migratienotities Track D (Threat model): - Identificeer misbruikgevallen en data exposure risico's - Stel mitigaties en beveiligingschecklist voor Voor elke track: - lijst bestanden om aan te raken - lijst acceptatiecriteria - stop na een voorgesteld patch plan
Parallelisatie werkt wanneer elke track duidelijke grenzen en merge punten heeft. De truc is convergeren door een menselijk-gereviewde integratiestap, niet meerdere agents dezelfde bestanden laten bewerken en hopen dat Git het uitzoekt.
Bijvoorbeeld, tests kunnen meestal parallel gebouwd worden zolang het feature oppervlak stabiel is. Dit is ook waar Claude Code "systeemontwerp" wordt in zeer reële zin: u ontwerpt werkstromen en beveiligingsmaatregelen, niet alleen prompts.
textMCP gebruiksbeleid (kopieer naar interne docs) Toegestaan: - Alleen-lezen toegang tot documentatiebronnen - Alleen-lezen toegang tot ticketing issues voor requirements - Alleen-lezen toegang tot feature flag state en config Beperkt: - Geen schrijftoegang tot productiesystemen - Geen secret retrieval - Geen klantdata toegang Goedkeuring vereist: - Elke actie die infrastructuur, IAM of billing wijzigt - Elke schrijfoperatie buiten een sandbox omgeving
MCP servers (Model Context Protocol) veranderen de workflow omdat Claude Code gestandaardiseerde context kan pullen uit docs, tickets, APIs en feature flags zonder dat u alles plakt. Dat is krachtig, maar het vergroot ook de blast radius als toegang niet strak is.
Behandel MCP als een interne integratie: least privilege, expliciete allowlists en approval gates. De praktische winst zijn minder glue scripts en minder verouderde requirements. Het praktische risico is dat de agent handelt op de verkeerde omgeving als identiteiten en scopes los zijn (ik heb dat zien gebeuren, en het is nooit leuk).
Bron: MCPs and the 2026 workflow shift.
yaml# Voorbeeld beleidsmodel dat u kunt aanpassen (conceptueel) agent: name: claude-code environment: dev permissions: repo: read: true write: true ci: read: true trigger: true cloud: read: true write: false secrets: source: vault allowed_paths: - "kv/dev/*" rotation_days: 30 approvals: required_for: - "infra/*" - "iam/*" - "prod/*"
De standaard benadering is "agent identiteit gelijk aan service account": scoped tokens, korte TTLs en duidelijke audit trails. Default naar alleen-lezen waar u kunt, vooral voor cloud en ticketing.
Vereist menselijke goedkeuring voor alles dat productie, kosten of data exposure kan beïnvloeden. Dit is belangrijker in 2026 omdat agents simpelweg capabeler zijn in multi-step acties. Eén over-gepermissioneerde integratie kan een behulpzame coding sessie in een incident veranderen.
textBeslissingsregel voor /model switching Gebruik een sneller/goedkoper model wanneer: - formatteren, hernoemen, comment cleanup - tests schrijven vanuit een vaste spec - docs updaten gebaseerd op bekend gedrag Gebruik een sterker model wanneer: - cross-cutting refactors - concurrency, caching, distributed systems wijzigingen - auth, crypto, payments, PII handling - debuggen van flaky tests met meerdere hypotheses Vereist altijd Plan Mode wanneer: - > 3 bestanden aanraken - publieke APIs wijzigen - data models of migraties wijzigen
Model switching is een budget en risico controle. Bewaar dure redenering voor werk waar het echte defecten voorkomt. Gebruik goedkopere models voor mechanisch werk waar verificatie fouten toch zal opvangen.
Voor feature demo's en controle modi, zie: Claude Code ULTIMATE Beginner Guide (2026) en de langere referentiegids: Claude Code Complete Guide 2026.
| Capability | Wat te standaardiseren | Waarom het belangrijk is | Veelvoorkomend alternatief |
|---|---|---|---|
| Persistente context | CLAUDE.md contract | Vermindert drift en verkeerde aannames | Ad hoc prompts in tickets |
| Gestructureerde planning | Plan Mode + approval gate | Voorkomt dure verkeerde wendingen | One-shot "schrijf code" verzoeken |
| Verificatie | Eén script dat lint, types, tests draait | Verandert "klaar" in bewijs | Handmatige spot checks |
| Parallel werk | Tracks (impl, tests, docs, threat model) | Sneller zonder merge chaos | Eén agent bewerkt alles |
| Gecontroleerde context | MCP allowlists + least privilege | Voorkomt overreach en data risico | Copy-paste docs in chat |
| Wijzigingsbeperking | PR-grootte limieten + commit checkpoints | Maakt rollback en review makkelijk | Grote herschrijvingen |
Deze tabel is de operationele baseline. Als een team slechts twee dingen standaardiseert, begin dan met CLAUDE.md plus verificatiescripts. Al het andere bouwt voort op die controles.
Stripe behaalde 99.99% API beschikbaarheid door strikte change management te koppelen aan geautomatiseerde testing en staged rollouts. Claude Code past het best wanneer het dezelfde gates voedt.
Netflix behaalde sneller herstel van failures door geautomatiseerde canary analyse en progressive delivery. Agent-geschreven wijzigingen hebben nog steeds dezelfde verificatie- en rollback paden nodig.
Shopify handelde piek traffic events af door te investeren in observability en veilige deploy practices. Claude Code wijzigingen zouden log en metric impacts moeten bevatten, niet alleen code diffs.
Dit zijn geen "Claude-specifieke" winsten. Het zijn dezelfde engineering controles die agentische coding veilig houden op schaal.
Begin hier (uw eerste stap): Creëer CLAUDE.md in de repo root en voeg 12 bullets toe: repo map, ononderhandelbaar, testing regels, PR format.
Snelle winsten (directe impact):
./verify.sh script toe en vereist het in elke Claude Code sessie voor "klaar".Diepgaand (voor degenen die meer willen):
Claude Code best practices in 2026 lijken veel op platform ops: een geversioned CLAUDE.md contract, een strikte plan-naar-PR workflow, en verificatie die bewijs produceert. Houd diffs klein, commit in checkpoints, en schaal met parallelle tracks die mergen door review.
Naarmate MCP integraties uitbreiden, zijn least privilege en approval gates waarschijnlijk het verschil tussen snellere levering en een zeer vermijdbaar incident.