Extensibilité et personnalisation
Étendez les capacités de Verdent grâce à des sous-agents personnalisés, des règles et l'intégration MCP
Ce que vous allez apprendre
Comment personnaliser et étendre Verdent for VS Code à l'aide de trois méthodes d'extensibilité puissantes : les sous-agents personnalisés, les systèmes de règles et l'intégration MCP.
Vue d'ensemble de l'extensibilité
Verdent for VS Code propose trois méthodes principales pour étendre ses capacités et personnaliser son comportement :
- Sous-agents personnalisés - Créez des agents IA spécialisés pour des tâches propres à un domaine
- Système de règles - Guidez le comportement via VERDENT.md, AGENTS.md et plan_rules.md
- Intégration MCP - Connectez des outils et services externes via le Model Context Protocol
Chaque méthode répond à des besoins de personnalisation différents et peut être combinée pour une optimisation complète du flux de travail.
Méthode 1 : Sous-agents personnalisés
Vue d'ensemble
Les sous-agents personnalisés sont des agents IA spécialisés dotés de prompts système dédiés, de politiques d'invocation et d'une expertise propre à une tâche. Ils étendent les sous-agents intégrés de Verdent (@Verifier, @Explorer, @Code-reviewer) avec des capacités propres au projet.
Emplacement de stockage : ~/.verdent/subagents/
Création de sous-agents personnalisés
Structure de fichier :
---
name: subagent-name
description: One-line purpose description
---
# System Prompt
[Behavior definition, personality, task interpretation approach]
Invocation policy (strict|flexible): Policy description
When to use:
- Scenario 1
- Scenario 2
When NOT to use:
- Avoid scenario 1
- Avoid scenario 2Méthodes de création :
Méthode 1 : Menu des paramètres
- Paramètres → Sous-agents
- « Créer un nouveau sous-agent »
- Définissez le nom, la description, le prompt système
- Configurez la politique d'invocation
- Enregistrez dans
~/.verdent/subagents/
Méthode 2 : Création directe de fichier
- Accédez à
~/.verdent/subagents/ - Créez un fichier markdown (par exemple
security-reviewer.md) - Ajoutez le frontmatter YAML
- Rédigez le prompt système et les consignes d'utilisation
Cas d'usage des sous-agents personnalisés
Expertise propre à un domaine :
- Calculs financiers : conformité fiscale, réglementations financières
- Conformité HIPAA en santé : normes de traitement des données patients
- Cryptographie : bonnes pratiques de mise en œuvre de la sécurité
Flux de travail propres à l'équipe :
- Vérificateurs de style de code : normes de codage de l'équipe au-delà des règles du linter
- Cohérence de la documentation : garantir que la documentation suit les modèles de l'équipe
- Auditeurs de dépendances : surveiller les packages tiers par rapport aux listes approuvées
Spécialistes de la pile technologique :
- Optimiseurs de performance React : identifier les rendus inutiles
- Optimiseurs de requêtes SQL : analyser et améliorer les performances de la base de données
- Réviseurs de configuration Docker : valider les pratiques de conteneurisation
Assurance qualité :
- Analyseurs de couverture de tests : identifier les chemins de code non testés
- Réviseurs de gestion des erreurs : garantir une gestion exhaustive des exceptions
- Vérificateurs des normes de journalisation : valider les pratiques de journalisation
Exemple : générateur de documentation API
---
name: api-documenter
description: Generates comprehensive API documentation from code
---
# System Prompt
You are an API documentation specialist.
Documentation approach:
- Extract endpoints, parameters, and responses from code
- Generate OpenAPI/Swagger specifications
- Include usage examples and error codes
- Document authentication requirements
Output format:
- Markdown tables for endpoints
- Code examples in multiple languages
- Authentication flow diagrams
Invocation policy (strict): Only run when explicitly requested.
When to use:
- User requests API documentation generation
- Need to document REST/GraphQL endpoints
- Creating developer guides
When NOT to use:
- Inline code comments
- User-facing documentationUtilisation :
@api-documenter document the /api/users endpointsExemple : réviseur de migration de base de données
---
name: migration-reviewer
description: Reviews database migrations for safety and correctness
---
# System Prompt
You are a database migration safety specialist.
Review checklist:
- Check for destructive operations (DROP, DELETE without WHERE)
- Verify reversible migrations (up/down compatibility)
- Identify potential data loss scenarios
- Validate index creation strategies
- Check for blocking operations on large tables
Risk assessment:
- Categorize migrations: low/medium/high risk
- Recommend staging environment testing for high-risk changes
- Suggest rollback procedures
Invocation policy (strict): Only run when explicitly requested.
When to use:
- User creates or modifies migration files
- Pre-deployment migration review
- Investigating migration failures
When NOT to use:
- Schema design from scratch
- Query optimizationPolitiques d'invocation
Politique stricte :
- Le sous-agent ne s'exécute que lorsqu'il est explicitement demandé via une mention @-
- L'utilisateur garde un contrôle total sur l'invocation
- Idéal pour les sous-agents spécialisés, utilisés occasionnellement
Politique flexible :
- Permet une invocation automatique basée sur la détection du type de tâche
- L'agent principal route automatiquement les tâches correspondantes
- Idéal pour les sous-agents fréquemment utilisés et bien définis
Méthode 2 : Système de règles
Vue d'ensemble
Les fichiers de règles sont des documents Markdown qui guident le comportement de Verdent, le formatage des sorties et la prise de décision, sans modification de code. Trois types de règles offrent une personnalisation complète :
| Type de règle | Portée | Priorité | Stockage |
|---|---|---|---|
| VERDENT.md | Globale à tous les projets | Moyenne | ~/.verdent/VERDENT.md |
| AGENTS.md | Propre au projet (équipe) | La plus élevée | Répertoire racine du projet |
| plan_rules.md | Formatage de Plan Mode | Indépendante | ~/.verdent/plan_rules.md |
Priorité des règles
En cas de conflit :
- AGENTS.md (la plus élevée) - Les règles du projet remplacent les préférences de l'utilisateur
- VERDENT.md (moyenne) - Appliquée en l'absence de conflit avec le projet
- Comportement par défaut (la plus basse) - Comportements par défaut intégrés de Verdent
Exemple de conflit :
VERDENT.md: "Use 2-space indentation"
AGENTS.md: "Use 4-space indentation for this project"
→ Result: 4-space indentation (project rules win)VERDENT.md (préférences globales)
Objectif : Style de codage et préférences personnelles applicables à tous les projets
Exemple :
# User Rules
## TypeScript Preferences
- Use strict mode in tsconfig.json
- Prefer interfaces over type aliases
- Include return types on all functions
## Code Organization
- One component per file
- Named exports instead of default exports
- Organize imports: external, internal, types
## Documentation
- TSDoc comments for public APIs
- Include @param and @returns tags
## Communication
- Provide explanations before showing code
- Highlight breaking changes explicitlyAccès : Paramètres → Règles → Règles utilisateur
AGENTS.md (règles du projet)
Objectif : Normes de codage à l'échelle de l'équipe et conventions propres au projet
Exemple :
# AGENTS.md
## Dev environment tips
- Use `pnpm dlx turbo run where <project_name>` to navigate
- Run `pnpm install --filter <project_name>` for dependencies
- Check package.json name field for correct package name
## Testing instructions
- Run `pnpm turbo run test --filter <project_name>`
- From package root: `pnpm test`
- Focus on one test: `pnpm vitest run -t "<test name>"`
- Fix all errors before merge
## PR instructions
- Title format: [<project_name>] <Title>
- Always run `pnpm lint` and `pnpm test` before committingAccès : Répertoire racine du projet (sous contrôle de version)
plan_rules.md (personnalisation du plan)
Objectif : Contrôler le format de sortie et le niveau de détail de Plan Mode
Exemple :
# Plan Rules
## Plan Structure
- Start with brief summary (2-3 sentences)
- Include estimated time for each major step
- List prerequisites before implementation steps
- Identify potential risks
## Level of Detail
- Break tasks into subtasks of 15-30 minutes
- Include specific file paths for modifications
- List functions/components to create/modify
## Format
- Use numbered lists for sequential steps
- Use bullet points for options
- Include code snippets for complex changesAccès : Paramètres → Règles → Règles de plan
Bonnes pratiques de rédaction des règles
Soyez précis et directif :
✓ Good: "Always use async/await for asynchronous operations"
✗ Vague: "Try to use modern JavaScript"Organisez de façon logique :
- Regroupez les règles liées sous des en-têtes de section
- Séparez les préoccupations (style, tests, documentation, sécurité)
- Utilisez une structure cohérente entre les fichiers
Priorisez les règles critiques :
- Placez les règles importantes en premier dans chaque section
- Utilisez l'emphase pour les normes non négociables :
**NEVER** commit credentials - Concentrez-vous sur la prévention des bugs et la sécurité
Testez l'efficacité :
- Démarrez une nouvelle conversation pour vérifier l'application de la règle
- Affinez les règles en fonction du comportement réel de l'agent
- Mettez à jour au fur et à mesure de l'évolution du projet
Méthode 3 : Intégration MCP
Vue d'ensemble
Le Model Context Protocol (MCP) étend Verdent en connectant des outils, sources de données et services externes. Les serveurs MCP font office de passerelles entre Verdent et les systèmes externes.
Configuration : ~/.verdent/mcp.json via Paramètres → Serveurs MCP
Capacités de MCP
Accès aux systèmes externes :
- Outils de requête de base de données (PostgreSQL, MySQL, MongoDB)
- APIs de services cloud (AWS, Azure, GCP)
- Gestion de projet (Jira, Linear, Asana)
- Pipelines CI/CD (Jenkins, GitHub Actions)
- Services de supervision (Datadog, New Relic)
Développement d'outils personnalisés : Créez des serveurs MCP pour des systèmes propriétaires :
- Intégrations API internes
- Passerelles vers des systèmes existants
- Sources de données spécialisées
- Outils d'automatisation de flux de travail
MCP vs sous-agents personnalisés vs règles
| Besoin | Meilleure méthode | Pourquoi |
|---|---|---|
| Analyse IA spécialisée | Sous-agent personnalisé | Nécessite un raisonnement IA avec un contexte personnalisé |
| Application des normes de codage | Règles (AGENTS.md) | Guidage de comportement simple |
| Accès à une base de données externe | Intégration MCP | Nécessite une connexion à un système externe |
| Préférences de codage personnelles | Règles (VERDENT.md) | Personnalisation globale du comportement |
| Conventions d'équipe | Règles (AGENTS.md) | Normes de projet partagées |
| Intégration API | Intégration MCP | Interaction avec un service externe |
| Personnalisation du format de plan | Règles (plan_rules.md) | Contrôle de la sortie de Plan Mode |
| Expertise métier (finance, santé) | Sous-agent personnalisé | Application de connaissances spécialisées |
Exemple : combiner les trois méthodes
Scénario : Équipe de développement full-stack avec exigences de conformité strictes
Sous-agent personnalisé :
---
name: compliance-auditor
description: Audits code for regulatory compliance (SOC2, HIPAA)
---
[System prompt for compliance checking]AGENTS.md (règles du projet) :
## Security Standards
- All API endpoints must validate inputs
- Never log PII or credentials
- Encrypt sensitive data at rest and in transit
## Compliance
- Run @compliance-auditor before all PRs
- Document data retention policies in code comments
- Include audit trails for data accessIntégration MCP :
- Serveur MCP de base de données de conformité : vérifie les opérations par rapport aux règles de conformité
- Serveur MCP de journal d'audit : enregistre tous les accès aux données sensibles
Flux de travail :
User: "Create endpoint for user profile updates"
Verdent: [Applies AGENTS.md rules]
[Generates secure endpoint with validation]
[Automatically invokes @compliance-auditor]
[Uses MCP to log operation in audit system]
Result: Compliant, secure, audited endpointBonnes pratiques d'extensibilité
Commencez simplement, montez en puissance progressivement
Adoption progressive :
- Phase 1 : Commencez par des règles de base (VERDENT.md ou AGENTS.md)
- Phase 2 : Ajoutez des sous-agents personnalisés pour les tâches spécialisées répétitives
- Phase 3 : Intégrez MCP pour les connexions à des systèmes externes
Combinez les méthodes de façon stratégique
Exemples de synergie :
Règles + sous-agents :
- AGENTS.md précise quand invoquer des sous-agents personnalisés
- Les règles garantissent que les recommandations des sous-agents sont suivies
Règles + MCP :
- AGENTS.md définit quels serveurs MCP sont approuvés pour l'utilisation
- Les règles précisent quand l'accès à des données externes est requis
Sous-agents + MCP :
- Un sous-agent personnalisé utilise les outils MCP pour accéder à des systèmes externes
- Le sous-agent interprète les résultats MCP avec une expertise spécialisée
Documentez les personnalisations
Documentation d'équipe : Pour les sous-agents personnalisés et les règles de projet (AGENTS.md) :
- Documentez la logique des règles ou sous-agents non évidents
- Fournissez des exemples d'utilisation correcte
- Incluez des guides de dépannage
- Placez sous contrôle de version avec le code
Documentation personnelle : Pour VERDENT.md et les sous-agents personnels :
- Commentez les règles complexes en expliquant le raisonnement
- Gardez les règles organisées et à jour
- Supprimez rapidement les règles obsolètes
Testez rigoureusement
Processus de validation :
- Créez la personnalisation (sous-agent/règle/configuration MCP)
- Démarrez une nouvelle conversation pour tester
- Vérifiez que le comportement correspond aux attentes
- Affinez en fonction des résultats
- Documentez les modèles réussis
Scénarios de test courants :
- Le sous-agent s'invoque-t-il automatiquement lorsque prévu ?
- Les règles du projet remplacent-elles correctement les règles utilisateur ?
- Le serveur MCP se connecte-t-il et exécute-t-il les opérations ?
- Les méthodes combinées interagissent-elles sans conflit ?
Dépannage de l'extensibilité
Problèmes de sous-agents personnalisés
Le sous-agent ne s'invoque pas :
- Vérifiez la politique d'invocation (la politique stricte requiert une mention @- explicite)
- Vérifiez que les consignes « Quand l'utiliser » correspondent à votre demande
- Assurez-vous que le fichier se trouve dans le répertoire
~/.verdent/subagents/ - Vérifiez la syntaxe du frontmatter YAML
Comportement inattendu du sous-agent :
- Revoyez la clarté du prompt système
- Affinez les consignes « Quand l'utiliser » et « Quand ne pas l'utiliser »
- Testez avec une mention @- explicite pour isoler le comportement
- Itérez sur le prompt système en fonction des résultats
Conflits de règles
La règle n'est pas appliquée :
- Vérifiez la priorité des règles (AGENTS.md > VERDENT.md)
- Vérifiez que le fichier se trouve au bon emplacement
- Démarrez une nouvelle conversation pour tester une application fraîche
- Rendez les règles plus précises et directives
Comportement inattendu :
- Recherchez des règles contradictoires dans le même fichier
- Vérifiez si les règles sont trop vagues
- Vérifiez que le bon fichier de règles est modifié
- Utilisez un langage explicite (« Toujours », « Jamais », « Préférer »)
Problèmes d'intégration MCP
Échecs de connexion :
- Vérifiez la syntaxe de
mcp.json - Vérifiez les identifiants d'authentification
- Assurez-vous que le serveur MCP est en cours d'exécution et accessible
- Validez la connectivité réseau
Problèmes d'invocation d'outils :
- Confirmez que le serveur MCP expose les outils attendus
- Vérifiez les formats de paramètres des outils
- Consultez les journaux du serveur MCP pour repérer les erreurs
- Testez le serveur MCP indépendamment