# Plugins Claude Code — A2M Systèmes Ce dépôt est le marketplace A2M Systèmes. Actuellement, il contient le plugin `miam`, MIAM est un orchestrateur de LLMs locaux avec un mcp pour opencode et claude code. ## Sommaire - [Plugins Claude Code — A2M Systèmes](#plugins-claude-code--a2m-systèmes) - [Sommaire](#sommaire) - [Plugins disponibles](#plugins-disponibles) - [Installation](#installation) - [1. Ajouter la marketplace](#1-ajouter-la-marketplace) - [2. Installer un plugin](#2-installer-un-plugin) - [Dépôt privé](#dépôt-privé) - [Mises à jour](#mises-à-jour) - [Ajouter un plugin au dépôt](#ajouter-un-plugin-au-dépôt) - [Structure du dépôt](#structure-du-dépôt) - [Licence](#licence) ## Plugins disponibles | Plugin | Description | Documentation | | :--- | :--- | :--- | | `miam` | Délègue des tâches à un modèle local géré par MIAM (Mon IA Manager, orchestrateur llama.cpp), via son serveur MCP. | [plugins/miam/README.md](plugins/miam/README.md) | Le plugin `miam` fournit : - le serveur MCP `miam` (outils `etat`, `modeles`, `presets`, `demarrer`, `deleguer`, `suivre`…) ; - la skill `deleguer` (quand et comment déléguer) ; - un compteur de tokens économisés (notification, ligne d'état, `/miam-economies`), net du pilotage et des corrections, en vert ou en rouge selon le signe du gain ; - une seule ligne d'état avec le gain net et l'usage Claude sur 5 h et sur la semaine ; - une incitation à déléguer (consigne système et rappel après une grosse lecture), désactivable. ## Installation ### 1. Ajouter la marketplace Dans VS Code, utilisez la commande `/plugins`, puis l'onglet « Marketplaces ». Collez l'URL suivante et cliquez sur « Add » : ```text https://a2msystemes-git.duckdns.org/ange/plugin-claude-miam.git ``` Dans le terminal, la commande équivalente est : ```text /plugin marketplace add https://a2msystemes-git.duckdns.org/ange/plugin-claude-miam.git ``` **Attention :** L'URL doit impérativement se terminer par `.git`. Sans cette extension, Claude Code interprète l'adresse comme un fichier `marketplace.json` et échoue avec l'erreur « expected object, received string ». ### 2. Installer un plugin Dans VS Code, allez dans l'onglet « Plugins » et cliquez sur « Install ». Dans le terminal, utilisez la commande suivante : ```text /plugin install miam@a2m-plugins ``` La portée conseillée est « Install for you » (tous les projets du poste). ### Dépôt privé Ce dépôt est privé sur Gitea. Pour le cloner, Claude Code utilise les identifiants Git configurés sur votre poste. - **HTTPS** : Les identifiants sont gérés par le gestionnaire d'identifiants de Git. - **SSH** : L'hôte doit être présent dans `known_hosts` et la clé doit être utilisable sans saisie de phrase de passe (agent SSH). ### Mises à jour Le champ `version` du fichier `plugin.json` de chaque plugin fige la version installée. Pour mettre à jour : 1. Augmentez la version dans le fichier `plugin.json` du plugin. 2. Poussez les modifications sur Gitea. 3. Exécutez l'une des commandes suivantes : - Dans VS Code : onglet « Marketplaces » → « Update marketplace ». - Dans le terminal : `/plugin marketplace update a2m-plugins`. ## Ajouter un plugin au dépôt Pour ajouter un nouveau plugin au catalogue : 1. Créez un dossier `plugins/` à la racine du dépôt. 2. Ajoutez un fichier `.claude-plugin/plugin.json` avec le nom en kebab-case, la version et la description. 3. Ajoutez les composants nécessaires (dossiers `skills/`, `agents/`, `hooks/`, fichier `.mcp.json`, etc.). 4. Ajoutez un fichier `README.md` et un fichier `LICENSE` (la licence est propre à chaque plugin ; il n'y en a pas à la racine), et une ligne au tableau de la section [Licence](#licence). 5. Ajoutez une entrée dans la liste `plugins` du catalogue `.claude-plugin/marketplace.json` : ```json { "name": "", "source": "./plugins/", "description": "Description courte du plugin" } ``` 6. Vérifiez la validité du catalogue et du plugin avec : ```text claude plugin validate . claude plugin validate ./plugins/ ``` ## Structure du dépôt ```text .claude-plugin/ marketplace.json # Catalogue central des plugins docs/ token-summary-mod.md # Contrat technique pour le compteur de tokens plugins/ miam/ # Plugin actuel .claude-plugin/ plugin.json # Métadonnées et version du plugin .mcp.json # Configuration du serveur MCP hooks/ hooks.json # Liste des hooks register.tsx # Enregistrement des hooks (compteur, ligne d'état, incitation) economies.ts # Calcul des économies de tokens usage.ts # Usage Claude 5 h et hebdo *.test.ts(x) # Tests unitaires skills/ deleguer/ # Skill pour déclencher la délégation SKILL.md LICENSE # Licence du plugin (MIT) README.md # Documentation du plugin README.md # Ce fichier ``` ## Licence Chaque plugin a sa propre licence, dans son dossier (`plugins//LICENSE`) : elle s'installe avec lui. | Plugin | Licence | | :--- | :--- | | `miam` | MIT, voir [plugins/miam/LICENSE](plugins/miam/LICENSE) |