fix: CLAUDE.md template sync + brain boot depuis n'importe quel cwd

This commit is contained in:
2026-03-21 15:46:42 +01:00
parent 2fd53cce8e
commit 30448feb41
2 changed files with 65 additions and 16 deletions

View File

@@ -147,7 +147,6 @@ kill $(cat /tmp/brain-engine.pid)
Ouvre un **nouveau terminal** (brain-engine tourne dans l'autre) : Ouvre un **nouveau terminal** (brain-engine tourne dans l'autre) :
```bash ```bash
cd ~/Dev/Brain
claude claude
``` ```
@@ -157,6 +156,8 @@ Claude Code s'ouvre. Tape :
brain boot brain boot
``` ```
> Tu n'as pas besoin d'etre dans le dossier brain. `brain boot` fonctionne depuis n'importe quel repertoire — les chemins dans `~/.claude/CLAUDE.md` sont absolus.
### Ce que tu dois voir ### Ce que tu dois voir
``` ```
@@ -211,8 +212,8 @@ cp profil/CLAUDE.md.example ~/.claude/CLAUDE.md
# 3. Lancer le dashboard (optionnel, a chaque session) # 3. Lancer le dashboard (optionnel, a chaque session)
bash brain-engine/start.sh bash brain-engine/start.sh
# 4. Lancer Claude Code (a chaque session) # 4. Lancer Claude Code (a chaque session, depuis n'importe ou)
cd ~/Dev/Brain && claude claude
# Puis : brain boot # Puis : brain boot
``` ```

View File

@@ -1,10 +1,19 @@
---
name: CLAUDE-example
type: config
context_tier: cold
---
# CLAUDE.md — Bootstrap # CLAUDE.md — Bootstrap
# Copier vers ~/.claude/CLAUDE.md puis remplacer <BRAIN_ROOT> par le chemin réel
> **Fichier global** — `~/.claude/CLAUDE.md` — charge par Claude Code peu importe le cwd.
> `brain boot` fonctionne depuis n'importe quel repertoire : les chemins ci-dessous sont absolus.
> Ne jamais creer de CLAUDE.md projet qui override ce fichier sans raison explicite.
## Configuration machine (seul endroit a modifier sur une nouvelle machine) ## Configuration machine (seul endroit a modifier sur une nouvelle machine)
brain_root: <BRAIN_ROOT> brain_root: <BRAIN_ROOT>
brain_name: <BRAIN_NAME> ← prod / dev-laptop / template-test / etc. brain_name: <BRAIN_NAME>
--- ---
@@ -13,15 +22,25 @@ brain_name: <BRAIN_NAME> ← prod / dev-laptop / template-test / etc.
0. `<BRAIN_ROOT>/PATHS.md` — chemins machine 0. `<BRAIN_ROOT>/PATHS.md` — chemins machine
1. `<BRAIN_ROOT>/profil/collaboration.md` — regles de travail 1. `<BRAIN_ROOT>/profil/collaboration.md` — regles de travail
2. `<BRAIN_ROOT>/agents/coach-boot.md` — presence permanente (boot-summary L0) 2. `<BRAIN_ROOT>/agents/coach-boot.md` — presence permanente (boot-summary L0)
3. `<BRAIN_ROOT>/agents/secrets-guardian.md` — gardien secrets, permanent 3. `<BRAIN_ROOT>/agents/secrets-guardian.md` — gardien secrets, permanent, lit MYSECRETS silencieusement
4. `<BRAIN_ROOT>/agents/helloWorld.md` — briefing, focus, todos, CHECKPOINT, feature flags 4. `<BRAIN_ROOT>/agents/helloWorld.md` — briefing, focus, todos, CHECKPOINT, feature flags
helloWorld prend le relais : etat projets, todos prioritaires, detection de session, feature_set, CHECKPOINT. helloWorld prend le relais : etat projets, todos prioritaires, detection de session, feature_set, CHECKPOINT.
Ne pas demander a l'utilisateur de se redecrire — tout est dans le brain. Ne pas demander a l'utilisateur de se redecrire — tout est dans le brain.
> **Satellites manquants :** si todo/, toolkit/, progression/, reviews/ n'existent pas, > **BSI boot claim — non negociable** : apres le briefing, ouvrir un claim via `bash scripts/bsi-claim.sh open` (ADR-042).
> le brain continue sans eux. helloWorld signale ce qui manque et propose de les creer. > brain.db = source unique. Pas de commit git, pas de push. Voir protocole complet dans helloWorld.md ## Boot claim automatique.
> Ce n'est PAS une erreur — c'est un fresh fork.
> **brain boot navigate** (ou `brain boot mode navigate`) → charger `contexts/session-navigate.yml`
> via le BHP helloWorld — fenetre legere (~18%), time-anchor actif, coach en boot-summary uniquement.
> **brain boot sudo** (ou `brain boot mode edit-brain`) → charger `contexts/session-edit-brain.yml`
> Writes autorises partout dans le brain. Kernel (PATHS.md, KERNEL.md, CLAUDE.md) → confirmation explicite.
> **brain boot mode kernel** → charger `contexts/session-kernel.yml`
> Lecture seule sur le kernel. Toute tentative write kernel → refus + redirection session-edit-brain.
> **brain boot mode projet** → alias de `brain boot mode work` — meme session, meme contexte.
> Source unique de verite : brain `<BRAIN_NAME>` a `<BRAIN_ROOT>`. > Source unique de verite : brain `<BRAIN_NAME>` a `<BRAIN_ROOT>`.
> Si d'autres repertoires brain sont visibles sur le systeme — les ignorer. > Si d'autres repertoires brain sont visibles sur le systeme — les ignorer.
@@ -29,14 +48,39 @@ Ne pas demander a l'utilisateur de se redecrire — tout est dans le brain.
--- ---
## Agents 🔴 chauds — detection automatique sur domaine ## MCP brain — interface cognitive live
Le brain expose 7 outils MCP sur `<BRAIN_API_URL>/mcp/`.
A utiliser EN PLUS du bootstrap fichiers — pas a la place (CLAUDE.md reste Layer 0).
**Reflexes de session :**
- `brain_boot()` → enrichit le contexte avec les chunks RAG les plus pertinents
- `brain_focus()` → direction active + projets + blockers (live, pas le fichier stale)
- `brain_workflows()` → sprints en cours + etats des steps
- `brain_agents('X')` → charge le contenu d'un agent en contexte
- `brain_decisions(5)` → ADRs recentes
- `brain_search('q')` → RAG semantique sur n'importe quel sujet
- `brain_write('p', c)` → ecriture fichier brain [owner only]
**Quand utiliser :**
- Debut de session longue → `brain_boot()` + `brain_focus()` + `brain_workflows()`
- Avant de charger un agent → `brain_agents('nom-agent')` si contexte insuffisant
- Recherche de contexte precis → `brain_search('sujet')`
- Mise a jour brain en session → `brain_write('fichier.md', contenu)`
> MCP enrichit le contexte — ne remplace pas Layer 0. Les fichiers restent la source de verite.
---
## Agents chauds — detection automatique sur domaine
| Domaine detecte | Agent | | Domaine detecte | Agent |
|-----------------|-------| |-----------------|-------|
| VPS, Apache, Docker, SSL, vhost, certbot, deploy | `agents/vps.md` | | VPS, Apache, Docker, SSL, vhost, certbot, deploy | `agents/vps.md` |
| Mail, SMTP, IMAP, Stalwart, DNS, SPF, DKIM | `agents/mail.md` | | Mail, SMTP, IMAP, Stalwart, DNS, SPF, DKIM | `agents/mail.md` |
| Review code, qualite, PR, validation avant prod | `agents/code-review.md` | | Review code, qualite, PR, validation avant prod | `agents/code-review.md` |
| Securite, faille, JWT, OAuth, OWASP, secrets | `agents/security.md` | | Securite, faille, JWT, OAuth, OWASP | `agents/security.md` |
| .env, secrets, credentials, token manquant, API key, MYSECRETS | `agents/secrets-guardian.md` |
| Tests, Jest, Vitest, coverage, TDD | `agents/testing.md` | | Tests, Jest, Vitest, coverage, TDD | `agents/testing.md` |
| Bug, erreur, crash, comportement inattendu | `agents/debug.md` | | Bug, erreur, crash, comportement inattendu | `agents/debug.md` |
| Refacto, dette technique, DDD | `agents/refacto.md` | | Refacto, dette technique, DDD | `agents/refacto.md` |
@@ -50,8 +94,9 @@ Ne pas demander a l'utilisateur de se redecrire — tout est dans le brain.
| Stack frontend, shadcn, Tailwind, UI libs | `agents/frontend-stack.md` | | Stack frontend, shadcn, Tailwind, UI libs | `agents/frontend-stack.md` |
| i18n, traductions, cles manquantes | `agents/i18n.md` | | i18n, traductions, cles manquantes | `agents/i18n.md` |
| README, doc API, Swagger | `agents/doc.md` | | README, doc API, Swagger | `agents/doc.md` |
| Game design, GDD, mecanique, equilibrage, progression jeu | `agents/game-designer.md` |
Agents 🔵 stables → invocation manuelle uniquement. Index complet : `agents/AGENTS.md` Agents stables → invocation manuelle uniquement. Index complet : `agents/AGENTS.md`
Invocation explicite : "charge l'agent X" → lire `agents/X.md` immediatement. Invocation explicite : "charge l'agent X" → lire `agents/X.md` immediatement.
Convention /btw : message prefixe `/btw` → agent `aside` — reponse 2-3 lignes, capture todo si actionnable, retour session explicite (`→ on reprend.`) Convention /btw : message prefixe `/btw` → agent `aside` — reponse 2-3 lignes, capture todo si actionnable, retour session explicite (`→ on reprend.`)
@@ -65,3 +110,6 @@ Convention /btw : message prefixe `/btw` → agent `aside` — reponse 2-3 ligne
- Ne jamais exposer secrets, tokens, cles privees - Ne jamais exposer secrets, tokens, cles privees
- Fait non verifie → `Information manquante` - Fait non verifie → `Information manquante`
- Incertitude → `Niveau de confiance: faible/moyen/eleve` - Incertitude → `Niveau de confiance: faible/moyen/eleve`
- Secret detecte (code, chat, shell, output outil) ACCIDENTELLEMENT → SESSION SUSPENDUE — afficher l'interruption, ne jamais continuer avant confirmation explicite
- Exception : "session securite active" declaree explicitement → suspension levee pour la session. Les valeurs ne s'affichent JAMAIS dans le chat meme en mode securite. Read tool sur MYSECRETS interdit meme en mode securite — utiliser Bash silencieux uniquement.
- identityShow: on (defaut owner) — agents utilisent leurs marqueurs visuels complets (prefixes, emojis). Consequence de kerneluser: true dans brain-compose.yml.