Aller au contenu

La couche IA

But : que Claude produise du code conforme en consommant peu de tokens.

Élément Chargement Taille
CLAUDE.md de l’app -> @core/_ai/CLAUDE.core.md + @core/_ai/digest.md toujours < 150 lignes
.claude/rules/daroms-*.md (frontmatter paths:) quand Claude lit ou écrit un fichier concerné 10 à 20 lignes chacune
.claude/rules-ondemand/ lues à la demande (le digest les liste) -
Skills daroms-* description seule, contenu à l’invocation -
Skills tiers (vendor) nom seul (skillOverrides: name-only) -
CATALOG.md lu avant d’écrire une UI, à la place des sources ~60 lignes
Hook Événement Effet
daroms-sync.py SessionStart copie core/_ai vers .claude/ (daroms-* seulement), fusionne settings.json, régénère catalogue et digest ; silencieux si à jour
daroms-context.py build/route SessionStart / UserPromptSubmit indexe les zones (features, modules actifs, zones apprises) puis indique la zone probable de la demande ; silencieux si incertain
daroms-check-rules.py PreToolUse Edit/Write refuse l’écriture qui viole une règle, avec un message court
daroms-typecheck.py PostToolUse Edit/Write tsc incrémental + eslint limités au fichier touché (20 lignes max)
daroms-deny-env.py PreToolUse Bash aucune lecture de .env (et permissions deny sur Read/Edit)
daroms-session-stats.py Stop tokens et durée par session dans .claude/stats.jsonl ; alerte quand le contexte dépasse 150 k tokens

Chaque réponse relit tout le contexte. Sur l’app Chapitre, faite en une seule session, cette relecture pesait la moitié du coût : 49 M tokens relus pour 228 réponses, tout sur Opus. D’où le routage repris d’ECC : Haiku pour le mécanique, Sonnet pour implémenter, Opus pour le dialogue et l’ambigu.

Étapes Exécution Modèle
idea, inspire, brand, design, fix fil principal (dialogue, erreur sous les yeux) celui de la session
data, screen, module, check, polish, store sous-agent à contexte neuf (context: fork) Sonnet, effort moyen
learn, commit sous-agent à contexte neuf Haiku
agents daroms-designer, daroms-reviewer, daroms-store sous-agent Sonnet, effort moyen

Un sous-agent charge CLAUDE.md et les règles, et les hooks vérifient ses écritures. Il ne voit pas la conversation (le cahier et le code portent l’état) et ne peut pas poser de question ; seul son résumé revient dans le fil principal. Un skill d’app (app-*) suit la même règle : /daroms-skill-new la rappelle.

/daroms-learn ajoute des zones dans .claude/context/app-zones.json (propres à l’app) ou propose des zones génériques pour core/_ai/context/daroms-zones.json. bun daroms cost lit les transcripts de Claude Code et chiffre chaque étape de /daroms-day dans app.cost.md, la référence à faire baisser à l’app suivante.

daroms- : vient du cœur, écrasé à chaque synchronisation. app- : propre à l’app, jamais touché.