Skip to content
Apothem
Adaptateurs d'environnement

Claude Code

Adaptateur d'environnement Apothem pour Claude Code (GA).

Éditeur : Anthropic Nom d'installation : claude-code Statut : GA Configuration native : ~/.claude/

Installation

apothem install --harness claude-code

L'adaptateur claude-code installe le corpus partagé d'Apothem dans l'arborescence de découverte native de Claude Code. Les agents Markdown, les règles, les skills, les output-styles et les settings sont installés à leurs emplacements natifs ; les prompts de commande sont convertis en skills afin que les flux de travail réutilisables restent visibles via la surface de skills actuelle de Claude Code. Le moteur de rendu de la ligne d'état est copié dans ~/.claude/statuslines/ mais n'est pas branché : Claude Code lit sa ligne d'état dans le paramètre statusLine, que l'adaptateur laisse non défini. Pour l'activer, ajoutez à settings.json une entrée statusLine avec "type": "command" qui exécute ~/.claude/statuslines/render.py. La valeur commandWindows de l'extrait s'exécute sous Windows et désigne l'interpréteur sans guillemets. Lorsque le chemin de l'interpréteur contient un espace, l'installation écrit dans cette valeur sa forme courte Windows 8.3 si le volume en possède une. Les entrées de hooks dans settings.json conservent le chemin complet.

Fichiers écrits : settings.json, le bloc Apothem de CLAUDE.md, agents/, rules/, skills/, statuslines/, output-styles/ et la sous-arborescence de support .apothem/support/ (.apothem/support/hooks/, .apothem/support/conformity/, .apothem/support/schemas/, .apothem/support/templates/) sous ~/.claude/. Les fichiers de commande sont convertis en répertoires de skills enfants. Le répartiteur de hooks et le portail de conformité s'exécutent depuis leurs copies matérialisées — les entrées de hook de settings.json invoquent ~/.claude/.apothem/support/hooks/dispatch.py et ~/.claude/.apothem/support/conformity/gate.py par chemin absolu, de sorte qu'aucun paquet apothem importable n'est nécessaire sur l'hôte.

~/.claude/CLAUDE.md reste détenu par l'opérateur. L'adaptateur y écrit un seul bloc Apothem délimité par des sentinelles, qui contient la projection du profil (identité, préférences, règles, niveau de sérieux et comportements activés explicitement) ainsi qu'une section consacrée aux fichiers de support Apothem, et il préserve mot pour mot chaque ligne située hors des sentinelles. La section des fichiers de support nomme le répertoire absolu par rapport auquel se résout chaque citation de style dépôt dans les règles, skills et agents installés : rules/<name>.md sous ~/.claude/rules/, et templates/..., schemas/..., hooks/... et conformity/... sous ~/.claude/.apothem/support/. Elle renvoie aussi à l'index des règles, ~/.claude/rules/apothem-rule-index.md. Le reste de la surface de gouvernance d'Apothem atteint Claude Code via l'arborescence rules/ propagée et le hook SessionStart. OpenCode charge aussi ~/.claude/CLAUDE.md lorsqu'aucun ~/.config/opencode/AGENTS.md n'existe ; le bloc ne désigne donc aucun outil unique comme son lecteur.

Correspondance entre le profil et la configuration native

À chaque apothem install ou apothem update, l'adaptateur propage le corpus partagé apothem dans ~/.claude/ selon le manifeste de propagation. L'adaptateur utilise directement les répertoires natifs lorsque c'est possible et convertit les prompts de commande en dossiers de skills. Les enfants correspondants déjà gérés par Apothem sont sauvegardés avant remplacement ; les entrées sans rapport rédigées par l'opérateur sont préservées. settings.json est fusionné afin que les clés rédigées par l'opérateur restent récupérables.

Les fichiers rédigés par l'opérateur ne sont conservés qu'en dehors des dossiers ci-dessous. Chaque installation et chaque mise à jour supprime chacun de ces dossiers situés sous ~/.claude/ qui existe, qu'Apothem l'ait écrit ou non : src/, conformity/, schemas/, hooks/, config/, scripts/, tools/, lib/, templates/, docs/, tests/, packaging/, mcp/, examples/, assets/, site/, public/ et commands/. Elles suppriment aussi statuslines/__init__.py ainsi que les fichiers AGENTS.md présents dans agents/, rules/, skills/, statuslines/ et output-styles/. Un dossier supprimé l'est entièrement, y compris les fichiers que vous y avez placés. Les commandes slash que vous conservez dans commands/ sont aussi supprimées, et Apothem installe ses propres invites de commande comme skills sous skills/. Un script de hook que vous conservez dans hooks/ est supprimé, ce qui laisse toute entrée de settings.json qui l'appelle pointer vers rien. Le balayage s'exécute avant que l'installation n'écrive ses propres fichiers. Chaque chemin supprimé est d'abord copié dans ~/.apothem/backups/, et l'enregistrement d'installation nomme cette copie. La désinstallation ne la restaure pas. Pour restaurer un chemin supprimé, exécutez apothem rollback --harness claude-code --install-id ID pour l'installation qui l'a supprimé, comme décrit dans la référence rollback. Un simple apothem rollback n'annule que la dernière installation. Les enregistrements d'installation et leurs copies sont conservés pour les 10 installations les plus récentes ; un chemin supprimé ne peut donc être restauré que tant que son installation figure parmi elles. apothem diff --harness claude-code liste ces suppressions sous Prune stale files avant que vous n'installiez.

Les skills installés, ainsi que les skills fournis dans le plugin Claude Code, portent user-invocable au lieu du userInvocable du corpus source, car Claude Code ne lit que la clé avec trait d'union. Les deux conteneurs de templates (plan-suite, research-suite) la définissent à false, de sorte qu'ils restent hors du menu /. Chaque output-style définit keep-coding-instructions: true ; en sélectionner un conserve donc les instructions d'ingénierie logicielle intégrées à Claude Code.

Les deux portent aussi les clés de frontmatter propres à Apothem (version, updated, archetype, portability) sous une table metadata: finale de chaînes entre guillemets, dans cet ordre fixe. Claude Code ignore les clés de premier niveau inconnues, et le format ouvert des skills range les extras propres à un client dans metadata. Les fichiers source ne changent pas. Les dossiers de skills de niveau utilisateur (~/.agents/skills/, ~/.codebuddy/skills/, ~/.kiro/skills/ et ~/.trae/skills/) utilisent la même forme metadata, de sorte que les installations qui partagent un dossier ne réécrivent jamais les fichiers les unes des autres. Tous les autres environnements reçoivent les clés au premier niveau, comme auparavant.

Règles et ce qui se charge au lancement

Claude Code charge un fichier de règle au lancement, sauf si son frontmatter porte une liste paths: qui en restreint la portée. Avec paths:, il charge la règle lorsqu'il lit ou édite un fichier correspondant. Une liste composée uniquement de ** ne restreint rien ; cette règle se charge donc aussi au lancement ; aucune règle Apothem n'en utilise. L'installation transforme le pathFilter de chaque règle en cette liste. Cinq règles n'en portent aucun et se chargent dans chaque session : agnostic-posture, authority-inquiry, session-closure, context-management et l'index des règles, apothem-rule-index. Toutes les autres règles sont installées sous ~/.claude/rules/ avec paths: et se chargent lorsqu'un fichier correspondant est touché.

Claude Code compare ces globs, avec la sémantique de .gitignore, au chemin du fichier relatif au répertoire de travail, et jamais à un fichier situé hors de celui-ci. Le répertoire de mémoire automatique se trouve sous ~/.claude/projects/ ; auto-memory et auto-memory-topic-files ne se chargent donc jamais sur une correspondance de chemin. Éditer ~/.claude/CLAUDE.md ou un fichier sous ~/.claude/rules/ depuis un autre projet ne charge pas non plus les règles dont la portée vise ces fichiers. Ces règles atteignent une session via l'index.

L'index nomme chaque règle et la situation qui l'appelle. Une étape qui cite rules/<name>.md comme procédure lit d'abord ce fichier. Après une compaction du contexte, relisez toute règle que vous appliquiez : Claude Code ne réinjecte pas une règle à portée de chemin tant qu'un fichier correspondant n'est pas touché à nouveau. Le nom apothem-rule-index.md est réservé, car une installation sauvegarde puis écrase un fichier de règle portant ce nom.

Les règles qui régissent les propres surfaces d'Apothem ont pour portée CLAUDE.md, AGENTS.md et le Markdown sous rules/, commands/, skills/, agents/, hooks/ et output-styles/. Un dépôt applicatif contient rarement ces fichiers ; dans un tel dépôt, ces règles atteignent donc une session via l'index, via un skill, une commande ou un auxiliaire qui les cite, et via les hooks, et non via une correspondance de chemin.

Les copies des règles sont écrites sans leur section finale ## Bindings, comme le sont les skills de commande. Cette section contient des références réciproques destinées aux mainteneurs et au portail de conformité. Les fichiers source la conservent, tout comme les copies que reçoivent les autres environnements.

Pour garder une règle à portée restreinte active dans chaque session, vous pouvez essayer de l'importer depuis du texte situé hors du bloc Apothem dans ~/.claude/CLAUDE.md, par exemple @rules/definitiveness.md. La page mémoire de Claude Code documente l'import et indique qu'un chemin importé se résout par rapport au fichier qui l'importe. Elle ne dit pas comment la liste paths d'une règle importée est traitée, et Apothem ne l'a pas vérifié. Vérifiez avec le hook InstructionsLoaded que la règle se charge au lancement et ne se charge pas une seconde fois sur une correspondance de chemin.

Skills de commande et fichiers de référence

Après une compaction du contexte, Claude Code ne rattache que les 5 000 premiers jetons de chaque skill invoqué, et il recommande un SKILL.md d'environ 500 lignes ou moins, avec le détail dans des fichiers voisins. Les prompts de commande atteignent 67 Ko ; l'émission pour Claude Code scinde donc chacun en un SKILL.md allégé plus des fichiers sous references/ :

  • La section ## Bindings est supprimée. C'est du texte de mainteneur destiné au portail de conformité, et le modèle n'en a jamais besoin.
  • Le Pipeline Contract, les Foundational Stanzas, le Decision Tree, les exemples, les sections de mode et quelques inventaires cités sont déplacés vers des fichiers de référence. Le titre reste, et un pointeur d'une ligne sous celui-ci nomme le fichier et indique quand le lire. Les pointeurs du Pipeline Contract et des Foundational Stanzas listent aussi ce que couvre le fichier.
  • Lorsque SKILL.md dépasse encore 15 800 octets, les plus grandes étapes du Workflow sont déplacées vers references/step-NN-<slug>.md, la plus grande d'abord, jusqu'à ce qu'il tienne. Le slug est le titre de l'étape sans son préfixe Step N: et sans identifiant de mandat ou de discipline final entre parenthèses. Les étapes de moins de 600 octets restent en ligne. Si cela ne suffit pas, les sections Output, Mandates, Critical Rules et Instructions sont déplacées dans cet ordre.
  • Une courte note après le préambule indique au modèle où se trouvent les fichiers (${CLAUDE_SKILL_DIR}/references/) et qu'il DOIT relire ceux qui régissent son étape en cours après une compaction.

Chaque SKILL.md émis, y compris la note ## Installed Reference Paths que l'installation ajoute, reste à 17 000 octets ou moins pour une racine d'installation de 140 caractères au plus. Le plugin livre les mêmes fichiers sans cette note, et ses commandes sont des skills sous skills/ ; il n'a donc pas de dossier commands/ ; l'invocation /apothem:<name> est inchangée. La scission est déterministe et réversible : le texte de SKILL.md et de ses fichiers de référence reconstruit la commande source moins les Bindings. Les fichiers source, et la sortie pour tous les autres environnements, sont inchangés. D'autres outils lisent aussi les skills depuis ~/.claude/skills/ et voient donc les mêmes fichiers ; apothem install les nomme.

Pour voir les chiffres de chaque commande, exécutez le script de mesure depuis un checkout :

python scripts/dev/measure_claude_skills.py          # per-command table
python scripts/dev/measure_claude_skills.py --check  # exit 1 on a breach

Il indique les tailles de la source, de SKILL.md et des références, la marge restante par rapport au budget et une estimation du nombre de jetons, et liste les skills natifs à titre de comparaison. research-suite, un skill natif dont la source n'est pas scindée, est le seul skill au-dessus du plafond.

Notes de compatibilité

Les prompts de commande sont convertis en répertoires de skills et les règles sont rendues comme décrit ci-dessus ; les skills et les output-styles sont copiés tels quels, et les agents sont copiés tels qu'écrits, à ceci près qu'un auxiliaire listé par la clé agent_mcp_servers du profil reçoit, dans sa ligne tools, une entrée mcp__<server>__* par serveur nommé (voir Serveurs MCP). L'installation valide que le profil est bien formé et que toutes les liaisons de hook de settings.json peuvent être résolues. L'adaptateur ne rédige aucune entrée de serveur MCP : enregistrez les serveurs avec claude mcp add (voir Serveurs MCP).

~/.claude/agents/ est une racine partagée dont Claude Code est propriétaire, tout comme ~/.claude/skills/ : d'autres outils pris en charge chargent ces dossiers, de sorte que les agents et skills qu'une installation Claude Code y écrit apparaissent aussi dans ces outils, et l'installation affiche une note qui les nomme. Le registre des environnements liste les lecteurs de chaque racine.

Claude Code applique toutes les liaisons de hook de settings.json à chaque démarrage de session. Chaque adaptateur est vérifié par rapport à son propre environnement natif — il n'existe aucun environnement « de référence » privilégié.

Limites des règles de permission

Le template de settings refuse Read(...) sur les chemins de secrets et de cache tels que .env* et ~/.ssh/**. Claude Code applique un refus Read à ses outils de fichiers, aux commandes de fichiers qu'il reconnaît dans Bash (cat, head, tail, sed, tee) et aux cibles de redirection. Il n'applique pas ce refus à une recherche qui lit des fichiers sans les nommer, comme grep -r pattern ., ni à un script qui ouvre lui-même des fichiers (référence des permissions). Sous macOS, Linux et WSL, Claude Code exclut les outils Glob et Grep de l'ensemble d'outils par défaut et effectue ses recherches via Bash ; les entrées d'autorisation Glob et Grep du template ne prennent donc effet que là où ces outils sont présents. Pour empêcher tout processus de lire un chemin, activez le bac à sable de Claude Code.

Les skills et les définitions d'auxiliaires qui nomment TodoWrite nomment aussi TaskCreate, TaskGet, TaskList et TaskUpdate, car Claude Code désactive TodoWrite par défaut au profit de ces outils.

Vérification

apothem verify --harness claude-code

La commande verify confirme que :

  1. La configuration native existe au chemin attendu.
  2. Chaque cible gérée existe ; les fichiers gérés ne sont pas vides, et les configurations JSON ou YAML s'analysent correctement. Ajoutez --profile PATH pour vérifier en plus que les fichiers installés correspondent à ce profil.
  3. La routine de vérification propre à l'adaptateur signale un succès.

Mise à jour

apothem update --harness claude-code

Redérive la configuration native à partir du profil partagé actuel. Exécutez cette commande après la mise à jour du paquet apothem installé, afin que la surface de conventions propagée (agents, règles, skills, lignes d'état, output-styles) reflète la nouvelle version. Dans CLAUDE.md, la mise à jour ne réécrit que le bloc Apothem situé entre ses sentinelles.

Désinstallation

apothem uninstall --harness claude-code

Supprime le bloc Apothem de ~/.claude/CLAUDE.md et conserve tout autre texte qui s'y trouve. Le fichier n'est supprimé que lorsqu'il n'y reste plus rien d'autre. Supprime les entrées que l'adaptateur a ajoutées à ~/.claude/settings.json (vos propres règles de permission, clés et gestionnaires de hook restent en place, et le fichier n'est supprimé que lorsque Apothem l'a créé et qu'il ne reste plus rien qui vous appartienne). Supprime aussi les fichiers Apothem de ~/.claude/agents/, ~/.claude/rules/, ~/.claude/skills/, ~/.claude/statuslines/, ~/.claude/output-styles/ et ~/.claude/.apothem/support/ ; les autres fichiers de ces dossiers restent en place. Chaque fichier est sauvegardé sous ~/.apothem/backups/ avant d'être modifié ou supprimé. Le paquet apothem installé et le dépôt source ne sont pas affectés.

Portail de conformité

python -m apothem.conformity.gate --all .

Exécuté sur le dépôt, le portail exige la section ## Bindings dans chaque règle, commande, auxiliaire et skill. Exécuté sur une arborescence ~/.claude/ installée, il accepte une copie de règle ou de skill dépourvue de cette section, puisque l'installation l'omet, et vérifie tout de même une section présente.

Dépannage

SymptômeCorrectif
Fichier de configuration introuvableRelancez apothem install --harness claude-code
Échec de la vérificationExécutez apothem update --harness claude-code, puis vérifiez à nouveau
Contenu de configuration inattenduRelancez apothem update ; le profil partagé apothem est la source de vérité, pas ~/.claude/

Paramètres de configuration

OptionPar défautDescription
--dry-runfalsePrévisualise l'installation sans écrire de fichiers.

Voir aussi

On this page