# đ Guide DĂ©butant : Les Plugins dans Claude Code
> **Guide pédagogique pour comprendre et créer vos propres plugins Claude Code**
> Aucune connaissance technique avancée requise !
---
## đ Table des matiĂšres
1. [Qu'est-ce qu'un Plugin ?](#1-quest-ce-quun-plugin-)
2. [Différence entre Skills et Plugins](#2-différence-entre-skills-et-plugins)
3. [Comment fonctionnent les Plugins ?](#3-comment-fonctionnent-les-plugins-)
4. [Installer des Plugins existants](#4-installer-des-plugins-existants)
5. [Créer votre premier Plugin (simple)](#5-créer-votre-premier-plugin-simple)
6. [Structure complĂšte d'un Plugin](#6-structure-complĂšte-dun-plugin)
7. [Exemples de Plugins complets](#7-exemples-de-plugins-complets)
8. [Partager vos Plugins](#8-partager-vos-plugins)
9. [Dépannage et erreurs courantes](#9-dépannage-et-erreurs-courantes)
10. [Idées de Plugins à créer](#10-idées-de-plugins-à -créer)
---
## 1. Qu'est-ce qu'un Plugin ?
### đ€ Analogie simple
Pensez Ă votre smartphone :
- **Le téléphone de base** = Claude Code
- **Les applications que vous installez** = Les Plugins
Les plugins sont des **extensions** qui ajoutent des fonctionnalités à Claude Code.
### đŻ DĂ©finition simple
Un **plugin** est :
- Un dossier contenant plusieurs fichiers
- Qui ajoute des fonctionnalités à Claude Code
- Réutilisable et partageable
- Plus puissant qu'une skill simple
### âš Ce qu'un Plugin PEUT contenir
Un plugin peut inclure plusieurs éléments :
| ĂlĂ©ment | Description | QuantitĂ© |
|---------|-------------|----------|
| **Skills** | Commandes personnalisées (/) | Plusieurs |
| **Agents** | Sous-agents spécialisés | Plusieurs |
| **Configurations** | ParamÚtres prédéfinis | 1 fichier |
| **Documentation** | README, guides | Plusieurs |
| **Scripts** | Outils auxiliaires | Plusieurs |
### đĄ Exemples concrets
**Plugin "Code Quality"**
- Skill : `/reviser-code`
- Skill : `/generer-tests`
- Skill : `/documenter`
- Agent : `code-reviewer`
- Agent : `test-generator`
- Config : RÚgles de qualité
**Plugin "DevOps Tools"**
- Skill : `/deployer`
- Skill : `/creer-dockerfile`
- Skill : `/configurer-ci`
- Agent : `deploy-assistant`
- Config : Configurations Docker/K8s
---
## 2. Différence entre Skills et Plugins
### đ Comparaison
| Aspect | Skill | Plugin |
|--------|-------|--------|
| **Complexité** | Simple | Plus complexe |
| **Contenu** | 1 commande | Plusieurs fonctionnalités |
| **Structure** | 1 fichier | Dossier avec sous-dossiers |
| **Scope** | Une tùche spécifique | Suite de fonctionnalités |
| **Partage** | Fichier individuel | Package complet |
### đŻ Quand utiliser quoi ?
#### Utilisez une **Skill** quand :
- â
Vous avez besoin d'une seule commande
- â
La tùche est simple et bien définie
- â
Pas besoin d'agents ou de config complexe
- â
Débutant en personnalisation
**Exemple :**
```
~/.claude/skills/commit-message/
SKILL.md
```
#### Utilisez un **Plugin** quand :
- â
Vous avez plusieurs fonctionnalités liées
- â
Vous voulez combiner skills + agents + config
- â
Vous voulez partager un ensemble cohérent
- â
Vous créez un "toolkit" complet
**Exemple :**
```
~/.claude/plugins/my-devops-toolkit/
plugin.json
skills/
deploy/
docker/
ci-cd/
agents/
deploy-helper/
settings.json
README.md
```
### đ Relation
```
Plugin (Package)
ââ Contient plusieurs Skills
ââ Contient plusieurs Agents
ââ Contient une Configuration
ââ Contient de la Documentation
```
**Pensez-y comme :**
- **Skill** = Une application mobile
- **Plugin** = Une suite d'applications (Microsoft Office = Word + Excel + PowerPoint)
---
## 3. Comment fonctionnent les Plugins ?
### đ Emplacement des plugins
```
~/.claude/plugins/
mon-plugin-1/
plugin.json
skills/
agents/
...
mon-plugin-2/
plugin.json
...
```
### đ DĂ©couverte automatique
Quand vous démarrez Claude Code :
1. **Scan** : Claude scanne `~/.claude/plugins/`
2. **Lecture** : Lit chaque `plugin.json`
3. **Chargement** : Charge les skills et agents
4. **Disponibilité** : Tout est disponible via `/help`
### đïž Activation/DĂ©sactivation
Les plugins sont **automatiquement activés** s'ils sont dans le dossier `plugins/`.
**Pour désactiver un plugin temporairement :**
```bash
# Renommer le dossier
mv ~/.claude/plugins/mon-plugin ~/.claude/plugins/mon-plugin.disabled
```
**Pour réactiver :**
```bash
mv ~/.claude/plugins/mon-plugin.disabled ~/.claude/plugins/mon-plugin
```
### đ§ Charger un plugin pour une session uniquement
```bash
claude --plugin-dir ~/mes-plugins/plugin-temporaire
```
**Exemple d'utilisation :**
```bash
# Pour un projet spécifique
cd mon-projet
claude --plugin-dir ./plugins/projet-specifique
```
---
## 4. Installer des Plugins existants
### đ„ MĂ©thode 1 : Installation depuis GitHub (recommandĂ©e)
**Ătape par Ă©tape :**
1. **Trouver un plugin** sur GitHub (ex: `username/claude-plugin-name`)
2. **Cloner dans le dossier plugins :**
```bash
cd ~/.claude/plugins
git clone https://github.com/username/claude-plugin-name.git
```
3. **Vérifier l'installation :**
```bash
ls ~/.claude/plugins/claude-plugin-name
```
4. **Redémarrer Claude Code :**
```bash
claude
```
5. **Vérifier que le plugin est chargé :**
```bash
/help
```
Les commandes du plugin devraient apparaĂźtre.
**Exemple concret :**
```bash
# Installer un plugin fictif "devops-toolkit"
cd ~/.claude/plugins
git clone https://github.com/awesome/devops-toolkit.git
# Vérifier
ls devops-toolkit/
# Devrait afficher : plugin.json, skills/, agents/, README.md, etc.
# Lancer Claude
claude
# Tester
/help
# Les commandes du plugin devraient ĂȘtre listĂ©es
```
### đ„ MĂ©thode 2 : Installation manuelle (tĂ©lĂ©chargement ZIP)
1. **Télécharger** le ZIP du plugin depuis GitHub ou ailleurs
2. **Décompresser** dans `~/.claude/plugins/` :
```bash
unzip plugin-name.zip -d ~/.claude/plugins/
```
3. **Renommer** si nécessaire (retirer `-main` ou `-master`) :
```bash
mv ~/.claude/plugins/plugin-name-main ~/.claude/plugins/plugin-name
```
4. **Vérifier** la structure :
```bash
ls ~/.claude/plugins/plugin-name/
# Doit contenir plugin.json
```
### đ„ MĂ©thode 3 : Via gestionnaire de plugins (si disponible)
```bash
claude plugin install username/plugin-name
```
**Note :** Cette fonctionnalitĂ© pourrait ne pas ĂȘtre disponible dans toutes les versions.
### đ Lister les plugins installĂ©s
```bash
# Via commande CLI
claude plugin list
# Ou manuellement
ls -la ~/.claude/plugins/
```
### â DĂ©sinstaller un plugin
```bash
# Méthode 1 : Supprimer le dossier
rm -rf ~/.claude/plugins/nom-du-plugin
# Méthode 2 : Via commande (si disponible)
claude plugin remove nom-du-plugin
```
---
## 5. Créer votre premier Plugin (simple)
### đŹ Tutoriel pas-Ă -pas
Nous allons créer un plugin appelé "My First Plugin" contenant deux skills simples.
#### Ătape 1 : CrĂ©er la structure du plugin
```bash
# Créer le dossier principal
mkdir -p ~/.claude/plugins/my-first-plugin
# Créer les sous-dossiers
mkdir -p ~/.claude/plugins/my-first-plugin/skills
mkdir -p ~/.claude/plugins/my-first-plugin/agents
```
**Structure créée :**
```
~/.claude/plugins/my-first-plugin/
skills/
agents/
```
#### Ătape 2 : CrĂ©er le fichier plugin.json
C'est le **certificat d'identité** de votre plugin.
**Créer le fichier :**
```bash
touch ~/.claude/plugins/my-first-plugin/plugin.json
```
**Contenu Ă copier-coller :**
```json
{
"name": "my-first-plugin",
"version": "1.0.0",
"description": "Mon premier plugin pour Claude Code",
"author": "Votre Nom",
"skills": [
"skills/hello",
"skills/goodbye"
],
"agents": []
}
```
**Explication de chaque champ :**
- `name` : Identifiant unique du plugin (minuscules, tirets)
- `version` : Version du plugin (format: X.Y.Z)
- `description` : Description courte et claire
- `author` : Votre nom ou pseudo
- `skills` : Liste des chemins vers vos skills
- `agents` : Liste des chemins vers vos agents (vide pour l'instant)
#### Ătape 3 : CrĂ©er la premiĂšre skill
**Créer le dossier :**
```bash
mkdir -p ~/.claude/plugins/my-first-plugin/skills/hello
```
**Créer le fichier SKILL.md :**
```bash
touch ~/.claude/plugins/my-first-plugin/skills/hello/SKILL.md
```
**Contenu :**
```markdown
---
name: hello
description: Dit bonjour de maniĂšre amicale
---
# Skill Hello
Salue l'utilisateur de maniĂšre chaleureuse.
## Instructions
1. Salue l'utilisateur en français
2. Souhaite une excellente journée
3. Propose ton aide
## Ton
Amical, chaleureux et encourageant.
```
#### Ătape 4 : CrĂ©er la deuxiĂšme skill
**Créer le dossier :**
```bash
mkdir -p ~/.claude/plugins/my-first-plugin/skills/goodbye
```
**Créer le fichier SKILL.md :**
```bash
touch ~/.claude/plugins/my-first-plugin/skills/goodbye/SKILL.md
```
**Contenu :**
```markdown
---
name: goodbye
description: Dit au revoir de maniĂšre sympathique
---
# Skill Goodbye
Salue l'utilisateur pour lui dire au revoir.
## Instructions
1. Remercie l'utilisateur pour la session
2. Souhaite une bonne continuation
3. Propose de revenir quand il veut
## Ton
Professionnel mais chaleureux.
```
#### Ătape 5 : CrĂ©er un README
**Créer le fichier :**
```bash
touch ~/.claude/plugins/my-first-plugin/README.md
```
**Contenu :**
```markdown
# My First Plugin
Mon premier plugin pour Claude Code.
## Description
Un plugin simple avec deux commandes :
- `/hello` : Dit bonjour
- `/goodbye` : Dit au revoir
## Installation
```bash
cd ~/.claude/plugins
git clone [url-de-votre-repo] my-first-plugin
```
## Usage
### Commande Hello
```
/hello
```
### Commande Goodbye
```
/goodbye
```
## Version
1.0.0
## Auteur
Votre Nom
```
#### Ătape 6 : VĂ©rifier la structure
```bash
ls -R ~/.claude/plugins/my-first-plugin/
```
**Devrait afficher :**
```
my-first-plugin/:
plugin.json
README.md
skills/
agents/
my-first-plugin/skills:
hello/
goodbye/
my-first-plugin/skills/hello:
SKILL.md
my-first-plugin/skills/goodbye:
SKILL.md
my-first-plugin/agents:
[vide pour l'instant]
```
#### Ătape 7 : Tester votre plugin
1. **Lancer Claude Code :**
```bash
claude
```
2. **Vérifier que les commandes sont disponibles :**
```bash
/help
```
Vous devriez voir `/hello` et `/goodbye` dans la liste.
3. **Tester les commandes :**
```bash
/hello
```
Claude devrait vous saluer chaleureusement.
```bash
/goodbye
```
Claude devrait vous dire au revoir.
#### đ FĂ©licitations !
Vous venez de crĂ©er votre premier plugin ! đ
---
## 6. Structure complĂšte d'un Plugin
### đ Structure recommandĂ©e
```
mon-plugin/
âââ plugin.json # OBLIGATOIRE - MĂ©tadonnĂ©es
âââ README.md # RECOMMANDĂ - Documentation
âââ LICENSE # RECOMMANDĂ - Licence
âââ CHANGELOG.md # OPTIONNEL - Historique des versions
âââ .gitignore # OPTIONNEL - Pour Git
â
âââ skills/ # Skills du plugin
â âââ skill-1/
â â âââ SKILL.md # DĂ©finition de la skill
â â âââ README.md # Doc de la skill
â âââ skill-2/
â â âââ SKILL.md
â âââ skill-3/
â âââ SKILL.md
â
âââ agents/ # Agents du plugin
â âââ agent-1/
â â âââ AGENT.md # DĂ©finition de l'agent
â â âââ README.md # Doc de l'agent
â âââ agent-2/
â âââ AGENT.md
â
âââ settings.json # OPTIONNEL - Config par dĂ©faut
â
âââ scripts/ # OPTIONNEL - Scripts utilitaires
â âââ setup.sh
â âââ test.sh
â
âââ examples/ # OPTIONNEL - Exemples d'usage
â âââ example-1.md
â âââ example-2.md
â
âââ docs/ # OPTIONNEL - Documentation Ă©tendue
âââ getting-started.md
âââ advanced-usage.md
âââ troubleshooting.md
```
### đ Fichier plugin.json complet
```json
{
"name": "mon-plugin-complet",
"version": "2.1.0",
"description": "Description détaillée de ce que fait le plugin",
"author": "Votre Nom <email@example.com>",
"license": "MIT",
"homepage": "https://github.com/username/mon-plugin",
"repository": {
"type": "git",
"url": "https://github.com/username/mon-plugin.git"
},
"keywords": [
"claude",
"plugin",
"development",
"code-quality"
],
"skills": [
"skills/reviser-code",
"skills/generer-tests",
"skills/documenter"
],
"agents": [
"agents/code-reviewer",
"agents/test-generator"
],
"dependencies": {
"claude-code": ">=2.0.0"
},
"settings": {
"defaultModel": "sonnet",
"autoActivate": true
}
}
```
**Explication des champs :**
| Champ | Obligatoire | Description |
|-------|-------------|-------------|
| `name` | â
Oui | Nom unique du plugin |
| `version` | â
Oui | Version (semver: X.Y.Z) |
| `description` | â
Oui | Description courte |
| `author` | â ïž RecommandĂ© | Auteur(s) |
| `license` | â ïž RecommandĂ© | Type de licence |
| `homepage` | â Optionnel | Site web du plugin |
| `repository` | â Optionnel | DĂ©pĂŽt Git |
| `keywords` | â Optionnel | Mots-clĂ©s pour recherche |
| `skills` | â ïž RecommandĂ© | Chemins vers les skills |
| `agents` | â Optionnel | Chemins vers les agents |
| `dependencies` | â Optionnel | DĂ©pendances |
| `settings` | â Optionnel | Configuration par dĂ©faut |
### đ README.md complet
```markdown
# Nom du Plugin
> Description en une ligne
## đ Description
Description détaillée du plugin, ce qu'il fait, pourquoi l'utiliser.
## ⚠Fonctionnalités
- â
Fonctionnalité 1
- â
Fonctionnalité 2
- â
Fonctionnalité 3
## đ Installation
### Via Git (recommandé)
```bash
cd ~/.claude/plugins
git clone https://github.com/username/plugin-name.git
```
### Via téléchargement manuel
1. Téléchargez le [dernier release](https://github.com/username/plugin-name/releases)
2. Décompressez dans `~/.claude/plugins/`
3. Redémarrez Claude Code
## đ Usage
### Commande 1 : `/commande-1`
Description de la commande.
**Exemple :**
```
/commande-1 @./fichier.js
```
**Résultat :**
```
[Description du résultat attendu]
```
### Commande 2 : `/commande-2`
[MĂȘme structure...]
## âïž Configuration
Configuration optionnelle dans `.claude/settings.json` :
```json
{
"plugins": {
"mon-plugin": {
"option1": "valeur1",
"option2": "valeur2"
}
}
}
```
## đ Documentation
- [Guide de démarrage](docs/getting-started.md)
- [Usage avancé](docs/advanced-usage.md)
- [Dépannage](docs/troubleshooting.md)
## đ€ Contribution
Les contributions sont bienvenues ! Voir [CONTRIBUTING.md](CONTRIBUTING.md).
## đ Changelog
Voir [CHANGELOG.md](CHANGELOG.md) pour l'historique des versions.
## đ Licence
[MIT](LICENSE) © Votre Nom
## đ Remerciements
- Remerciement 1
- Remerciement 2
## đ Liens utiles
- [Documentation Claude Code](https://code.claude.com/docs)
- [Autre lien pertinent]
```
---
## 7. Exemples de Plugins complets
### đš Exemple 1 : Plugin "Code Quality Suite"
Un plugin complet pour la qualité de code.
#### Structure
```
code-quality-suite/
âââ plugin.json
âââ README.md
âââ LICENSE
âââ skills/
â âââ reviser-code/
â â âââ SKILL.md
â âââ generer-tests/
â â âââ SKILL.md
â âââ calculer-couverture/
â â âââ SKILL.md
â âââ refactoriser/
â âââ SKILL.md
âââ agents/
â âââ code-reviewer/
â â âââ AGENT.md
â âââ refactoring-expert/
â âââ AGENT.md
âââ settings.json
```
#### plugin.json
```json
{
"name": "code-quality-suite",
"version": "1.5.0",
"description": "Suite complÚte d'outils pour la qualité de code",
"author": "Code Quality Team",
"license": "MIT",
"homepage": "https://github.com/example/code-quality-suite",
"keywords": [
"code-quality",
"testing",
"review",
"refactoring"
],
"skills": [
"skills/reviser-code",
"skills/generer-tests",
"skills/calculer-couverture",
"skills/refactoriser"
],
"agents": [
"agents/code-reviewer",
"agents/refactoring-expert"
],
"dependencies": {
"claude-code": ">=2.0.0"
},
"settings": {
"defaultModel": "sonnet",
"strictMode": true
}
}
```
#### Skill : reviser-code/SKILL.md
```markdown
---
name: reviser-code
description: Révision complÚte du code (sécurité, performance, qualité)
---
# Révision de Code ComplÚte
[Contenu détaillé comme dans le guide des skills...]
## Integration avec le plugin
Cette skill fait partie de la suite "Code Quality".
Elle utilise l'agent `code-reviewer` pour les analyses approfondies.
Pour une révision approfondie, utilisez :
```
/reviser-code --mode=deep
```
```
#### Agent : code-reviewer/AGENT.md
```markdown
---
name: code-reviewer
description: Agent expert en révision de code
model: opus
tools: [Read, Grep, Glob, Bash]
---
# Agent Code Reviewer
Expert en révision de code avec 15+ ans d'expérience.
## Spécialités
- Analyse de sécurité (OWASP)
- Optimisation de performance
- Détection de code smells
- Suggestions d'architecture
## Processus
1. Analyse statique du code
2. Identification des problĂšmes
3. Priorisation par sévérité
4. Propositions de solutions
5. Génération de rapport détaillé
## Format de sortie
[Format structuré du rapport...]
```
#### settings.json
```json
{
"permissions": {
"allow": [
"Read(**/*)",
"Grep(*)",
"Glob(*)"
],
"deny": [
"Bash(rm:*)",
"Edit(**/*)"
]
},
"hooks": {
"PostEditWrite": [
{
"name": "Auto-review on save",
"matcher": "*.{js,ts,py,java}",
"type": "Bash",
"command": "echo 'đĄ N'oublie pas de lancer /reviser-code !'"
}
]
}
}
```
---
### đ Exemple 2 : Plugin "DevOps Toolkit"
Plugin pour les tĂąches DevOps courantes.
#### Structure
```
devops-toolkit/
âââ plugin.json
âââ README.md
âââ skills/
â âââ deployer/
â âââ creer-dockerfile/
â âââ configurer-ci/
â âââ monitorer/
âââ agents/
â âââ deploy-assistant/
â âââ docker-expert/
âââ scripts/
â âââ deploy.sh
â âââ docker-build.sh
âââ examples/
âââ deployment-example.md
âââ dockerfile-example.md
```
#### plugin.json
```json
{
"name": "devops-toolkit",
"version": "2.0.0",
"description": "Toolkit complet pour les opérations DevOps",
"author": "DevOps Team",
"license": "Apache-2.0",
"keywords": [
"devops",
"docker",
"kubernetes",
"ci-cd",
"deployment"
],
"skills": [
"skills/deployer",
"skills/creer-dockerfile",
"skills/configurer-ci",
"skills/monitorer"
],
"agents": [
"agents/deploy-assistant",
"agents/docker-expert"
]
}
```
#### Skill : deployer/SKILL.md
```markdown
---
name: deployer
description: Assistant de déploiement avec vérifications de sécurité
---
# Assistant de Déploiement
Guide l'utilisateur à travers un déploiement sécurisé.
## Checklist pré-déploiement
Avant tout déploiement, vérifie :
- [ ] Tests unitaires passent
- [ ] Tests d'intégration passent
- [ ] Build réussit
- [ ] Variables d'environnement configurées
- [ ] Backup de la version actuelle
- [ ] Plan de rollback préparé
## Processus de déploiement
### Ătape 1 : VĂ©rification
Pose ces questions :
1. Environnement cible ? (dev/staging/prod)
2. Version à déployer ?
3. Stratégie ? (blue-green/canary/rolling)
### Ătape 2 : Validation
- Vérifie que tous les tests passent
- Confirme les variables d'env
- Valide la configuration
### Ătape 3 : ExĂ©cution
[Guide le déploiement étape par étape]
### Ătape 4 : VĂ©rification post-dĂ©ploiement
- Health checks
- Smoke tests
- Monitoring
## Rollback
En cas de problÚme, guide le rollback immédiat.
```
---
### đ Exemple 3 : Plugin "Documentation Generator"
Plugin spécialisé dans la génération de documentation.
#### Structure minimale
```
doc-generator/
âââ plugin.json
âââ README.md
âââ skills/
âââ generer-readme/
âââ generer-api-doc/
âââ generer-changelog/
âââ generer-contributing/
```
#### plugin.json
```json
{
"name": "doc-generator",
"version": "1.0.0",
"description": "Générateur automatique de documentation",
"author": "Doc Team",
"keywords": ["documentation", "readme", "api-doc"],
"skills": [
"skills/generer-readme",
"skills/generer-api-doc",
"skills/generer-changelog",
"skills/generer-contributing"
]
}
```
---
## 8. Partager vos Plugins
### đ€ Publier sur GitHub
#### Ătape 1 : PrĂ©parer le plugin
1. **Créer un dépÎt Git local**
```bash
cd ~/.claude/plugins/mon-plugin
git init
```
2. **Créer un .gitignore**
```bash
cat > .gitignore << EOL
# macOS
.DS_Store
# Logs
*.log
# Fichiers temporaires
*.tmp
.cache/
# Configuration locale
settings.local.json
EOL
```
3. **Commit initial**
```bash
git add .
git commit -m "Initial commit"
```
#### Ătape 2 : CrĂ©er le dĂ©pĂŽt GitHub
1. Allez sur [GitHub](https://github.com)
2. Cliquez sur "New repository"
3. Nommez-le (ex: `claude-plugin-mon-plugin`)
4. **Ne pas** initialiser avec README (vous en avez déjà un)
5. Créez le dépÎt
#### Ătape 3 : Pousser le code
```bash
git remote add origin https://github.com/username/claude-plugin-mon-plugin.git
git branch -M main
git push -u origin main
```
#### Ătape 4 : CrĂ©er un release
1. Sur GitHub, allez dans "Releases"
2. Cliquez "Create a new release"
3. Tag : `v1.0.0`
4. Titre : `Version 1.0.0`
5. Description : Décrivez les fonctionnalités
6. Publiez
### đ Template de README pour partage
```markdown
# Claude Plugin: [Nom du Plugin]
> Tagline : Description en une ligne
[](https://github.com/username/plugin/releases)
[](LICENSE)
## đ Description
Description détaillée...
## ⚠Fonctionnalités
- Fonctionnalité 1
- Fonctionnalité 2
## đ Installation rapide
```bash
cd ~/.claude/plugins
git clone https://github.com/username/claude-plugin-name.git
```
## đ Documentation complĂšte
Voir [la documentation](docs/README.md) pour :
- Guide de démarrage
- Exemples d'utilisation
- Configuration avancée
- Dépannage
## đ€ Contribution
Les contributions sont bienvenues ! Voir [CONTRIBUTING.md](CONTRIBUTING.md).
## đ Licence
[MIT](LICENSE)
## đ Star le projet !
Si ce plugin vous est utile, n'hĂ©sitez pas Ă lui donner une Ă©toile â
```
### đ Partager dans la communautĂ©
#### Lieux de partage
1. **GitHub Discussions** de Claude Code
- https://github.com/anthropics/claude-code/discussions
2. **Discord Anthropic**
- Canal #claude-code
3. **Reddit**
- r/ClaudeAI
- r/LocalLLaMA
4. **Collections communautaires**
- [awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code)
- Soumettre une PR pour ajouter votre plugin
#### Template d'annonce
```markdown
# đ Nouveau plugin : [Nom]
Salut ! Je viens de publier un nouveau plugin pour Claude Code : **[Nom]**
## đŻ Ce qu'il fait
[Description courte]
## ⚠Fonctionnalités principales
- Fonctionnalité 1
- Fonctionnalité 2
## đŠ Installation
```bash
cd ~/.claude/plugins
git clone https://github.com/username/plugin-name.git
```
## đ Liens
- Repo: [lien]
- Documentation: [lien]
- Démo: [lien si vidéo]
Feedback bienvenu ! đ
```
---
## 9. Dépannage et erreurs courantes
### â ProblĂšme 1 : Plugin non dĂ©tectĂ©
**SymptĂŽmes :**
- Les commandes n'apparaissent pas dans `/help`
- Le plugin ne se charge pas
**Causes possibles et solutions :**
#### 1. Fichier plugin.json manquant ou mal placé
```bash
# Vérifier que le fichier existe
ls ~/.claude/plugins/mon-plugin/plugin.json
# Si absent, le créer
cat > ~/.claude/plugins/mon-plugin/plugin.json << EOL
{
"name": "mon-plugin",
"version": "1.0.0",
"description": "Mon plugin",
"skills": []
}
EOL
```
#### 2. JSON invalide
**Vérifier la syntaxe JSON :**
```bash
# Sur macOS/Linux
cat ~/.claude/plugins/mon-plugin/plugin.json | python3 -m json.tool
# Si erreur, corrigez la syntaxe
```
**Erreurs JSON courantes :**
```json
â Virgule en trop :
{
"name": "test",
"version": "1.0.0", <-- Virgule avant }
}
â
Correct :
{
"name": "test",
"version": "1.0.0"
}
```
#### 3. Mauvais nom de dossier
```bash
# Le nom du dossier DOIT correspondre au "name" dans plugin.json
# Renommer si nécessaire
mv ~/.claude/plugins/ancien-nom ~/.claude/plugins/nouveau-nom
```
### â ProblĂšme 2 : Skills du plugin non trouvĂ©es
**SymptĂŽmes :**
- Plugin détecté mais commandes manquantes
**Solution :**
1. **Vérifier les chemins dans plugin.json :**
```json
{
"skills": [
"skills/ma-skill" // â
Correct
// PAS "skills/ma-skill/SKILL.md"
// PAS "./skills/ma-skill"
]
}
```
2. **Vérifier la structure :**
```bash
ls -R ~/.claude/plugins/mon-plugin/skills/
# Devrait afficher :
# skills/ma-skill/SKILL.md
```
3. **Vérifier le contenu du SKILL.md :**
```bash
cat ~/.claude/plugins/mon-plugin/skills/ma-skill/SKILL.md
# Doit commencer par :
# ---
# name: ma-skill
# ---
```
### â ProblĂšme 3 : Conflit entre plugins
**SymptĂŽmes :**
- Deux plugins ont des skills avec le mĂȘme nom
- Comportement inattendu
**Solution :**
```bash
# 1. Identifier le conflit
/help | grep "nom-skill"
# 2. Renommer une des skills
# Dans plugin A : /skill-nom-a
# Dans plugin B : /skill-nom-b
# 3. Ou désactiver un plugin
mv ~/.claude/plugins/plugin-conflit ~/.claude/plugins/plugin-conflit.disabled
```
### â ProblĂšme 4 : Erreur de permissions
**SymptĂŽmes :**
- "Permission denied" lors du chargement
**Solution :**
```bash
# Corriger les permissions
chmod -R 755 ~/.claude/plugins/mon-plugin
chmod 644 ~/.claude/plugins/mon-plugin/plugin.json
chmod 644 ~/.claude/plugins/mon-plugin/skills/*/SKILL.md
```
### â ProblĂšme 5 : Plugin obsolĂšte
**SymptĂŽmes :**
- Plugin ne fonctionne plus aprĂšs mise Ă jour de Claude Code
**Solution :**
1. **Vérifier la compatibilité :**
```json
{
"dependencies": {
"claude-code": ">=2.0.0" // Version minimale requise
}
}
```
2. **Mettre Ă jour le plugin :**
```bash
cd ~/.claude/plugins/mon-plugin
git pull origin main
```
3. **Vérifier les changelog :**
- Lire CHANGELOG.md du plugin
- Lire les notes de version de Claude Code
### đ Diagnostic complet
Script de diagnostic :
```bash
#!/bin/bash
# diagnostic-plugin.sh
PLUGIN_NAME="mon-plugin"
PLUGIN_PATH=~/.claude/plugins/$PLUGIN_NAME
echo "đ Diagnostic du plugin: $PLUGIN_NAME"
echo "=================================="
# 1. Vérifier l'existence
if [ ! -d "$PLUGIN_PATH" ]; then
echo "â Le dossier du plugin n'existe pas"
exit 1
fi
echo "â
Dossier du plugin trouvé"
# 2. Vérifier plugin.json
if [ ! -f "$PLUGIN_PATH/plugin.json" ]; then
echo "â Fichier plugin.json manquant"
exit 1
fi
echo "â
plugin.json trouvé"
# 3. Valider JSON
if ! cat "$PLUGIN_PATH/plugin.json" | python3 -m json.tool > /dev/null 2>&1; then
echo "â plugin.json contient des erreurs de syntaxe"
exit 1
fi
echo "â
plugin.json valide"
# 4. Vérifier les skills
if [ -d "$PLUGIN_PATH/skills" ]; then
SKILL_COUNT=$(find "$PLUGIN_PATH/skills" -name "SKILL.md" | wc -l)
echo "â
$SKILL_COUNT skill(s) trouvée(s)"
else
echo "â ïž Dossier skills/ absent"
fi
# 5. Vérifier les permissions
if [ ! -r "$PLUGIN_PATH/plugin.json" ]; then
echo "â ProblĂšme de permissions de lecture"
exit 1
fi
echo "â
Permissions OK"
echo "=================================="
echo "đ Diagnostic terminĂ©"
```
**Utilisation :**
```bash
chmod +x diagnostic-plugin.sh
./diagnostic-plugin.sh
```
---
## 10. Idées de Plugins à créer
### đŒ Plugins professionnels
#### 1. **Full-Stack Dev Suite**
- Skills : `/api-endpoint`, `/react-component`, `/database-migration`
- Agents : `backend-expert`, `frontend-expert`, `database-expert`
- Config : Standards de code, conventions API
#### 2. **Security Audit Toolkit**
- Skills : `/audit-securite`, `/scan-vulnerabilites`, `/generer-rapport-sec`
- Agents : `security-auditor`, `penetration-tester`
- Scripts : Scripts de scan automatisés
#### 3. **Testing Master**
- Skills : `/generer-tests-unitaires`, `/generer-tests-e2e`, `/mutation-testing`
- Agents : `test-architect`, `qa-expert`
- Exemples : Templates de tests
#### 4. **Documentation Pro**
- Skills : `/api-docs`, `/readme-generator`, `/architecture-diagram`
- Agents : `technical-writer`
- Templates : Templates de documentation
#### 5. **CI/CD Builder**
- Skills : `/github-actions`, `/gitlab-ci`, `/jenkins-pipeline`
- Agents : `devops-engineer`
- Exemples : Pipelines types
### đš Plugins par technologies
#### Frontend
**React Toolkit**
- `/create-component` - Scaffold composant React
- `/optimize-performance` - Optimisations React
- `/accessibility-check` - Vérification a11y
**Vue Toolkit**
- `/create-vue-component`
- `/vuex-store`
- `/vue-router-setup`
#### Backend
**Node.js Toolkit**
- `/express-route` - Créer une route Express
- `/mongodb-model` - ModĂšle Mongoose
- `/jwt-auth` - Setup authentification JWT
**Python Toolkit**
- `/flask-route`
- `/django-model`
- `/fastapi-endpoint`
#### Database
**SQL Master**
- `/generer-migration`
- `/optimiser-requete`
- `/conception-schema`
**NoSQL Toolkit**
- `/mongodb-query`
- `/redis-cache`
- `/elasticsearch-mapping`
### đą Plugins par domaine
#### E-commerce
- `/creer-product-model`
- `/panier-implementation`
- `/payment-integration`
#### Finance
- `/audit-calculs`
- `/generer-rapport-financier`
- `/validation-transactions`
#### Santé
- `/hipaa-compliance-check`
- `/donnees-sensibles-audit`
- `/generer-consentement`
### đ Plugins Ă©ducatifs
#### Learn to Code
- `/expliquer-concept` - Explique un concept
- `/generer-exercice` - Crée des exercices
- `/corriger-code` - Corrige avec explications
#### Interview Prep
- `/question-algorithmique`
- `/revue-solution`
- `/generer-probleme-systeme`
### đ§ Plugins utilitaires
#### Project Bootstrap
- `/init-projet` - Initialise un nouveau projet
- `/setup-git` - Configure Git
- `/setup-eslint` - Configure ESLint/Prettier
#### Code Migration
- `/migrer-javascript-typescript`
- `/migrer-vue2-vue3`
- `/migrer-python2-python3`
#### Performance
- `/profiler-performance`
- `/analyser-bundle`
- `/optimiser-images`
---
## đ Exercices pratiques
### Exercice 1 : Plugin simple (débutant)
**Objectif :** Créer un plugin "Quick Notes" avec des skills pour prendre des notes.
**Ă faire :**
1. Créer la structure du plugin
2. Ajouter skill `/note-rapide`
3. Ajouter skill `/lister-notes`
4. Tester le plugin
**Structure attendue :**
```
quick-notes/
âââ plugin.json
âââ README.md
âââ skills/
âââ note-rapide/
â âââ SKILL.md
âââ lister-notes/
âââ SKILL.md
```
### Exercice 2 : Plugin avec agent (intermédiaire)
**Objectif :** Créer "Code Mentor" avec un agent qui explique le code.
**Ă faire :**
1. Skill `/expliquer-code`
2. Agent `code-mentor` expert pédagogue
3. Documentation complĂšte
4. Exemples d'utilisation
### Exercice 3 : Plugin complet (avancé)
**Objectif :** Créer "Full DevOps Suite" complet.
**Ă faire :**
1. Au moins 5 skills DevOps
2. 2 agents spécialisés
3. Configuration settings.json
4. Scripts utilitaires
5. Documentation exhaustive
6. Publier sur GitHub
---
## đ Checklist de qualitĂ© pour plugins
Avant de publier votre plugin :
### Essentiel
- [ ] `plugin.json` valide et complet
- [ ] README.md avec documentation claire
- [ ] LICENSE appropriée
- [ ] Toutes les skills testées
- [ ] Noms descriptifs et cohérents
- [ ] Versioning semver (X.Y.Z)
### Recommandé
- [ ] CHANGELOG.md avec historique
- [ ] Exemples d'utilisation
- [ ] Documentation détaillée
- [ ] .gitignore approprié
- [ ] Tests des skills
- [ ] Gestion d'erreurs
### Bonus
- [ ] CI/CD pour tests automatiques
- [ ] Badges dans README (version, license)
- [ ] Vidéo de démonstration
- [ ] Contributing guidelines
- [ ] Issue templates
- [ ] Code of conduct
---
## đŻ Meilleures pratiques
### â
Do (Ă faire)
1. **Nommage cohérent**
```
â
code-quality-suite
â
devops-toolkit
â CodQltySte
â devops_tools
```
2. **Documentation complĂšte**
- README avec exemples
- Chaque skill documentée
- Instructions d'installation claires
3. **Versioning sémantique**
- `1.0.0` : Version initiale
- `1.1.0` : Nouvelles fonctionnalités
- `1.1.1` : Corrections de bugs
- `2.0.0` : Changements cassants
4. **Structure organisée**
- Dossiers logiques
- Fichiers bien nommés
- Hiérarchie claire
5. **Tests réguliers**
- Tester chaque skill
- Vérifier les cas limites
- Tester sur différents projets
### â Don't (Ă Ă©viter)
1. **Plugins monolithiques**
- Ne pas mettre 50 skills dans un plugin
- Diviser en plugins thématiques
2. **Absence de documentation**
- Toujours documenter
- MĂȘme pour usage personnel
3. **Dépendances non documentées**
- Spécifier toutes les dépendances
- Expliquer comment les installer
4. **Noms génériques**
```
â plugin
â my-plugin
â test
â
react-optimization-toolkit
```
5. **Ignorer les erreurs**
- Toujours tester
- Gérer les cas d'erreur
- Fournir des messages clairs
---
## đ Conclusion
Vous savez maintenant :
- â
Ce qu'est un plugin et quand l'utiliser
- â
Comment installer des plugins existants
- â
Comment créer vos propres plugins
- â
Comment structurer un plugin professionnel
- â
Comment partager vos plugins
- â
Comment résoudre les problÚmes courants
**Prochaines étapes :**
1. đŻ CrĂ©ez votre premier plugin simple
2. đ Explorez les plugins communautaires
3. đ§ CrĂ©ez un plugin pour vos besoins
4. đ Partagez-le avec la communautĂ©
5. đ Contribuez aux plugins existants
**N'oubliez pas :**
- Commencez petit
- Testez souvent
- Documentez toujours
- Partagez volontiers
**Bonne crĂ©ation de plugins ! đ**
---
## đ Ressources
### Documentation
- [Claude Code Docs](https://code.claude.com/docs)
- [Guide des Skills](~/CLAUDE_STOCK/GUIDE_SKILLS.md)
- [Guide complet](~/CLAUDE_STOCK/GUIDE_COMPLET.md)
### Collections
- [awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code)
- [everything-claude-code](https://github.com/affaan-m/everything-claude-code)
### Communauté
- [GitHub Discussions](https://github.com/anthropics/claude-code/discussions)
- [Discord Anthropic](https://discord.gg/anthropic)
---
*Guide créé le 4 février 2026*
*Pour questions ou suggestions : [GitHub Issues](https://github.com/anthropics/claude-code/issues)*