De Complete Claude Code Installatiehandleiding (2026)
Je hebt net Claude Code geïnstalleerd. Je typte claude in je terminal en... het werkt. Het kan je bestanden lezen, commando's uitvoeren, code schrijven. Best gaaf.
Maar hier is het punt: je benut maar 10% van de kracht.
In onze analyse van meer dan 800 configuraties op jeanclaudecode.ai is de gemiddelde score 3.2 op 10. De meeste mensen installeren Claude Code, schrijven misschien een paar regels instructies, en stoppen daar. Tien minuten setup scheiden een simpele chatbot van een echte codeerpartner.
Laten we dat nu oplossen.
Het ene bestand dat alles verandert
Maak een bestand genaamd CLAUDE.md aan in de root van je project. Dat is het. Dat is het belangrijkste dat je vandaag doet.
touch CLAUDE.md
CLAUDE.md is het eerste dat Claude leest als je een sessie start. Zie het als een briefingdocument — je vertelt Claude met wie het werkt, hoe het project eruitziet, en wat de regels zijn.
Hier is een minimale versie om mee te beginnen. Open CLAUDE.md en plak dit:
# Mijn Project
## Tech Stack
- Next.js 15, TypeScript, PostgreSQL
## Commando's
- `npm run dev` — dev-server starten
- `npm run test` — tests draaien
- `npm run build` — productie-build
## Regels
- Altijd tests draaien voordat je zegt dat een taak klaar is
- Nooit bestanden in src/legacy/ wijzigen
Vijf regels tech stack. Drie commando's. Twee regels. Dat is alles wat je nodig hebt om te beginnen.
Probeer het nu. Open Claude Code en vraag: "Lees mijn CLAUDE.md en vertel me wat voor project dit is." Claude zou je project moeten beschrijven. Als dat lukt, ben je klaar. Zo niet, controleer of het bestand in de projectroot staat (niet in een submap).
Je hebt Claude zojuist iets gegeven dat 68% van de setups mist: basiskennis van het project.
Opbouwen: de CLAUDE.md die topsetups gebruiken
Dat minimale bestand werkt. Maar de setups die 7+ scoren in onze analyse gaan verder. Dit is wat ze toevoegen — en waarom elke sectie ertoe doet.
Architectuursectie (in 78% van de topsetups)
Claude weet niet waar je bestanden staan. Zonder kaart gokt het — en het gokt verkeerd. Voeg dit toe:
## Architectuur
- src/app/ — App Router pagina's en API-routes
- src/lib/ — Gedeelde utilities en database client
- src/components/ — React componenten (co-located tests)
Als je nu zegt "maak een nieuwe API-route", plaatst Claude die in src/app/api/ in plaats van een willekeurige locatie te verzinnen.
Conventiesectie (65% van de topsetups)
Je hebt opvattingen over hoe code eruit moet zien. Claude kent die niet tenzij je ze uitspreekt:
## Conventies
- Imperatieve commit-berichten, kleine letters, geen punt
- Eén component per bestand, alleen named exports
- Alle API-routes valideren invoer met zod-schema's
Wees specifiek. "Schrijf nette code" geeft Claude niets. "Gebruik zod voor alle API-invoervalidatie" geeft het een concrete regel om te volgen.
Bekende problemen (slechts 34% van de topsetups — de grootste gemiste kans)
Dit is de sectie die de meesten overslaan, en het is de sectie die je de meeste frustratie bespaart:
## Bekende Problemen
- De Stripe webhook handler heeft `raw` body parsing nodig — geen express.json() middleware op /api/webhooks/stripe
- Safari ondersteunt `structuredClone` niet in workers — gebruik de polyfill in src/lib/clone.ts
- De CI-omgeving heeft 4 GB RAM — tests die dit overschrijden falen stil (OOM)
Elke keer dat Claude een fout maakt die je al eerder hebt gezien, voeg die hier toe. Na verloop van tijd wordt dit de meest waardevolle sectie — een levend archief van "trap hier niet in."
| Sectie | Impact | Aanwezig in topsetups |
|---|---|---|
| Tech stack | Gemiddeld | 92% |
| Architectuur / bestandskaart | Hoog | 78% |
| Conventies | Hoog | 65% |
| Commando's | Gemiddeld | 71% |
| Expliciete regels / beperkingen | Zeer hoog | 84% |
| Foutpatronen / bekende problemen | Hoog | 34% |
Nu de machtigingen (zodat Claude stopt met voor elk wissewasje toestemming te vragen)
Standaard vraagt Claude toestemming voordat het een shell-commando uitvoert. Elke. Keer. Weer. Dat wordt snel vervelend.
De oplossing: een instellingenbestand maken dat Claude vertelt wat het zonder te vragen mag doen.
mkdir -p .claude
Maak nu .claude/settings.json:
{
"permissions": {
"allow": [
"Bash(npm run test*)",
"Bash(npm run build)",
"Bash(npm run lint*)",
"Bash(git status)",
"Bash(git diff*)",
"Bash(git log*)",
"Bash(git add *)",
"Bash(git commit *)",
"Read",
"Glob",
"Grep"
],
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force*)",
"Bash(git reset --hard*)"
]
}
}
De allow-lijst zegt "ga je gang, vraag niet." De deny-lijst zegt "doe dit nooit, ook al zeg ik het per ongeluk."
Belangrijk: Zet nooit "Bash(*)" in de allow-lijst. Dat geeft Claude volledige shell-toegang zonder vangnetten. Wees specifiek over wat is toegestaan.
Probeer Claude Code nu. Vraag het om de git status te controleren of tests te draaien. Merk je hoe het gewoon... doet? Geen toestemmingspopup. Die flow is wat setups die mensen opgeven onderscheidt van setups die ze elke dag daadwerkelijk gebruiken.
Rules toevoegen die automatisch activeren
Je vraagt je misschien af: "Moet ik al mijn codeerconventies in CLAUDE.md zetten?" Dat zou je kunnen doen. Maar er is een slimmere manier.
Rules zijn markdown-bestanden die activeren op basis van waar Claude aan werkt. Als Claude een .tsx-bestand bewerkt, laadt het je frontend-regels. Als het een migratiebestand aanraakt, laadt het je database-regels. Als het aan CSS werkt, verspilt het geen tijd met het lezen van je SQL-conventies.
Maak de rules-map aan:
mkdir -p .claude/rules
Hier is een frontend-rule. Sla op als .claude/rules/frontend.md:
---
globs: ["*.tsx", "*.jsx", "*.css"]
---
- Named exports gebruiken, geen default exports
- Elk component moet een bijbehorend .test.tsx bestand hebben
- Alleen CSS modules — geen inline styles behalve voor dynamische waarden
- Alle afbeeldingen hebben alt-tekst nodig (toegankelijkheidsvereiste)
En een database-rule — sla op als .claude/rules/database.md:
---
globs: ["*.sql", "**/migrations/**", "**/prisma/**"]
---
- Bestaande migratiebestanden nooit wijzigen
- Alle queries moeten geparametriseerde invoer gebruiken — nooit string-concatenatie
- Rollback-logica in elke migratie opnemen
De globs-regel bovenaan is de trigger. Als Claude een bestand leest of bewerkt dat overeenkomt met dat patroon, wordt de rule automatisch geladen. Nul verspilde tokens als het niet relevant is.
Bekijk wat je hebt gebouwd
Zo zou je project er nu uit moeten zien:
jouw-project/
├── CLAUDE.md # Je project-briefing
├── .claude/
│ ├── settings.json # Machtigingen (gecommit, gedeeld met team)
│ └── rules/
│ ├── frontend.md # Activeert voor .tsx, .jsx, .css
│ └── database.md # Activeert voor .sql, migraties
├── .gitignore
└── src/
└── ...
Nog één ding — voeg deze regel toe aan je .gitignore:
# Claude Code lokale instellingen
.claude/settings.local.json
Dat settings.local.json-bestand is voor persoonlijke voorkeuren (zoals je favoriete model). Dat hoort niet in versiebeheer. De gewone settings.json? Die committen — dat is gedeelde teamconfiguratie.
Controleer of alles werkt
Open Claude Code en probeer dit:
> Lees mijn CLAUDE.md en vertel me wat voor project dit is. Welke rules zie je?
Claude zou je project moeten beschrijven, de gevonden rules in .claude/rules/ moeten opsommen, en de machtigingen uit settings.json moeten bevestigen. Als het lukt, ben je klaar. Als er iets mist, controleer of je bestanden op de juiste plekken staan.
Je kunt ook je setup scoren met onze analyzer — die controleert alle vier lagen (CLAUDE.md, settings, rules, mappenstructuur) en vertelt je precies wat werkt en wat mist.
De fouten die setups omlaag trekken
Na het bekijken van honderden setups zijn dit de patronen die consistent laag scoren:
Vage instructies. "Schrijf nette code" en "volg best practices" geven Claude nul bruikbare informatie. Vergelijk: "valideer invoer correct" (nutteloos) vs "Gebruik zod voor alle API-invoervalidatie" (uitvoerbaar).
Geen machtigingslijst. Elke tool-aanroep vereist handmatige goedkeuring, de ontwikkelaar raakt gefrustreerd, geeft Claude Code op, en concludeert dat het niet productief is. Vijf minuten settings.json voorkomt dit volledig.
Alles in CLAUDE.md gepropt. Je databaseconventies doen er niet toe als Claude CSS bewerkt. Verplaats bestandsspecifieke instructies naar rules-bestanden — die houden de context gefocust en besparen tokens.
Geen architectuursectie. Zonder bestandskaart plaatst Claude bestanden in verkeerde mappen, gebruikt verkeerde importpaden, en genereert code die niet past bij je project. Een architectuursectie van 5 regels voorkomt dit.
Geen .gitignore voor lokale instellingen. Teamleden overschrijven elkaars voorkeuren, of erger, API-sleutels belanden in versiebeheer.
Wat nu?
Je hebt een solide basis. Je CLAUDE.md vertelt Claude over je project, je settings houden het productief, en je rules houden het op koers.
Klaar voor meer? Hier kun je naartoe:
- Automatiseer het saaie werk — hooks die code automatisch formatteren, skills die meerstaps-workflows starten met een slash-commando, en wanneer je wat gebruikt
- Verbind Claude met je tools — MCP-servers waarmee Claude je database kan bevragen, GitHub issues kan doorzoeken, en Sentry-fouten direct kan ophalen
- Houd je rekening onder controle — echte kostencijfers, de /compact-truc, en wanneer Opus het premium waard is
Veelgestelde vragen
Waar moet CLAUDE.md staan — in de projectroot of de .claude-map?
In de projectroot. Claude Code zoekt eerst naar CLAUDE.md in de root van je werkdirectory. Je kunt ook ~/.claude/CLAUDE.md aanmaken voor globale instructies die voor al je projecten gelden. Als beide bestaan, worden beide geladen — globaal eerst, dan projectspecifiek.
Kan het hele team één CLAUDE.md delen?
Ja, en dat zouden ze moeten doen. CLAUDE.md hoort in je repository. Het is gedeelde context — projectarchitectuur, conventies, commando's. Voor persoonlijke voorkeuren (zoals welk model je verkiest of aangepaste aliases) gebruik je .claude/settings.local.json die gitignored blijft.
Hoe lang moet CLAUDE.md zijn?
De beste setups die we hebben geanalyseerd liggen tussen 100 en 500 regels. Onder 100 mis je waarschijnlijk kritieke context (architectuur, conventies, bekende problemen). Boven 500 bevat je waarschijnlijk zaken die in rules-bestanden thuishoren. Het doel is gefocuste instructies met een hoog signaal.
Werkt Claude Code zonder al deze setup?
Technisch gezien ja, maar slecht. Zonder CLAUDE.md heeft Claude geen kennis van je projectstructuur, conventies of beperkingen. Het genereert nog steeds code, maar plaatst bestanden op verkeerde plekken, gebruikt verkeerde patronen en negeert projectspecifieke regels. Onze data toont dat ongeconfigureerde setups gemiddeld 1.8/10 scoren. Setup is niet optioneel als je echte productiviteitswinst wilt.
Hoe vaak moet ik CLAUDE.md bijwerken?
Wanneer je project verandert: nieuwe conventies, nieuwe tools, nieuwe bekende problemen. Een goede gewoonte is elke keer dat Claude een fout maakt die niet zou moeten terugkomen een "Bekende Problemen"-item toevoegen. Na verloop van tijd wordt CLAUDE.md zo een levend document dat dezelfde fouten voorkomt — en dat is een van de meest waardevolle toepassingen van het bestand.