claudient 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +42 -0
- package/CONTEXT.md +58 -0
- package/README.md +165 -0
- package/agents/build-resolvers/de/python-resolver.md +64 -0
- package/agents/build-resolvers/de/typescript-resolver.md +65 -0
- package/agents/build-resolvers/es/python-resolver.md +64 -0
- package/agents/build-resolvers/es/typescript-resolver.md +65 -0
- package/agents/build-resolvers/fr/python-resolver.md +64 -0
- package/agents/build-resolvers/fr/typescript-resolver.md +65 -0
- package/agents/build-resolvers/nl/python-resolver.md +64 -0
- package/agents/build-resolvers/nl/typescript-resolver.md +65 -0
- package/agents/build-resolvers/python-resolver.md +62 -0
- package/agents/build-resolvers/typescript-resolver.md +63 -0
- package/agents/core/architect.md +64 -0
- package/agents/core/code-reviewer.md +78 -0
- package/agents/core/de/architect.md +66 -0
- package/agents/core/de/code-reviewer.md +80 -0
- package/agents/core/de/planner.md +63 -0
- package/agents/core/de/security-reviewer.md +93 -0
- package/agents/core/es/architect.md +66 -0
- package/agents/core/es/code-reviewer.md +80 -0
- package/agents/core/es/planner.md +63 -0
- package/agents/core/es/security-reviewer.md +93 -0
- package/agents/core/fr/architect.md +66 -0
- package/agents/core/fr/code-reviewer.md +80 -0
- package/agents/core/fr/planner.md +63 -0
- package/agents/core/fr/security-reviewer.md +93 -0
- package/agents/core/nl/architect.md +66 -0
- package/agents/core/nl/code-reviewer.md +80 -0
- package/agents/core/nl/planner.md +63 -0
- package/agents/core/nl/security-reviewer.md +93 -0
- package/agents/core/planner.md +61 -0
- package/agents/core/security-reviewer.md +91 -0
- package/guides/agent-orchestration.md +231 -0
- package/guides/de/agent-orchestration.md +174 -0
- package/guides/de/getting-started.md +164 -0
- package/guides/de/hooks-cookbook.md +160 -0
- package/guides/de/memory-management.md +153 -0
- package/guides/de/security.md +180 -0
- package/guides/de/skill-authoring.md +214 -0
- package/guides/de/token-optimization.md +156 -0
- package/guides/es/agent-orchestration.md +174 -0
- package/guides/es/getting-started.md +164 -0
- package/guides/es/hooks-cookbook.md +160 -0
- package/guides/es/memory-management.md +153 -0
- package/guides/es/security.md +180 -0
- package/guides/es/skill-authoring.md +214 -0
- package/guides/es/token-optimization.md +156 -0
- package/guides/fr/agent-orchestration.md +174 -0
- package/guides/fr/getting-started.md +164 -0
- package/guides/fr/hooks-cookbook.md +227 -0
- package/guides/fr/memory-management.md +169 -0
- package/guides/fr/security.md +180 -0
- package/guides/fr/skill-authoring.md +214 -0
- package/guides/fr/token-optimization.md +158 -0
- package/guides/getting-started.md +164 -0
- package/guides/hooks-cookbook.md +423 -0
- package/guides/memory-management.md +192 -0
- package/guides/nl/agent-orchestration.md +174 -0
- package/guides/nl/getting-started.md +164 -0
- package/guides/nl/hooks-cookbook.md +160 -0
- package/guides/nl/memory-management.md +153 -0
- package/guides/nl/security.md +180 -0
- package/guides/nl/skill-authoring.md +214 -0
- package/guides/nl/token-optimization.md +156 -0
- package/guides/security.md +229 -0
- package/guides/skill-authoring.md +226 -0
- package/guides/token-optimization.md +169 -0
- package/hooks/lifecycle/cost-tracker.md +49 -0
- package/hooks/lifecycle/cost-tracker.sh +59 -0
- package/hooks/lifecycle/pre-compact-save.md +56 -0
- package/hooks/lifecycle/pre-compact-save.sh +37 -0
- package/hooks/lifecycle/session-start.md +50 -0
- package/hooks/lifecycle/session-start.sh +47 -0
- package/hooks/post-tool-use/audit-log.md +53 -0
- package/hooks/post-tool-use/audit-log.sh +53 -0
- package/hooks/post-tool-use/prettier.md +53 -0
- package/hooks/post-tool-use/prettier.sh +49 -0
- package/hooks/pre-tool-use/block-dangerous.md +48 -0
- package/hooks/pre-tool-use/block-dangerous.sh +76 -0
- package/hooks/pre-tool-use/git-push-confirm.md +46 -0
- package/hooks/pre-tool-use/git-push-confirm.sh +36 -0
- package/mcp/configs/github.json +11 -0
- package/mcp/configs/postgres.json +11 -0
- package/mcp/de/recommended-servers.md +170 -0
- package/mcp/es/recommended-servers.md +170 -0
- package/mcp/fr/recommended-servers.md +170 -0
- package/mcp/nl/recommended-servers.md +170 -0
- package/mcp/recommended-servers.md +168 -0
- package/package.json +45 -0
- package/prompts/project-starters/de/fastapi-project.md +62 -0
- package/prompts/project-starters/de/nextjs-project.md +82 -0
- package/prompts/project-starters/es/fastapi-project.md +62 -0
- package/prompts/project-starters/es/nextjs-project.md +82 -0
- package/prompts/project-starters/fastapi-project.md +60 -0
- package/prompts/project-starters/fr/fastapi-project.md +62 -0
- package/prompts/project-starters/fr/nextjs-project.md +82 -0
- package/prompts/project-starters/nextjs-project.md +80 -0
- package/prompts/project-starters/nl/fastapi-project.md +62 -0
- package/prompts/project-starters/nl/nextjs-project.md +82 -0
- package/prompts/system-prompts/ai-product.md +80 -0
- package/prompts/system-prompts/data-pipeline.md +76 -0
- package/prompts/system-prompts/de/ai-product.md +82 -0
- package/prompts/system-prompts/de/data-pipeline.md +78 -0
- package/prompts/system-prompts/de/saas-backend.md +71 -0
- package/prompts/system-prompts/es/ai-product.md +82 -0
- package/prompts/system-prompts/es/data-pipeline.md +78 -0
- package/prompts/system-prompts/es/saas-backend.md +71 -0
- package/prompts/system-prompts/fr/ai-product.md +82 -0
- package/prompts/system-prompts/fr/data-pipeline.md +78 -0
- package/prompts/system-prompts/fr/saas-backend.md +71 -0
- package/prompts/system-prompts/nl/ai-product.md +82 -0
- package/prompts/system-prompts/nl/data-pipeline.md +78 -0
- package/prompts/system-prompts/nl/saas-backend.md +71 -0
- package/prompts/system-prompts/saas-backend.md +69 -0
- package/prompts/task-specific/changelog.md +81 -0
- package/prompts/task-specific/de/changelog.md +83 -0
- package/prompts/task-specific/de/debugging.md +78 -0
- package/prompts/task-specific/de/pr-description.md +69 -0
- package/prompts/task-specific/debugging.md +76 -0
- package/prompts/task-specific/es/changelog.md +83 -0
- package/prompts/task-specific/es/debugging.md +78 -0
- package/prompts/task-specific/es/pr-description.md +69 -0
- package/prompts/task-specific/fr/changelog.md +83 -0
- package/prompts/task-specific/fr/debugging.md +78 -0
- package/prompts/task-specific/fr/pr-description.md +69 -0
- package/prompts/task-specific/nl/changelog.md +83 -0
- package/prompts/task-specific/nl/debugging.md +78 -0
- package/prompts/task-specific/nl/pr-description.md +69 -0
- package/prompts/task-specific/pr-description.md +67 -0
- package/rules/common/coding-style.md +45 -0
- package/rules/common/de/coding-style.md +47 -0
- package/rules/common/de/git.md +48 -0
- package/rules/common/de/performance.md +40 -0
- package/rules/common/de/security.md +45 -0
- package/rules/common/de/testing.md +45 -0
- package/rules/common/es/coding-style.md +47 -0
- package/rules/common/es/git.md +48 -0
- package/rules/common/es/performance.md +40 -0
- package/rules/common/es/security.md +45 -0
- package/rules/common/es/testing.md +45 -0
- package/rules/common/fr/coding-style.md +47 -0
- package/rules/common/fr/git.md +48 -0
- package/rules/common/fr/performance.md +40 -0
- package/rules/common/fr/security.md +45 -0
- package/rules/common/fr/testing.md +45 -0
- package/rules/common/git.md +46 -0
- package/rules/common/nl/coding-style.md +47 -0
- package/rules/common/nl/git.md +48 -0
- package/rules/common/nl/performance.md +40 -0
- package/rules/common/nl/security.md +45 -0
- package/rules/common/nl/testing.md +45 -0
- package/rules/common/performance.md +38 -0
- package/rules/common/security.md +43 -0
- package/rules/common/testing.md +43 -0
- package/rules/language-specific/de/go.md +48 -0
- package/rules/language-specific/de/python.md +38 -0
- package/rules/language-specific/de/typescript.md +51 -0
- package/rules/language-specific/es/go.md +48 -0
- package/rules/language-specific/es/python.md +38 -0
- package/rules/language-specific/es/typescript.md +51 -0
- package/rules/language-specific/fr/go.md +48 -0
- package/rules/language-specific/fr/python.md +38 -0
- package/rules/language-specific/fr/typescript.md +51 -0
- package/rules/language-specific/go.md +46 -0
- package/rules/language-specific/nl/go.md +48 -0
- package/rules/language-specific/nl/python.md +38 -0
- package/rules/language-specific/nl/typescript.md +51 -0
- package/rules/language-specific/python.md +36 -0
- package/rules/language-specific/typescript.md +49 -0
- package/scripts/cli.js +161 -0
- package/scripts/link-skills.sh +35 -0
- package/scripts/list-skills.sh +34 -0
- package/skills/ai-engineering/agent-construction.md +285 -0
- package/skills/ai-engineering/claude-api.md +248 -0
- package/skills/ai-engineering/de/agent-construction.md +287 -0
- package/skills/ai-engineering/de/claude-api.md +250 -0
- package/skills/ai-engineering/es/agent-construction.md +287 -0
- package/skills/ai-engineering/es/claude-api.md +250 -0
- package/skills/ai-engineering/fr/agent-construction.md +287 -0
- package/skills/ai-engineering/fr/claude-api.md +250 -0
- package/skills/ai-engineering/nl/agent-construction.md +287 -0
- package/skills/ai-engineering/nl/claude-api.md +250 -0
- package/skills/backend/dotnet/csharp.md +304 -0
- package/skills/backend/dotnet/de/csharp.md +306 -0
- package/skills/backend/dotnet/es/csharp.md +306 -0
- package/skills/backend/dotnet/fr/csharp.md +306 -0
- package/skills/backend/dotnet/nl/csharp.md +306 -0
- package/skills/backend/go/de/go.md +307 -0
- package/skills/backend/go/es/go.md +307 -0
- package/skills/backend/go/fr/go.md +307 -0
- package/skills/backend/go/go.md +305 -0
- package/skills/backend/go/nl/go.md +307 -0
- package/skills/backend/nodejs/de/nestjs.md +274 -0
- package/skills/backend/nodejs/de/nextjs.md +222 -0
- package/skills/backend/nodejs/es/nestjs.md +274 -0
- package/skills/backend/nodejs/es/nextjs.md +222 -0
- package/skills/backend/nodejs/fr/nestjs.md +274 -0
- package/skills/backend/nodejs/fr/nextjs.md +222 -0
- package/skills/backend/nodejs/nestjs.md +272 -0
- package/skills/backend/nodejs/nextjs.md +220 -0
- package/skills/backend/nodejs/nl/nestjs.md +274 -0
- package/skills/backend/nodejs/nl/nextjs.md +222 -0
- package/skills/backend/python/de/django.md +285 -0
- package/skills/backend/python/de/fastapi.md +244 -0
- package/skills/backend/python/django.md +283 -0
- package/skills/backend/python/es/django.md +285 -0
- package/skills/backend/python/es/fastapi.md +244 -0
- package/skills/backend/python/fastapi.md +242 -0
- package/skills/backend/python/fr/django.md +285 -0
- package/skills/backend/python/fr/fastapi.md +244 -0
- package/skills/backend/python/nl/django.md +285 -0
- package/skills/backend/python/nl/fastapi.md +244 -0
- package/skills/data-ml/dbt-data-pipelines.md +155 -0
- package/skills/data-ml/de/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/de/pandas-polars.md +147 -0
- package/skills/data-ml/de/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/es/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/es/pandas-polars.md +147 -0
- package/skills/data-ml/es/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/fr/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/fr/pandas-polars.md +147 -0
- package/skills/data-ml/fr/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/nl/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/nl/pandas-polars.md +147 -0
- package/skills/data-ml/nl/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/pandas-polars.md +145 -0
- package/skills/data-ml/pytorch-tensorflow.md +169 -0
- package/skills/database/de/graphql.md +181 -0
- package/skills/database/es/graphql.md +181 -0
- package/skills/database/fr/graphql.md +181 -0
- package/skills/database/graphql.md +179 -0
- package/skills/database/nl/graphql.md +181 -0
- package/skills/devops-infra/de/docker.md +133 -0
- package/skills/devops-infra/de/github-actions.md +179 -0
- package/skills/devops-infra/de/kubernetes.md +129 -0
- package/skills/devops-infra/de/terraform.md +130 -0
- package/skills/devops-infra/docker.md +131 -0
- package/skills/devops-infra/es/docker.md +133 -0
- package/skills/devops-infra/es/github-actions.md +179 -0
- package/skills/devops-infra/es/kubernetes.md +129 -0
- package/skills/devops-infra/es/terraform.md +130 -0
- package/skills/devops-infra/fr/docker.md +133 -0
- package/skills/devops-infra/fr/github-actions.md +179 -0
- package/skills/devops-infra/fr/kubernetes.md +129 -0
- package/skills/devops-infra/fr/terraform.md +130 -0
- package/skills/devops-infra/github-actions.md +177 -0
- package/skills/devops-infra/kubernetes.md +127 -0
- package/skills/devops-infra/nl/docker.md +133 -0
- package/skills/devops-infra/nl/github-actions.md +179 -0
- package/skills/devops-infra/nl/kubernetes.md +129 -0
- package/skills/devops-infra/nl/terraform.md +130 -0
- package/skills/devops-infra/terraform.md +128 -0
- package/skills/finance-payments/de/stripe.md +187 -0
- package/skills/finance-payments/es/stripe.md +187 -0
- package/skills/finance-payments/fr/stripe.md +187 -0
- package/skills/finance-payments/nl/stripe.md +187 -0
- package/skills/finance-payments/stripe.md +185 -0
- package/workflows/code-review.md +151 -0
- package/workflows/de/code-review.md +153 -0
- package/workflows/de/debugging-session.md +146 -0
- package/workflows/de/feature-development.md +155 -0
- package/workflows/de/new-project-bootstrap.md +175 -0
- package/workflows/de/refactor-safely.md +150 -0
- package/workflows/debugging-session.md +144 -0
- package/workflows/es/code-review.md +153 -0
- package/workflows/es/debugging-session.md +146 -0
- package/workflows/es/feature-development.md +155 -0
- package/workflows/es/new-project-bootstrap.md +175 -0
- package/workflows/es/refactor-safely.md +150 -0
- package/workflows/feature-development.md +153 -0
- package/workflows/fr/code-review.md +153 -0
- package/workflows/fr/debugging-session.md +146 -0
- package/workflows/fr/feature-development.md +155 -0
- package/workflows/fr/new-project-bootstrap.md +175 -0
- package/workflows/fr/refactor-safely.md +150 -0
- package/workflows/new-project-bootstrap.md +173 -0
- package/workflows/nl/code-review.md +153 -0
- package/workflows/nl/debugging-session.md +146 -0
- package/workflows/nl/feature-development.md +155 -0
- package/workflows/nl/new-project-bootstrap.md +175 -0
- package/workflows/nl/refactor-safely.md +150 -0
- package/workflows/refactor-safely.md +148 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Handleiding voor agentorkestratie
|
|
2
|
+
|
|
3
|
+
Hoe u werk delegeert, paralleliseert en specialiseert met het sub-agentsysteem van Claude Code.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Wat sub-agents zijn
|
|
8
|
+
|
|
9
|
+
Een sub-agent is een aparte Claude-instantie die door de oudersessie wordt gestart om een specifieke, afgebakende taak af te handelen. Het krijgt:
|
|
10
|
+
- Een vers contextvenster (geen sessiegeschiedenis)
|
|
11
|
+
- Een specifieke tool-subset (indien geconfigureerd)
|
|
12
|
+
- Een modelselectie (kan afwijken van de ouder)
|
|
13
|
+
- Een prompt die u expliciet schrijft
|
|
14
|
+
|
|
15
|
+
Sub-agents zijn geen magie — het zijn specifieke tools voor specifieke problemen.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Wanneer een sub-agent gebruiken
|
|
20
|
+
|
|
21
|
+
Gebruik een sub-agent wanneer de taak **duidelijke invoer** en **duidelijke uitvoer** heeft en **onafhankelijk is van de huidige sessiestatus**.
|
|
22
|
+
|
|
23
|
+
**Goede kandidaten:**
|
|
24
|
+
- 10 bestanden controleren op beveiligingsproblemen
|
|
25
|
+
- Een specifieke zoekopdracht uitvoeren in de codebase
|
|
26
|
+
- Boilerplate genereren voor een nieuwe module op basis van een spec
|
|
27
|
+
- Een logbestand analyseren en een samenvatting teruggeven
|
|
28
|
+
|
|
29
|
+
**Slechte kandidaten:**
|
|
30
|
+
- Taken die de volledige sessiecontext vereisen
|
|
31
|
+
- Taken die heen-en-weer vereisen — sub-agents zijn eenmalig
|
|
32
|
+
- Taken waarbij de opstartoverhead het werk overtreft
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 1. Delegatiepatroon
|
|
37
|
+
|
|
38
|
+
De oudersessie identificeert een afgebakende taak en geeft deze door.
|
|
39
|
+
|
|
40
|
+
**Sleutelregel:** De sub-agent prompt moet op zichzelf staan. Het heeft geen toegang tot wat de oudersessie heeft gedaan. Brief het als een collega die net de kamer is binnengekomen.
|
|
41
|
+
|
|
42
|
+
**Wat op te nemen in de sub-agent prompt:**
|
|
43
|
+
- Wat u probeert te bereiken en waarom
|
|
44
|
+
- De specifieke bestanden of mappen
|
|
45
|
+
- Het gewenste resultaatformaat
|
|
46
|
+
- Al genomen beslissingen
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 2. Parallelisatiepatroon
|
|
51
|
+
|
|
52
|
+
Meerdere sub-agents die gelijktijdig aan onafhankelijke taken werken.
|
|
53
|
+
|
|
54
|
+
**Wanneer te paralleliseren:**
|
|
55
|
+
- Dezelfde bewerking moet op veel bestanden/modules worden toegepast
|
|
56
|
+
- Twee echt onafhankelijke taken moeten beide worden voltooid
|
|
57
|
+
- Onderzoekstaken die verschillende gebieden bestrijken
|
|
58
|
+
|
|
59
|
+
**Git worktrees gebruiken voor parallelle codewijzigingen:**
|
|
60
|
+
```bash
|
|
61
|
+
git worktree add ../feature-branch-a feature-a
|
|
62
|
+
git worktree add ../feature-branch-b feature-b
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Parallelisatie anti-patronen:**
|
|
66
|
+
- Taken paralleliseren die staat delen (schrijfconflicten)
|
|
67
|
+
- Parallelle taken waarbij de ene afhangt van de uitvoer van de andere
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 3. Specialisatiepatroon (cavecrew)
|
|
72
|
+
|
|
73
|
+
Pas het model en de tools van de sub-agent aan op de aard van de taak. Geïnspireerd door het **cavecrew**-patroon (bron: [JuliusBrussee/caveman](https://github.com/JuliusBrussee/caveman)) — bespaart ~60% tokens vergeleken met het gebruik van Opus voor elke sub-agent.
|
|
74
|
+
|
|
75
|
+
| Rol | Model | Tools | Gebruik wanneer |
|
|
76
|
+
|---|---|---|---|
|
|
77
|
+
| Onderzoeker | Haiku 4.5 | Read, Bash (alleen grep/find) | Dingen lokaliseren in de codebase — alleen-lezen, snel |
|
|
78
|
+
| Bouwer | Sonnet 4.6 | Read, Edit, Write, Bash | Chirurgische 1–2 bestandswijzigingen |
|
|
79
|
+
| Reviewer | Haiku 4.5 | Read | Een diff of set bestanden beoordelen |
|
|
80
|
+
| Orkestrator | Opus 4.7 | Alle | Complexe meerstaps coördinatie, architectuurbeslissingen |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 4. Context overdrachtspatroon
|
|
85
|
+
|
|
86
|
+
Wanneer een sessie significante context heeft opgebouwd en u werk moet overdragen aan een nieuwe agent.
|
|
87
|
+
|
|
88
|
+
**Structuur van de overdracht prompt:**
|
|
89
|
+
```
|
|
90
|
+
## Context
|
|
91
|
+
[Wat dit project doet, kort]
|
|
92
|
+
[Waar we aan werkten]
|
|
93
|
+
[Beslissingen genomen tijdens deze sessie]
|
|
94
|
+
|
|
95
|
+
## Files modified
|
|
96
|
+
[Lijst met korte reden voor elke wijziging]
|
|
97
|
+
|
|
98
|
+
## Current state
|
|
99
|
+
[Wat klaar, wat niet, wat blokkeert]
|
|
100
|
+
|
|
101
|
+
## Your task
|
|
102
|
+
[Specifieke, afgebakende taak voor de nieuwe agent]
|
|
103
|
+
|
|
104
|
+
## Constraints
|
|
105
|
+
[Genomen beslissingen die niet opnieuw besproken moeten worden]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 5. Harde vs. zachte afhankelijkheden
|
|
111
|
+
|
|
112
|
+
**Harde afhankelijkheid:** De stroomafwaartse taak faalt expliciet zonder de stroomopwaartse setup.
|
|
113
|
+
- Signaleer dit expliciet: "Deze skill vereist setup — voer eerst `/setup` uit."
|
|
114
|
+
|
|
115
|
+
**Zachte afhankelijkheid:** De taak werkt maar produceert lagere kwaliteit uitvoer zonder setup.
|
|
116
|
+
- Niet stoppen. Graceful degraderen en de kloof noteren.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 6. Scopecontrole voor sub-agents
|
|
121
|
+
|
|
122
|
+
Elke sub-agent moet een expliciete scopelimiet hebben.
|
|
123
|
+
|
|
124
|
+
**Op te nemen in elke sub-agent prompt:**
|
|
125
|
+
```
|
|
126
|
+
## Scope
|
|
127
|
+
- Read: yes
|
|
128
|
+
- Write/Edit: [alleen specifieke bestanden OF nee]
|
|
129
|
+
- Shell commands: [specifieke toegestane commando's OF geen]
|
|
130
|
+
- Network: [ja/nee]
|
|
131
|
+
|
|
132
|
+
## Do not
|
|
133
|
+
- Do not modify files outside [directory]
|
|
134
|
+
- Do not make git commits
|
|
135
|
+
- Do not install packages
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 7. Resultaten teruggeven van sub-agents
|
|
141
|
+
|
|
142
|
+
**Bestanden prefereren voor:**
|
|
143
|
+
- Resultatenlijsten waar de ouder over zal itereren
|
|
144
|
+
- Gegenereerde code die de ouder zal beoordelen
|
|
145
|
+
- Rapporten die meerdere keren worden gerefereerd
|
|
146
|
+
|
|
147
|
+
**Terugkeerberichten prefereren voor:**
|
|
148
|
+
- Eenvoudige ja/nee-antwoorden
|
|
149
|
+
- Korte gestructureerde gegevens
|
|
150
|
+
- Statusrapporten
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Snelle referentie
|
|
155
|
+
|
|
156
|
+
| Doel | Patroon |
|
|
157
|
+
|---|---|
|
|
158
|
+
| Afgebakende, op zichzelf staande taak | Delegatie |
|
|
159
|
+
| Zelfde taak op veel bestanden | Parallelisatie |
|
|
160
|
+
| Alleen-lezen zoeken/lokaliseren | Onderzoeker (Haiku) |
|
|
161
|
+
| Chirurgische codewijziging | Bouwer (Sonnet) |
|
|
162
|
+
| Diff/bestand review | Reviewer (Haiku) |
|
|
163
|
+
| Complexe meerstaps coördinatie | Orkestrator (Opus) |
|
|
164
|
+
| Sessieoverdracht | Context overdrachtspatroon |
|
|
165
|
+
| Grote sub-agent uitvoer | Naar bestand schrijven, ouder leest |
|
|
166
|
+
| Kort gestructureerd resultaat | Terurkerbericht |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Werk met ons samen
|
|
171
|
+
|
|
172
|
+
Claudient wordt ondersteund door [Uitbreiden](https://uitbreiden.com/) — we bouwen AI-producten met ontwikkelaarsgemeenschappen en leveren B2B AI-oplossingen. Als u multi-agent systemen, autonome workflows of productie-kwaliteit Claude Code orkestratie ontwerpt — we hebben dit in productie gebouwd en kunnen u helpen.
|
|
173
|
+
|
|
174
|
+
**[uitbreiden.com](https://uitbreiden.com/)**
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Aan de slag met Claudient
|
|
2
|
+
|
|
3
|
+
Deze gids brengt u in minder dan 10 minuten van nul naar een werkende Claude Code-omgeving met uw eerste skill, agent en hook.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Vereisten
|
|
8
|
+
|
|
9
|
+
- [Claude Code](https://claude.ai/code) geïnstalleerd en geverifieerd
|
|
10
|
+
- Een projectmap waaraan u actief werkt
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Stap 1 — Claudient klonen
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
git clone https://github.com/Claudient/Claudient.git ~/Claudient
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
U heeft nu de volledige bibliotheek lokaal. Er wordt niets automatisch uitgevoerd — u kiest wat u nodig heeft.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Stap 2 — De `.claude/`-map van uw project instellen
|
|
25
|
+
|
|
26
|
+
Claude Code zoekt naar configuratie in `.claude/` in de root van uw project.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
mkdir -p your-project/.claude/skills
|
|
30
|
+
mkdir -p your-project/.claude/hooks
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Uw projectstructuur zou er als volgt uit moeten zien:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
your-project/
|
|
37
|
+
├── .claude/
|
|
38
|
+
│ ├── skills/ ← skills komen hier (huidige standaard)
|
|
39
|
+
│ ├── hooks/ ← hook-scripts komen hier
|
|
40
|
+
│ └── settings.json ← hook-configuratie komt hier
|
|
41
|
+
├── CLAUDE.md ← regels komen hier
|
|
42
|
+
└── src/
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Stap 3 — Uw eerste skill toevoegen
|
|
48
|
+
|
|
49
|
+
Skills zijn slash-commando's. Kopieer een `.md`-bestand uit `skills/` naar `.claude/skills/`:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Voorbeeld: de FastAPI-skill toevoegen
|
|
53
|
+
cp ~/Claudient/skills/backend/python/fastapi.md your-project/.claude/skills/
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Open nu Claude Code in uw project en typ `/fastapi` — de skill wordt geactiveerd.
|
|
57
|
+
|
|
58
|
+
> **Opmerking:** `.claude/commands/` werkt nog steeds (verouderd pad), maar `.claude/skills/` is de huidige standaard. Als beide bestaan, hebben skills voorrang.
|
|
59
|
+
|
|
60
|
+
**Hoe een skill kiezen:**
|
|
61
|
+
- Blader door `skills/` per categorie
|
|
62
|
+
- Lees de sectie "When to activate" bovenaan elk bestand
|
|
63
|
+
- Als het overeenkomt met uw huidige taak, kopieer het dan
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Stap 4 — Een regel toevoegen
|
|
68
|
+
|
|
69
|
+
Regels staan in `CLAUDE.md` in de root van uw project. Claude leest dit bestand aan het begin van elke sessie.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Een gemeenschappelijke regelset kopiëren naar de CLAUDE.md van uw project
|
|
73
|
+
cat ~/Claudient/rules/common/coding-style.md >> your-project/CLAUDE.md
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Of open `rules/common/` en kopieer handmatig de secties die relevant zijn voor uw project.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Stap 5 — Uw eerste hook toevoegen
|
|
81
|
+
|
|
82
|
+
Hooks worden automatisch uitgevoerd bij Claude Code-gebeurtenissen. Ze staan in `.claude/settings.json`.
|
|
83
|
+
|
|
84
|
+
Maak of open `.claude/settings.json` in uw project:
|
|
85
|
+
|
|
86
|
+
```json
|
|
87
|
+
{
|
|
88
|
+
"hooks": {}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Kopieer een hook uit `hooks/` — elk hook-bestand bevat de exacte JSON om in te plakken. Bijvoorbeeld de kosten-tracking hook:
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"hooks": {
|
|
97
|
+
"PostToolUse": [
|
|
98
|
+
{
|
|
99
|
+
"matcher": "",
|
|
100
|
+
"hooks": [
|
|
101
|
+
{
|
|
102
|
+
"type": "command",
|
|
103
|
+
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/cost-tracker.sh"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Kopieer dan het bijbehorende script:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
cp ~/Claudient/hooks/lifecycle/cost-tracker.sh your-project/.claude/hooks/
|
|
116
|
+
chmod +x your-project/.claude/hooks/cost-tracker.sh
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Stap 6 — (Optioneel) Een agent toevoegen
|
|
122
|
+
|
|
123
|
+
Agents zijn sub-agent definities die u in uw Claude-sessies verwijst. Ze vereisen geen bestandskopie — u roept ze aan via `subagent_type` in een Agent-tool aanroep.
|
|
124
|
+
|
|
125
|
+
Blader door `agents/` om te begrijpen wat beschikbaar is. Wanneer u wilt dat Claude een taak delegeert aan een specialist (bijv. een beveiligingsreviewer, een databasespecialist), raadpleeg dan de agentdefinitie om te begrijpen wat die verwacht en wat die teruggeeft.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Wat nu te doen
|
|
130
|
+
|
|
131
|
+
| Doel | Waar te zoeken |
|
|
132
|
+
|---|---|
|
|
133
|
+
| Uw eigen skill schrijven | [guides/skill-authoring.md](skill-authoring.md) |
|
|
134
|
+
| Token-kosten verlagen | [guides/token-optimization.md](token-optimization.md) |
|
|
135
|
+
| Geheugen en sessiestatus begrijpen | [guides/memory-management.md](memory-management.md) |
|
|
136
|
+
| Uw Claude Code-setup beveiligen | [guides/security.md](security.md) |
|
|
137
|
+
| Meerstaps geautomatiseerde workflows bouwen | [guides/agent-orchestration.md](agent-orchestration.md) |
|
|
138
|
+
| Kwaliteit automatiseren met hooks | [guides/hooks-cookbook.md](hooks-cookbook.md) |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Problemen oplossen
|
|
143
|
+
|
|
144
|
+
**Skill verschijnt niet als slash-commando**
|
|
145
|
+
— Controleer of het bestand in `.claude/skills/` staat (of `.claude/commands/` voor het oude pad)
|
|
146
|
+
— Controleer of de bestandsextensie `.md` is
|
|
147
|
+
— Start Claude Code opnieuw op
|
|
148
|
+
|
|
149
|
+
**Hook wordt niet geactiveerd**
|
|
150
|
+
— Controleer of de naam van de gebeurtenis exact overeenkomt: `PreToolUse`, `PostToolUse`, `PreCompact`, `Notification`
|
|
151
|
+
— Controleer of het scriptpad relatief is aan de projectroot
|
|
152
|
+
— Controleer of het script uitvoerbaar is (`chmod +x`)
|
|
153
|
+
|
|
154
|
+
**CLAUDE.md wordt niet gelezen**
|
|
155
|
+
— Het moet in de projectroot staan (op hetzelfde niveau als `src/`, `package.json`, etc.)
|
|
156
|
+
— Start de Claude Code-sessie opnieuw na het bewerken
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Werk met ons samen
|
|
161
|
+
|
|
162
|
+
Claudient wordt ondersteund door [Uitbreiden](https://uitbreiden.com/) — we bouwen AI-producten met ontwikkelaarsgemeenschappen en leveren B2B AI-oplossingen. Als u iets serieus bouwt met Claude Code en deskundige hulp, een technische partner, of gewoon deel wilt uitmaken van de gemeenschap — kom ons vinden.
|
|
163
|
+
|
|
164
|
+
**[uitbreiden.com](https://uitbreiden.com/)**
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Hooks Kookboek
|
|
2
|
+
|
|
3
|
+
Echte, gebruiksklare hook-patronen voor het automatiseren van kwaliteit, veiligheid en waarneembaarheid in Claude Code.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Hook-fundamenten
|
|
8
|
+
|
|
9
|
+
Hooks zijn shell-scripts of commando's die Claude Code automatisch uitvoert als reactie op gebeurtenissen. Ze draaien buiten Claudes context — het zijn echte shell-processen, geen Claude-instructies.
|
|
10
|
+
|
|
11
|
+
**Hook-gebeurtenissen:**
|
|
12
|
+
| Gebeurtenis | Wanneer het activeert |
|
|
13
|
+
|---|---|
|
|
14
|
+
| `SessionStart` | Wanneer een Claude Code-sessie begint |
|
|
15
|
+
| `PreToolUse` | Voordat een tool-aanroep wordt uitgevoerd |
|
|
16
|
+
| `PostToolUse` | Nadat een tool-aanroep is voltooid |
|
|
17
|
+
| `PreCompact` | Voordat context-compactie activeert |
|
|
18
|
+
| `PostCompact` | Na context-compactie |
|
|
19
|
+
| `Stop` | Wanneer Claude klaar is met antwoorden |
|
|
20
|
+
| `Notification` | Wanneer Claude een bureaubladmelding stuurt |
|
|
21
|
+
|
|
22
|
+
**Afsluitcodes:** `0` = toestaan, `1` = waarschuwen (Claude ziet de uitvoer maar gaat door), `2` = blokkeren (tool-aanroep wordt geannuleerd).
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Recept 1 — Prettier auto-opmaak bij schrijven
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"hooks": {
|
|
31
|
+
"PostToolUse": [
|
|
32
|
+
{
|
|
33
|
+
"matcher": "Write|Edit",
|
|
34
|
+
"hooks": [{ "type": "command", "command": "npx prettier --write ${tool_input.file_path}", "async": true }]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Recept 2 — Gevaarlijke shell-opdrachten blokkeren
|
|
44
|
+
|
|
45
|
+
**.claude/hooks/block-dangerous.sh:**
|
|
46
|
+
```bash
|
|
47
|
+
#!/usr/bin/env bash
|
|
48
|
+
INPUT=$(cat)
|
|
49
|
+
COMMAND=$(echo "$INPUT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('command',''))")
|
|
50
|
+
BLOCKED_PATTERNS=("rm -rf" "sudo " "| bash" "| sh" "git push --force" "git reset --hard")
|
|
51
|
+
for pattern in "${BLOCKED_PATTERNS[@]}"; do
|
|
52
|
+
if echo "$COMMAND" | grep -qi "$pattern"; then
|
|
53
|
+
echo "GEBLOKKEERD: opdracht komt overeen met gevaarlijk patroon '$pattern'" >&2
|
|
54
|
+
exit 2
|
|
55
|
+
fi
|
|
56
|
+
done
|
|
57
|
+
exit 0
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Recept 3 — Auditlog voor elke tool-aanroep
|
|
63
|
+
|
|
64
|
+
**.claude/hooks/audit-log.sh:**
|
|
65
|
+
```bash
|
|
66
|
+
#!/usr/bin/env bash
|
|
67
|
+
INPUT=$(cat)
|
|
68
|
+
TOOL_NAME=$(echo "$INPUT" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('tool_name','unknown'))" 2>/dev/null)
|
|
69
|
+
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
70
|
+
LOG_FILE="${CLAUDE_PROJECT_DIR}/.claude/logs/audit.log"
|
|
71
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
72
|
+
echo "${TIMESTAMP} | ${TOOL_NAME}" >> "$LOG_FILE"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Recept 4 — Sessieopslag voor compactie
|
|
78
|
+
|
|
79
|
+
Combineer met een CLAUDE.md instructie: "Wanneer PreCompact activeert, vat samen: huidige taak, gewijzigde bestanden, open beslissingen, volgende stappen — voeg toe aan `.claude/memory/session-state.md`."
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Recept 5 — Kostentracker
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"hooks": {
|
|
88
|
+
"PostToolUse": [
|
|
89
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/cost-tracker.sh", "async": true }] }
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Recept 6 — TypeScript typecontrole bij bewerken
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"hooks": {
|
|
102
|
+
"PostToolUse": [
|
|
103
|
+
{
|
|
104
|
+
"matcher": "Write|Edit",
|
|
105
|
+
"hooks": [{ "type": "command", "command": "bash -c 'echo \"${tool_input.file_path}\" | grep -q \"\\.tsx\\?$\" && npx tsc --noEmit 2>&1 | head -20 || true'", "async": false, "timeout": 30 }]
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Recept 7 — Git push herinnering
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
#!/usr/bin/env bash
|
|
118
|
+
INPUT=$(cat)
|
|
119
|
+
COMMAND=$(echo "$INPUT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('command',''))" 2>/dev/null)
|
|
120
|
+
if echo "$COMMAND" | grep -q "git push"; then
|
|
121
|
+
echo "⚠️ Op het punt naar remote te pushen. Bevestig dat dit intentioneel is." >&2
|
|
122
|
+
exit 1
|
|
123
|
+
fi
|
|
124
|
+
exit 0
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Recept 8 — Context-lader bij sessiestart
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"hooks": {
|
|
134
|
+
"SessionStart": [
|
|
135
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/session-start.sh" }] }
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Problemen oplossen met hooks
|
|
144
|
+
|
|
145
|
+
**Hook activeert niet:**
|
|
146
|
+
- Controleer of de gebeurtenisnaam exact is: `PreToolUse`, `PostToolUse`, `SessionStart`, `PreCompact`
|
|
147
|
+
- Controleer of het script uitvoerbaar is: `chmod +x .claude/hooks/uw-script.sh`
|
|
148
|
+
|
|
149
|
+
**Hook handmatig testen:**
|
|
150
|
+
```bash
|
|
151
|
+
echo '{"tool_name":"Bash","tool_input":{"command":"ls"}}' | bash .claude/hooks/uw-script.sh
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Werk met ons samen
|
|
157
|
+
|
|
158
|
+
Claudient wordt ondersteund door [Uitbreiden](https://uitbreiden.com/) — we bouwen AI-producten met ontwikkelaarsgemeenschappen en leveren B2B AI-oplossingen. Als u aangepaste hook-systemen, geautomatiseerde kwaliteitspoorten of productie-kwaliteit Claude Code-automatisering voor uw team nodig heeft — we bouwen dit voor klanten.
|
|
159
|
+
|
|
160
|
+
**[uitbreiden.com](https://uitbreiden.com/)**
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Handleiding voor geheugenbeheer
|
|
2
|
+
|
|
3
|
+
Hoe u context bewaart tussen sessies, compactie overleeft en Claudes werkgeheugen scherp houdt.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Het geheugenprobleem
|
|
8
|
+
|
|
9
|
+
Claude Code heeft standaard geen persistent geheugen tussen sessies. Elke nieuwe sessie begint opnieuw. Binnen een sessie groeit de context totdat compactie wordt geactiveerd — op dat moment wordt de gespreksgeschiedenis gecomprimeerd en gaan details verloren.
|
|
10
|
+
|
|
11
|
+
Geheugenbeheer is de praktijk van het expliciet controleren van wat Claude weet, wanneer het dat weet, en hoe die kennis sessiegrenzen overleeft.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## De vier geheugenlagen
|
|
16
|
+
|
|
17
|
+
| Laag | Waar | Persistent tussen sessies | Overleeft compactie |
|
|
18
|
+
|---|---|---|---|
|
|
19
|
+
| **CLAUDE.md** | Projectroot | Ja | Ja |
|
|
20
|
+
| **Sessiebestanden** | `.claude/memory/` of `.tmp/` | Ja (indien opgeslagen) | Ja (indien voor compact opgeslagen) |
|
|
21
|
+
| **Contextvenster** | Alleen binnen sessie | Nee | Nee (gecomprimeerd) |
|
|
22
|
+
| **Sub-agent context** | Per sub-agent | Nee | Nee |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1. CLAUDE.md als permanent geheugen
|
|
27
|
+
|
|
28
|
+
`CLAUDE.md` wordt aan het begin van elke sessie gelezen. Het is de meest betrouwbare geheugenlaag.
|
|
29
|
+
|
|
30
|
+
**Wat in CLAUDE.md hoort:**
|
|
31
|
+
- Projectarchitectuuroverzicht (één alinea, niet uitputtend)
|
|
32
|
+
- Conventies die Claude zonder begeleiding fout zou doen
|
|
33
|
+
- Al genomen beslissingen die niet opnieuw besproken moeten worden
|
|
34
|
+
- Wat Claude nooit mag doen in dit project
|
|
35
|
+
|
|
36
|
+
**Wat NIET in CLAUDE.md hoort:**
|
|
37
|
+
- Lopend werk of taakstatus (verandert te snel, wordt verouderd)
|
|
38
|
+
- Lange uitleg over hoe technologieën werken
|
|
39
|
+
- Alles — CLAUDE.md boven 500 regels kost meer dan het oplevert
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. Sessiebestanden voor werkgeheugen
|
|
44
|
+
|
|
45
|
+
Voor lopende context die niet permanent in CLAUDE.md hoort, gebruik sessiebestanden.
|
|
46
|
+
|
|
47
|
+
**Patroon:**
|
|
48
|
+
```
|
|
49
|
+
.claude/
|
|
50
|
+
└── memory/
|
|
51
|
+
├── current-task.md ← waar u nu aan werkt
|
|
52
|
+
├── decisions.md ← beslissingen genomen deze week
|
|
53
|
+
└── context-dump.md ← achtergrond voor een lange taak
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Sessiebestanden comprimeren:** Gebruik het caveman-compress patroon — sessiegeheugenbestanden herschrijven bespaart ~46% op input-tokens die elke sessie worden gelezen.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 3. Pre-compact hook voor overleving
|
|
61
|
+
|
|
62
|
+
Wanneer compactie automatisch wordt geactiveerd, gaat elke werkcontext in de sessie die niet in een bestand is opgeslagen verloren. Een `PreCompact`-hook wordt uitgevoerd voor compactie.
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"hooks": {
|
|
67
|
+
"PreCompact": [
|
|
68
|
+
{
|
|
69
|
+
"matcher": "",
|
|
70
|
+
"hooks": [
|
|
71
|
+
{
|
|
72
|
+
"type": "command",
|
|
73
|
+
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/pre-compact-save.sh"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Wat `pre-compact-save.sh` moet doen:**
|
|
83
|
+
1. Claude vragen samen te vatten: huidige taakstatus, openstaande beslissingen, gewijzigde bestanden, volgende stappen
|
|
84
|
+
2. Die samenvatting met tijdstempel schrijven naar `.claude/memory/session-state.md`
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 4. Sub-agent geheugen-isolatie
|
|
89
|
+
|
|
90
|
+
Sub-agents krijgen een schoon contextvenster — ze hebben standaard geen geheugen van de oudersessie.
|
|
91
|
+
|
|
92
|
+
**Geheugen doorgeven aan sub-agents:**
|
|
93
|
+
- Relevante CLAUDE.md-secties expliciet opnemen in de sub-agent prompt
|
|
94
|
+
- Specifieke bestandspaden en beslissingen doorgeven die de sub-agent nodig heeft
|
|
95
|
+
|
|
96
|
+
**Geheugen terugkrijgen van sub-agents:**
|
|
97
|
+
- Laat de sub-agent zijn bevindingen naar een bestand schrijven
|
|
98
|
+
- Lees dat bestand terug in de oudersessie
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 5. CONTEXT.md voor domeintaal
|
|
103
|
+
|
|
104
|
+
Complexe projecten profiteren van een `CONTEXT.md` — een woordenlijst van domeinspecifieke termen.
|
|
105
|
+
|
|
106
|
+
**Structuur:**
|
|
107
|
+
```markdown
|
|
108
|
+
# Projectcontext
|
|
109
|
+
|
|
110
|
+
## Language
|
|
111
|
+
**Order**: Aankoopintentie van een klant voor een of meer Producten.
|
|
112
|
+
**Cart**: Tijdelijke pre-bestelling status. Verschilt van Order — niet verwarren.
|
|
113
|
+
|
|
114
|
+
## Relationships
|
|
115
|
+
- Een Order bevat een of meer OrderLines
|
|
116
|
+
- Een Cart behoort tot precies één User
|
|
117
|
+
|
|
118
|
+
## Decisions
|
|
119
|
+
- "Basket" werd gebruikt in vroege code — opgelost: gebruik altijd "Cart"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 6. Compactiestrategie
|
|
125
|
+
|
|
126
|
+
**Proactieve compactie wint van reactieve compactie.**
|
|
127
|
+
|
|
128
|
+
**Wanneer handmatig comprimeren (`/compact`):**
|
|
129
|
+
- Voor het starten van een nieuwe grote taak in dezelfde sessie
|
|
130
|
+
- Na een lange debugsessie
|
|
131
|
+
- Wanneer Claude vragen begint te herhalen of beslissingen kwijtraakt
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Snelle referentie
|
|
136
|
+
|
|
137
|
+
| Situatie | Actie |
|
|
138
|
+
|---|---|
|
|
139
|
+
| Onveranderlijke beslissingen | In CLAUDE.md zetten |
|
|
140
|
+
| Huidige taakstatus | `.claude/memory/current-task.md` |
|
|
141
|
+
| Domeinterminologie | `CONTEXT.md` in projectroot |
|
|
142
|
+
| Compactie overleven | `PreCompact`-hook → session-state.md |
|
|
143
|
+
| Nieuwe grote taak beginnen | Eerst `/compact`, dan beginnen |
|
|
144
|
+
| Context doorgeven aan sub-agent | Expliciet opnemen in de prompt |
|
|
145
|
+
| Claude stelt al beantwoorde vragen | Antwoord toevoegen aan CLAUDE.md |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Werk met ons samen
|
|
150
|
+
|
|
151
|
+
Claudient wordt ondersteund door [Uitbreiden](https://uitbreiden.com/) — we bouwen AI-producten met ontwikkelaarsgemeenschappen en leveren B2B AI-oplossingen. Als u langlopende AI-workflows, autonome agents bouwt, of hulp nodig heeft bij het ontwerpen van geheugenarchitecturen voor productie Claude Code-implementaties — wij kunnen helpen.
|
|
152
|
+
|
|
153
|
+
**[uitbreiden.com](https://uitbreiden.com/)**
|