CLAUDE.md · git:20261028.8d1d6ce · 2026-10-28 · sha256 1f9365bd535c105f
CLAUDE.md git:20261028.8d1d6ceA
Immutable. This exact content never changes and is served at /api/v1/blob/1f9365bd535c105f.
# CLAUDE.md — TricorderKit v0.9 > Configuration Claude Code pour ce repo. > Mis à jour : 2026-05-22 — Aligné AGENTS.md v0.8 + Extended Thinking policy + rotation session --- ## Identité du projet - **Nom** : TricorderKit - **Version** : 0.9 - **Type** : Agentic Knowledge OS — local-first - **Propriétaire** : GeekFamilyCorp - **Stack** : Claude Code + Obsidian + MCP + Neo4j + Qdrant + Docker + Temporal - **Architecture** : TricorderKit exécute · my-domain-agent spécialise · My-Domain-Project stocke --- ## Séquence de boot (lazy-load — économie tokens) ```text TIER 1 — Toujours charger (~500 tokens) 1. BOOT_SUMMARY.md → version, tâches, patterns, statut Docker TIER 2 — Charger uniquement si TIER 1 ne suffit pas (~2 500 tokens) 2. tasks/lessons.md → règles préventives actives (R12) 3. .planning/STATE.md → état détaillé si phase ou infra à vérifier 4. .planning/TASKS.md → items pending/in_progress uniquement (exclure ✅) 5. .planning/DECISIONS.md → 5 dernières entrées seulement TIER 3 — À la demande uniquement (~10 000 tokens) - .planning/RISKS.md - docs/00→06 ``` > Ne charger README_FIRST.md qu'en cas de doute sur les limites du projet. > Ne jamais charger AGENTS.md au boot — il est lu par Claude Code automatiquement. --- ## Extended Thinking Policy **Désactivé par défaut** pour toutes les tâches suivantes : - Remplissage de fiches (projet, article, personne, organisation, concept, source) - Recherche web simple et récupération de données factuelles - Génération de fichiers depuis un template existant - Exécution de commandes CLI **Activé uniquement si** le message contient explicitement `[THINK]` ou si la tâche implique : - Raisonnement architectural multi-fichiers - Débogage de régression complexe - Décision irréversible (DEC-NNN) --- ## Modes de travail intensifs (longues tâches) > Conventions internes (pas des commandes Cowork natives). Mappent les fonctionnalités Claude Code `code-review ultra` et Dynamic Workflows vers des comportements réellement disponibles ici via l'outil `Task` (sous-agents) et l'effort de raisonnement. Cohérent avec la balise `[THINK]`. ### `[ULTRA]` — Exécution & revue haute intensité Déclencheur : `[ULTRA]` dans le message (ou « code review ultra », « ultra »). - Effort de raisonnement poussé au maximum (`[THINK]` implicitement actif). - **Passe de vérification adversariale obligatoire** : un sous-agent `Task` dédié critique le livrable (correction, sécurité, perf, cohérence contrats `skill_output.schema.json`, respect frontière publique `make gate`) avant restitution. - Sur données métier : double validation croisée des sources (règle My-Domain-Project §2) + classification fiabilité ✅🟡🟠🔴. - Réservé aux tâches qui le méritent (archi multi-fichiers, décision DEC-NNN, audit, livrable critique) — pas le remplissage de fiches simples. ### `[WORKFLOW]` — Orchestration multi-agents parallèle Déclencheur : `[WORKFLOW]` dans le message (ou « workflow »). - Pour audits, sweeps, recherche fan-out, remplissage massif, dédup vault. - Décomposition en sous-tâches indépendantes → plusieurs sous-agents `Task` lancés **en parallèle** (un seul message, plusieurs appels) → consolidation + dédup + QA finale. - Restitution : seulement les conclusions consolidées, pas les dumps intermédiaires. ### Garde-fous (non négociables) - **Token Hygiene** : estimer le coût avant lancement ; segmenter si > 80 % budget (cohérent `token-optimizer`). Le gathering exhaustif reste routé Antigravity/Hermes ; côté Claude = max sur intégration/dédup/QA. - **Risk Guard** : MEDIUM → confirmation courte avant de lancer une armée de sous-agents ; HIGH/CRITICAL → plan + validation explicite. - Toute écriture externe (vault, base, API) déclenchée par un workflow passe par `--dry-run` au préalable. --- ## Session Rotation Policy - Ouvrir un nouveau fil toutes les **15–20 messages** - Avant de fermer : générer `session_capsule.json` compact via `/tk:pack-context` - Coller la capsule en premier message du nouveau fil - Mettre à jour `BOOT_SUMMARY.md` en fin de session --- ## Conventions de code ### TypeScript (CLI, workflows Temporal) - Strict mode activé - Output JSON par défaut pour toutes les commandes CLI - Types explicites, pas d'`any` ### Python (scripts utilitaires) - Python 3.11+ - Output JSON ou Markdown - Pas de dépendances inutiles ### Markdown (vault, docs) - Frontmatter YAML obligatoire - 1 idée = 1 fichier (principe atomique) - Taille cible : 100–500 tokens par note --- ## Structure des plugins ```text plugins/<nom>/ ├── README.md ├── SKILL.md ├── manifest.yml ├── scripts/ └── tests/ ``` ## Structure des skills ```text skills/<nom>/ ├── SKILL.md ├── examples/ └── tests/ ``` --- ## Règles de commit ```text feat: <description> fix: <description> docs: <description> refactor: <description> test: <description> chore: <description> ``` Chaque commit important → entrée dans `CHANGELOG.md`. --- ## Commande principale ```bash /tk:boot ``` --- ## Variables d'environnement requises ```text ANTHROPIC_API_KEY NEO4J_URI / NEO4J_USER / NEO4J_PASSWORD QDRANT_URL / QDRANT_API_KEY TEMPORAL_ADDRESS LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY OBSIDIAN_VAULT_PATH ``` --- *Version 0.9 — 2026-05-22 — Aligné AGENTS.md v0.8 · Extended Thinking policy · Session rotation* --- ## Routage des dépôts (gouvernance — DEC-016, 2026-05-29) Règle vérifiée en **fin de chaque action / tâche / mise à jour** (checkpoint de routage, conçu *token-light*) : | Domaine | Dépôt cible | |---|---| | Framework installable + cerveau d'orchestration (`.planning/`, `CLAUDE.md`, `AGENTS.md`, `docs/`, `core/`, plugins génériques, `.gitignore`) | **TricorderKit** (`GeekFamilyCorp/TricorderKit`) | | `linked_project` métier : liaison vault (`obsidian-agent-layer/`, `vault_router.py`, `vault_optimizer/`, `linked_projects.yaml`, `hermes/`, CLI/skills/pipelines vault) | **my-domain-agent** (`your-org/my-domain-agent`) | | Contenu du vault Obsidian My-Domain-Project (fiches, sources, notes) | **My-Domain-Project** (github — *EN ATTENTE*) | Procédure *token-light* : suivre les fichiers touchés pendant la session (pas de scan complet) → `git status --porcelain` du/des repo(s) concerné(s) → `git add` **ciblé** (jamais `-A`) → 1 commit conventionnel par repo → push. Sauter tout repo non touché.