Architectuur

Onder de motorkap is alles gewoon tekst. Mappen met Markdown-bestanden die Claude Code inleest — geen verborgen magie. Hier zie je hoe de setup is opgebouwd en hoe je hem zelf uitbreidt.

Mappenstructuur

De hele setup leeft in ~/.claude. Elke submap heeft één verantwoordelijkheid. Wil je iets aanpassen, dan open je gewoon het bijbehorende bestand met een teksteditor.

bash
~/.claude/
├── agents/          # de agent-rollen (één .md per rol)
├── skills/          # de skills (één map per skill met SKILL.md)
├── commands/        # klassieke slash-commands
├── standards/       # PRINCIPES, PROFIEL, GELEERDE_LESSEN, METHODE_...
├── config/          # model-routing en API-keys
├── scripts/         # hook-scripts, o.a. de productie-guard
└── settings.json    # centrale configuratie en hook-registratie
Map / bestandWat erin zit
agents/Eén Markdown-bestand per rol met de volledige roltekst, bevoegdheden en werkwijze
skills/Per skill een eigen map met een SKILL.md die de werkwijze beschrijft
commands/De oudere, eenvoudigere slash-commands
standards/De vier centrale standaarden die elke agent bij aanvang leest
config/Model-routing (model-routing.md) en sleutels (api-keys.env)
scripts/Shell-scripts die door hooks worden aangeroepen, waaronder productie-guard.sh
settings.jsonCentrale configuratie: taal, model en registratie van de hooks

Hoe een agent-bestand eruitziet

Een agent is een Markdown-bestand met frontmatter bovenaan — een blokje YAML tussen ----regels — gevolgd door de roltekst. De description vertelt Claude wanneer en waarvoor deze rol wordt ingezet.

markdown
---
name: architect
description: Ontwerpt de structuur vóór er gebouwd wordt, met
  vijf onderbouwde opties en impact-classificatie per module.
---

# Architect

Je bent de architect van het team. Je ontwerpt vóór er
gebouwd wordt en levert altijd vijf onderbouwde opties...

## Bevoegdheden
- Ontwerpen en documenteren
- Geen code schrijven zonder goedgekeurd ontwerp

## Werkwijze
1. Analyseer de eisen uit het dossier
2. Geef vijf opties met voor- en nadelen...

Hoe een skill eruitziet

Een skill is een map onder ~/.claude/skills/ met daarin een SKILL.md. De frontmatter heeft twee velden: name en description. De description bepaalt wanneer Claude de skill voorstelt of oppakt.

bash
~/.claude/skills/
└── start-project/
    └── SKILL.md
markdown
---
name: start-project
description: Start een nieuw project — leest de standaarden,
  stelt de juiste intake-vragen en maakt een plan van aanpak.
---

# Start Project

Wanneer deze skill wordt opgeroepen, neem je de rol van
projectmanager aan en open je de intake...

Model-routing

Niet elk deeltaakje hoeft door het duurste, slimste model. De model-routing legt vast welk werk waarheen gaat: extern voorwerk naar goedkopere LLM's, Claude voor het kritische werk. Zo houd je kwaliteit hoog waar het telt en kosten laag waar het kan.

Goedkopere LLM's

Ruw voorwerk: eerste research-drafts, CVE-lookups, ruwe documentatie-opzet en structuur-schetsen. Materiaal dat Claude daarna verfijnt en goedkeurt.

Claude — het kritische werk

Ontwerp, code op de kroonjuwelen, review, security en elke beslissing die telt. Daar waar fouten duur zijn, blijft het beste model aan het roer.

Vastgelegd in config/model-routing.md
De routing staat in ~/.claude/config/model-routing.md. Een bewaker controleert dit periodiek en zet bij afwijkingen een taak klaar, zodat de routing niet stilletjes uit de pas gaat lopen.

Productie-guard hook

Een harde regel — nooit ontwikkelen in productie-mappen — wordt technisch afgedwongen met een PreToolUse-hook. Vóór elke schrijfactie roept Claude Code een script aan dat controleert of het doel een productie-map is en de actie zo nodig blokkeert.

json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/scripts/productie-guard.sh"
          }
        ]
      }
    ]
  }
}

Het script krijgt het doelpad binnen en weigert schrijfacties in mappen als productie/, prod/ of live/. Ná expliciete toestemming kun je de guard eenmalig passeren met een marker-bestand — precies één actie, daarna geldt de blokkade weer.

Standaard afgedwongen, niet slechts afgeraden
Het verschil met een gewone afspraak is dat de hook níét te vergeten is. Ontwikkeling gebeurt in de test-omgeving; per ongeluk in productie schrijven wordt geweigerd, ongeacht hoe de opdracht was geformuleerd.