Système de Plugins
Qu'est-ce que les Plugins Claude Code ?
Les Plugins sont des collections personnalisées d'outils de développement qui étendent les capacités de Claude Code. Considérez-les comme des power-ups pour votre flux de travail de développement - vous pouvez installer tout ce dont vous avez besoin avec une seule commande.
Un Plugin peut contenir quatre composants principaux :
- Slash Commands : Raccourcis rapides pour les opérations courantes
- Subagents : Agents IA spécialisés pour des tâches spécifiques
- MCP Servers : Connexions à des outils et sources de données externes
- Hooks : Comportements personnalisés à des moments spécifiques du workflow
L'innovation clé : tous ces composants sont regroupés ensemble, ce qui rend la configuration d'environnements de développement complexes simple et rapide.
Pourquoi utiliser les Plugins ?
Problèmes traditionnels de gestion d'outils
Sans Plugins, les équipes de développement font face à :
- 🔄 Outils dispersés : Chaque membre de l'équipe configure ses propres outils différemment
- 📚 Courbe d'apprentissage abrupte : Les nouveaux membres passent des jours à configurer leur environnement
- 🔧 Enfer de configuration : Chacun maintient ses propres scripts et configurations
- 🐛 Standards incohérents : Aucun moyen unifié d'appliquer les bonnes pratiques
Solution avec les Plugins
Les Plugins résolvent ces problèmes grâce à :
- ✅ Installation en une commande : Chaîne d'outils complète installée instantanément
- 🎯 Standardisation : Tout le monde utilise les mêmes outils et workflows
- 🚀 Intégration rapide : Nouveaux membres productifs dès le premier jour
- 🔄 Gestion facile : Activez/désactivez les plugins selon les besoins
Comprendre les quatre composants
1. Slash Commands
Les Slash Commands sont des points d'entrée pour les opérations rapides. Ils encapsulent des tâches complexes en commandes simples.
Patterns courants :
/test # Exécuter la suite de tests
/deploy # Déployer en production
/review # Démarrer le processus de revue de code
/docs # Générer la documentation
/build # Exécuter le build optimisé
Comment ils fonctionnent :
Quand vous tapez /test, Claude Code :
- Lit la définition de la commande depuis
.claude/commands/test.md - Exécute le workflow défini
- Vous retourne les résultats
Créer votre premier Slash Command :
<!-- .claude/commands/hello.md -->
Say hello to the user and show the current project structure.
Maintenant taper /hello exécutera cette commande.
2. Subagents
Les Subagents sont des agents IA spécialisés avec une expertise approfondie dans un domaine. C'est comme avoir des consultants experts dans votre équipe.
Exemples concrets :
Agent DevOps :
- Automatise les processus de déploiement
- Surveille la santé du système
- Gère les tâches d'infrastructure
> Use DevOps agent to set up CI/CD pipeline for this project
Agent Testing :
- Génère des cas de test intelligents
- Identifie les cas limites
- Optimise la couverture de tests
> Use Testing agent to create comprehensive tests for the authentication module
Agent Security :
- Scanne le code pour les vulnérabilités
- Suggère des améliorations de sécurité
- Valide les patterns de sécurité
> Use Security agent to audit this API endpoint
3. MCP Servers
Les MCP Servers (Model Context Protocol) fournissent une connectivité aux outils et sources de données externes.
Capacités de connexion :
Outils de développement :
- Git: Opérations de contrôle de version
- Docker: Gestion de conteneurs
- Kubernetes: Orchestration et déploiement
Bases de données :
- PostgreSQL: Données relationnelles
- MongoDB: Stockage de documents
- Redis: Cache et sessions
Services cloud :
- AWS: Infrastructure cloud
- Azure: Cloud Microsoft
- GCP: Plateforme cloud Google
Services API :
- Microservices internes
- APIs tierces
- Intégrations webhook
Exemple de configuration MCP Server :
{
"mcpServers": {
"database": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION": "postgresql://localhost/mydb"
}
}
}
}
4. Hooks
Les Hooks personnalisent le comportement de Claude Code à des moments spécifiques du workflow.
Types de Hooks disponibles :
Hook Pre-commit :
// .claude/hooks/pre-commit.js
// S'exécute avant les commits de code
module.exports = async (context) => {
// Exécuter les linters
// Vérifier le formatage
// Valider les tests
return { allow: true };
};
Hook Post-analysis :
// .claude/hooks/post-analysis.js
// S'exécute après l'analyse de code
module.exports = async (context) => {
// Générer des rapports
// Mettre à jour la documentation
// Notifier l'équipe
};
Hook Error :
// .claude/hooks/error.js
// S'exécute quand des erreurs surviennent
module.exports = async (error, context) => {
// Logger les détails de l'erreur
// Tenter une récupération
// Notifier les systèmes de monitoring
};
Installer et utiliser les Plugins
Installation basique
La façon la plus simple d'installer un plugin :
/plugin install organization/plugin-name
Exemple :
/plugin install danavila/devops-toolkit
Claude va :
- Télécharger le plugin depuis le dépôt
- Installer toutes les dépendances
- Configurer tous les composants
- Le rendre immédiatement disponible
Gérer les Plugins
Les Plugins sont conçus pour être légers et activables/désactivables :
# Activer un plugin
/plugin enable plugin-name
# Désactiver un plugin
/plugin disable plugin-name
# Lister tous les plugins installés
/plugin list
# Voir les détails d'un plugin
/plugin info plugin-name
# Désinstaller un plugin
/plugin uninstall plugin-name
Cycle de vie d'un Plugin
Install → Configure → Enable → Use → Disable/Uninstall
Installation : Télécharge et configure le plugin Configuration : Personnalise les paramètres du plugin pour votre projet Enable : Active les fonctionnalités du plugin Use : Accède aux slash commands, subagents et hooks Disable : Désactive temporairement sans désinstaller Uninstall : Supprime complètement le plugin
Places de marché de Plugins
Qu'est-ce que les Marketplaces ?
Les Marketplaces sont des dépôts où les développeurs partagent des plugins. N'importe qui peut créer et héberger sa propre marketplace.
Créer une Marketplace
Étape 1 : Créer le fichier de configuration
// .claude-plugin/marketplace.json
{
"name": "My Marketplace",
"description": "Custom plugins for our team",
"plugins": [
{
"name": "team-standards",
"description": "Enforce team coding standards",
"version": "1.0.0",
"repository": "github.com/myteam/team-standards"
}
]
}
Étape 2 : Héberger sur GitHub
git init
git add .claude-plugin/
git commit -m "Initialize plugin marketplace"
git push origin main
Étape 3 : Partager avec l'équipe
/plugin marketplace add myteam/plugin-marketplace
Marketplaces communautaires
Marketplace de Dan Ávila :
/plugin marketplace add danavila/plugins
Contient :
- Outils d'automation DevOps
- Générateurs de documentation
- Intégrations de gestion de projet
Dépôt de Seth Hobson :
/plugin marketplace add sethhobson/agents
Offre plus de 80 subagents spécialisés :
- Développement frontend (React, Vue, Angular)
- Développement backend (Node.js, Python, Java)
- Data science et machine learning
- Développement mobile (iOS, Android)
Workflows Plugins en situation réelle
Scénario 1 : Standardisation d'équipe Frontend
Problème : Les membres de l'équipe utilisent différentes règles de linting et standards de formatage
Solution : Créer un Plugin de standards d'équipe
# Installer le plugin de standards d'équipe
/plugin install company/frontend-standards
Le Plugin inclut :
/lint- Exécute ESLint avec la config d'équipe/format- Applique les règles Prettier de l'équipe/test- Exécute Jest avec les exigences de couverture- Agent React - Applique les patterns de composants
- Agent Accessibility - Assure la conformité WCAG
Résultat :
- Style de code cohérent dans toute l'équipe
- Vérifications qualité automatisées
- Temps de revue de code réduit
Scénario 2 : Boost de productivité Full-Stack
Problème : Le code boilerplate répétitif ralentit le développement
Solution : Installer un Plugin de productivité
/plugin install awesome-dev/fullstack-boost
Le Plugin fournit :
/api- Génère une API REST avec les bonnes pratiques/component- Crée des composants UI avec tests/db-migrate- Assistant de migration de base de données- Agent Backend - Suggestions d'optimisation d'API
- Agent Database - Conseils de performance des requêtes
Résultat :
- Développement de fonctionnalités 3x plus rapide
- Patterns d'architecture cohérents
- Conseils d'optimisation intégrés
Scénario 3 : Conformité sécurité en entreprise
Problème : Doit respecter les standards de sécurité avant le déploiement
Solution : Plugin de conformité sécurité
/plugin install enterprise/security-compliance
Le Plugin applique :
/security-scan- Vérifications de sécurité automatisées/compliance-check- Validation de conformité réglementaire/audit-log- Générer la trace d'audit- Agent Security - Détection et correction de vulnérabilités
- Hook Compliance - Validation de sécurité pré-commit
Résultat :
- Application automatisée de la sécurité
- Documentation de conformité générée automatiquement
- Incidents de sécurité réduits
Créer votre premier Plugin
Structure d'un Plugin
my-plugin/
├── .claude-plugin/
│ ├── manifest.json # Métadonnées du plugin
│ ├── commands/ # Slash commands
│ │ ├── test.md
│ │ └── deploy.md
│ ├── agents/ # Subagents
│ │ ├── testing-agent.md
│ │ └── deploy-agent.md
│ ├── mcp-servers/ # Configs MCP server
│ │ └── custom-tools.json
│ └── hooks/ # Configuration des hooks
│ ├── pre-commit.js
│ └── post-analysis.js
└── README.md
Étape 1 : Créer le Manifest
{
"name": "my-first-plugin",
"version": "1.0.0",
"description": "My custom development tools",
"author": "Your Name",
"components": {
"commands": ["test", "deploy"],
"agents": ["testing-agent"],
"hooks": ["pre-commit"]
}
}
Étape 2 : Ajouter un Slash Command
<!-- .claude-plugin/commands/test.md -->
# Test Command
Run the project test suite with coverage reporting.
## Steps:
1. Check for test files
2. Run Jest with coverage
3. Generate HTML report
4. Open report in browser
Étape 3 : Créer un Subagent
<!-- .claude-plugin/agents/testing-agent.md -->
# Testing Agent
You are a testing expert specializing in comprehensive test coverage.
## Capabilities:
- Generate unit tests for functions and classes
- Create integration tests for APIs
- Design end-to-end test scenarios
- Identify edge cases and test coverage gaps
- Suggest test data and mocking strategies
## Guidelines:
- Follow AAA pattern (Arrange, Act, Assert)
- Aim for 80%+ code coverage
- Include positive and negative test cases
- Mock external dependencies appropriately
Étape 4 : Ajouter un Hook
// .claude-plugin/hooks/pre-commit.js
module.exports = async (context) => {
console.log('Running pre-commit checks...');
// Run linter
const lintResult = await context.exec('npm run lint');
if (lintResult.exitCode !== 0) {
return {
allow: false,
message: 'Linting failed. Please fix errors before committing.'
};
}
// Run tests
const testResult = await context.exec('npm test');
if (testResult.exitCode !== 0) {
return {
allow: false,
message: 'Tests failed. Please fix failing tests before committing.'
};
}
return { allow: true };
};
Étape 5 : Tester votre Plugin
# Charger le plugin localement
/plugin install ./my-plugin
# Tester la slash command
/test
# Utiliser le subagent
> Use Testing agent to create tests for UserService
# Vérifier le hook (essayer de commiter)
git add .
git commit -m "test commit"
Bonnes pratiques
1. Responsabilité unique
Chaque plugin devrait se concentrer sur un domaine :
✅ Bon :
- authentication-plugin (gère uniquement l'auth)
- testing-plugin (gère uniquement les tests)
- deployment-plugin (gère uniquement le déploiement)
❌ Mauvais :
- everything-plugin (essaie de tout faire)
2. Composabilité
Concevez les plugins pour qu'ils fonctionnent bien ensemble :
# Les plugins devraient se compléter
/plugin enable testing-plugin
/plugin enable quality-plugin
/plugin enable deployment-plugin
# Ils ne devraient pas entrer en conflit
3. Documentation claire
Chaque plugin a besoin de :
# Nom du Plugin
## Description
Explication claire de ce qu'il fait
## Installation
Guide d'installation étape par étape
## Utilisation
Exemples de toutes les commandes et fonctionnalités
## Configuration
Options et paramètres disponibles
## Dépannage
Problèmes courants et solutions
4. Gestion des versions
Utilisez le versionnage sémantique :
{
"version": "1.2.3"
// 1 = Majeur (changements cassants)
// 2 = Mineur (nouvelles fonctionnalités)
// 3 = Patch (corrections de bugs)
}
5. Optimisation des performances
Lazy Loading :
// Charger uniquement quand nécessaire
if (command === '/heavy-operation') {
const module = await import('./heavy-module');
module.execute();
}
Mise en cache :
// Mettre en cache les opérations coûteuses
const cache = new Map();
if (cache.has(key)) {
return cache.get(key);
}
const result = await expensiveOperation();
cache.set(key, result);
Dépannage
Le Plugin ne s'installe pas
Problème : L'installation du plugin échoue
Solutions :
# Vérifier la connexion réseau
ping github.com
# Vérifier que le dépôt du plugin existe
git ls-remote https://github.com/org/plugin-name
# Essayer avec le logging verbeux
/plugin install org/plugin-name --verbose
# Vérifier les plugins en conflit
/plugin list
Slash Command non trouvé
Problème : /mycommand dit "command not found"
Solutions :
# Vérifier que le plugin est activé
/plugin list
# Activer si désactivé
/plugin enable plugin-name
# Recharger les plugins
/plugin reload
# Vérifier que la définition de commande existe
ls .claude-plugin/commands/
Le Hook ne se déclenche pas
Problème : Le hook pre-commit ne s'exécute pas
Solutions :
// Vérifier que le hook est enregistré
/plugin info plugin-name
// Vérifier que le fichier de hook existe et a le bon nom
ls .claude-plugin/hooks/
// Vérifier la syntaxe du hook
node .claude-plugin/hooks/pre-commit.js
// Activer le débogage des hooks
/plugin config plugin-name --debug-hooks
Sujets avancés
Chargement conditionnel de Plugin
// Charger uniquement dans des environnements spécifiques
if (process.env.NODE_ENV === 'production') {
await loadPlugin('production-monitoring');
}
Dépendances de Plugin
{
"name": "advanced-plugin",
"dependencies": {
"base-plugin": "^1.0.0",
"utils-plugin": "^2.1.0"
}
}
Configuration personnalisée de Plugin
{
"plugins": {
"my-plugin": {
"enabled": true,
"config": {
"apiKey": "your-key",
"timeout": 5000,
"retries": 3
}
}
}
}
Sécurité des Plugins
Bonnes pratiques
1. Revue de code : Toujours examiner le code du plugin avant l'installation 2. Sources de confiance : Installer uniquement depuis des marketplaces vérifiées 3. Permissions : Comprendre quels accès les plugins demandent 4. Mises à jour régulières : Garder les plugins à jour pour les correctifs de sécurité
Signaux d'alerte
⚠️ Signes d'avertissement :
- Demande des permissions excessives
- Contient du code obfusqué
- Pas de code source disponible
- Développeur inconnu
- Pas de documentation
Prochaines étapes
Maintenant que vous comprenez les Plugins, vous pouvez :
-
Explorer les Marketplaces : Parcourir les plugins disponibles
/plugin marketplace add danavila/plugins
/plugin browse -
Installer des Plugins utiles : Commencer avec les favoris de la communauté
/plugin install danavila/devops-toolkit -
Créer votre Plugin : Construire des outils pour votre workflow
mkdir my-plugin
cd my-plugin
# Suivre la structure ci-dessus -
Partager avec la communauté : Publier votre plugin
git push origin main
# Partager l'URL du dépôt
Continuer la lecture : Dynamic Memory pour apprendre comment Claude Code maintient le contexte à travers les sessions.