AI-driven specification platform using MCP (Model Context Protocol) for VS Code & GitHub Copilot
npm install smart-spec-kit-mcpspeckit: spec, speckit: plan, etc. directement dans Copilot Chat
.spec-kit/prompts/
.agent.md): 6 agents Copilot dédiés (Spec, Plan, Governance, Test, Conductor, Implement)
npx smart-spec-kit-mcp setup âš |
npx smart-spec-kit-mcp@latest setup |
.spec-kit/ (non-destructif) |
.spec-kit/agents/) |
npx pour tout installer
data-model.md, contracts/, quickstart.md
.spec-kit/ survivent aux mises Ă jour
bash
npx smart-spec-kit-mcp setup
`
Cette commande configure automatiquement:
- â
VS Code settings.json (MCP server)
- â
Tous les profils VS Code (Windows, macOS, Linux)
- â
.github/copilot-instructions.md (guide Copilot)
- â
.github/agents/ (agents natifs VS Code 1.109+)
- â
.github/skills/ (compétences agents)
- â
.spec-kit/ avec prompts, templates et workflows
> Note macOS: Si vous avez une erreur command not found, assurez-vous que npm/npx est Ă jour: npm install -g npm@latest
$3
Ajoutez dans .vscode/settings.json:
`json
{
"mcp": {
"servers": {
"spec-kit": {
"command": "npx",
"args": ["-y", "smart-spec-kit-mcp"]
}
}
},
"chat.agentFilesLocations": [".github/agents"],
"chat.agentSkillsLocations": [".github/skills"],
"github.copilot.chat.copilotMemory.enabled": true
}
`
Puis rechargez VS Code: Ctrl+Shift+P â "Developer: Reload Window"
---
đ Structure du Projet
$3
`text
smart-spec-kit-mcp/
âââ starter-kit/ # Source unique de la configuration
â âââ prompts/ # Prompts MCP (specify, plan, implement, etc.)
â â âââ specify.md
â â âââ plan.md
â â âââ tasks.md
â â âââ implement.md
â â âââ clarify.md
â â âââ validate.md
â â âââ memory.md
â â âââ constitution.md # Configuration de la constitution projet
â â âââ analyze.md # Analyse de traçabilitĂ©
â â âââ checklist.md # Checklist de qualitĂ© des requirements
â âââ templates/ # Templates de documents
â â âââ functional-spec.md # SpĂ©cification fonctionnelle
â â âââ plan-template.md # Plan avec Phase -1 Gates
â â âââ tasks-template.md # Liste de tĂąches
â â âââ data-model.md # EntitĂ©s et relations
â â âââ quickstart.md # ScĂ©narios de validation
â â âââ research.md # Recherche technique
â â âââ checklist-template.md
â â âââ bugfix-report.md
â â âââ contracts/ # Contrats API
â â âââ api-template.yaml # OpenAPI 3.0
â â âââ events-template.md # WebSocket/SSE
â âââ workflows/ # Workflows YAML prĂ©dĂ©finis
â â âââ feature-quick.yaml # 2-step (spĂ©cification rapide)
â â âââ feature-standard.yaml # 5-step (spec â plan â tasks â analyze â implement)
â â âââ feature-full.yaml # 7-step (avec validations sĂ©curitĂ©/RGPD)
â â âââ bugfix-quick.yaml # 2-step (bugfix rapide)
â â âââ bugfix.yaml
â âââ agents/ # Agents IA customisables (system prompts)
â â âââ SpecAgent.md # RĂ©dacteur de spĂ©cifications
â â âââ PlanAgent.md # Planificateur technique
â â âââ GovAgent.md # Validateur gouvernance
â â âââ TestAgent.md # StratĂšge de tests
â â âââ _CustomAgent.template.md
â âââ github-agents/ # đ Agents VS Code natifs (.agent.md)
â â âââ speckit-spec.agent.md
â â âââ speckit-plan.agent.md
â â âââ speckit-governance.agent.md
â â âââ speckit-test.agent.md
â â âââ speckit-conductor.agent.md # Orchestrateur
â â âââ speckit-implement.agent.md
â âââ github-skills/ # đ CompĂ©tences agents (SKILL.md)
â â âââ spec-driven-dev/SKILL.md
â â âââ security-validation/SKILL.md
â â âââ api-design/SKILL.md
â âââ rules/ # RĂšgles de validation
â â âââ security-rules.md # RĂšgles OWASP
â â âââ rgpd-rules.md # ConformitĂ© GDPR
â âââ memory/ # Contexte projet
â â âââ constitution.md # Template de constitution (avec [PLACEHOLDER])
â âââ github-prompts/ # Slash commands pour Copilot
â â âââ speckit.*.prompt.md
â âââ copilot-instructions.md # Guide Copilot
`
$3
`text
votre-projet/
âââ .github/
â âââ agents/ # đ Agents natifs VS Code 1.109+
â â âââ speckit-spec.agent.md
â â âââ speckit-plan.agent.md
â â âââ speckit-conductor.agent.md
â â âââ ...
â âââ skills/ # đ CompĂ©tences agents
â â âââ spec-driven-dev/SKILL.md
â â âââ security-validation/SKILL.md
â â âââ api-design/SKILL.md
â âââ prompts/ # Slash commands Copilot
â âââ copilot-instructions.md # CopiĂ© lors du setup
âââ .spec-kit/ # Configuration locale (personnalisations)
â âââ prompts/ # Override les prompts par dĂ©faut
â âââ templates/ # Override les templates par dĂ©faut
â â âââ contracts/ # Contrats API personnalisĂ©s
â âââ workflows/ # Vos workflows personnalisĂ©s
â âââ agents/ # Vos agents personnalisĂ©s (system prompts)
â âââ rules/ # Vos rĂšgles de validation
â âââ memory/
â âââ constitution.md # Principes de votre projet
âââ specs/ # SpĂ©cifications gĂ©nĂ©rĂ©es
âââ [feature-name]/ # Dossier par feature
â âââ spec.md # SpĂ©cification fonctionnelle
â âââ plan.md # Plan d'implĂ©mentation
â âââ data-model.md # EntitĂ©s et relations
â âââ quickstart.md # ScĂ©narios validation
â âââ tasks.md # Liste des tĂąches
â âââ research.md # Recherche technique (optionnel)
â âââ contracts/ # Contrats API
â âââ api.yaml # OpenAPI 3.0
â âââ events.md # ĂvĂ©nements temps rĂ©el (optionnel)
âââ validations/ # Rapports de validation
`
Note: Les workflows, templates et agents par défaut viennent de starter-kit/ du package.
Vous pouvez personnaliser en créant des fichiers dans .spec-kit/.
---
đź Commandes Disponibles
$3
Tapez / dans Copilot Chat pour voir les slash commands disponibles:
| Slash Command | Description |
|---------------|-------------|
| /speckit.specify | Crée une spécification fonctionnelle |
| /speckit.plan | Crée un plan d'implémentation |
| /speckit.tasks | GénÚre la liste des tùches |
| /speckit.implement | Exécute les tùches |
| /speckit.clarify | Clarifie les requirements ambigus |
| /speckit.validate | Valide la conformité (sécurité, RGPD, etc.) |
| /speckit.memory | GÚre la mémoire projet |
| /speckit.workflow | GĂšre les workflows (list, start, status) |
| /speckit.help | Obtient de l'aide sur Spec-Kit |
| /speckit.constitution | Configure la constitution projet |
| /speckit.analyze | Analyse la cohérence entre artifacts |
| /speckit.checklist | GénÚre un checklist de qualité des requirements |
$3
Vous pouvez aussi utiliser ces phrases dans Copilot Chat:
| Commande | Alias | Description |
|----------|-------|-------------|
| speckit: spec | speckit: specify, créer une spec | Crée une spécification fonctionnelle |
| speckit: plan | planifier, créer un plan | Crée un plan d'implémentation |
| speckit: tasks | générer les tùches | GénÚre la liste des tùches |
| speckit: implement | implémenter, coder | Exécute les tùches |
| speckit: clarify | clarifier, préciser | Clarifie les requirements ambigus |
| speckit: validate | valider, vérifier | Valide la conformité (sécurité, RGPD, etc.) |
| speckit: workflow | démarrer un workflow, workflow list | GÚre les workflows multi-étapes |
| speckit: memory | enrichir la mémoire, ajouter au contexte | GÚre la mémoire projet |
| speckit: help | aide sur speckit | Obtient de l'aide sur Spec-Kit |
| speckit: init | init | Initialise Spec-Kit (demande guidé vs auto par défaut) |
| speckit: constitution | définir les principes | Configure la constitution projet |
| speckit: analyze | analyser, vérifier cohérence | Analyse la cohérence entre artifacts |
| speckit: checklist | générer checklist | GénÚre un checklist de qualité des requirements |
---
đ Workflow RecommandĂ©
$3
Utilisez /speckit.constitution pour définir les principes de votre projet:
`text
/speckit.constitution monorepo TypeScript avec React et Node.js
`
Ou éditez directement .spec-kit/memory/constitution.md avec vos principes de développement.
> Astuce: lancez speckit: init avec guided: true pour un mode questions/réponses (sinon init vous demandera le mode). En mode auto, la constitution est remplie depuis la stack détectée.
$3
`text
/speckit.specify pour un systĂšme de notifications push
`
Ou avec la commande par mots-clés:
`text
speckit: spec pour un systĂšme de notifications push
`
$3
`text
/speckit.checklist
`
Cette commande génÚre un checklist de qualité des requirements - "unit tests for English".
$3
`text
/speckit.plan
`
$3
`text
/speckit.tasks
`
$3
`text
/speckit.analyze
`
VĂ©rifie la traçabilitĂ© entre specs â plan â tasks et identifie les gaps.
$3
`text
/speckit.implement
`
---
đ§ Personnalisation
$3
Les prompts dans .spec-kit/prompts/ définissent le comportement de chaque commande:
`markdown
.spec-kit/prompts/specify.md
Analyse Requirements
- Identifier les besoins utilisateur
- Lister les contraintes techniques
- Définir les critÚres d'acceptation
...
`
$3
Modifiez les templates dans .spec-kit/templates/ pour adapter le format de vos documents.
$3
Créez un fichier YAML dans .spec-kit/workflows/:
`yaml
name: mon-workflow
displayName: "Mon Workflow Personnalisé"
description: "Description de ce que fait le workflow"
template: mon-template.md
defaultAgent: SpecAgent
steps:
- id: analyze
name: "Analyse"
action: call_agent
agent: SpecAgent
description: "Analyse les requirements"
- id: generate
name: "Génération"
action: call_agent
agent: PlanAgent
description: "GénÚre le plan"
# Demande approbation avant l'étape suivante
requiresApproval: true
approvalMessage: "â ïž VĂ©rifiez le plan avant l'implĂ©mentation"
- id: security-review
name: "Revue Sécurité"
action: review
agent: GovAgent
# Exécute dans un contexte isolé
useSubagent: true
description: "Analyse de sécurité approfondie"
`
#### PropriĂ©tĂ©s des Ătapes
| Propriété | Type | Description |
|-----------|------|-------------|
| id | string | Identifiant unique de l'étape |
| name | string | Nom affiché |
| action | string | call_agent, review, fetch_ado, create_file |
| agent | string | Agent Ă utiliser |
| requiresApproval | boolean | âžïž Pause pour validation utilisateur |
| approvalMessage | string | Message personnalisé à l'approbation |
| useSubagent | boolean | đ ExĂ©cution en contexte isolĂ© |
#### Points de Validation (Approval Gates)
Utilisez requiresApproval: true pour créer des checkpoints :
`yaml
steps:
- id: generate-tasks
name: "Générer les tùches"
action: call_agent
outputs: [tasks_document]
requiresApproval: true # âžïž Pause ici
approvalMessage: "Vérifiez les tùches avant implémentation"
- id: implement
name: "Implémenter"
action: call_agent
`
Quand utiliser les approval gates :
- Avant les phases d'implémentation
- AprÚs les revues sécurité/compliance
- Aux transitions de phase (spec â plan â tasks â implement)
#### Exécution en Subagent
Utilisez useSubagent: true pour les analyses approfondies :
`yaml
steps:
- id: security-review
action: review
agent: GovAgent
useSubagent: true # đ Contexte isolĂ©
`
Avantages :
- Contexte isolé (ne pollue pas la conversation principale)
- Analyse approfondie sans encombrer le chat
- Seul le résultat final rejoint le contexte principal
#### Ă propos des "Agents"
â ïž Important : Les agents Spec-Kit (SpecAgent, PlanAgent, GovAgent, TestAgent) ne sont PAS des agents GitHub Copilot.
Ce sont des system prompts prédéfinis qui guident le comportement de Copilot :
| Agent | RĂŽle | Fichier |
|-------|------|---------|
| SpecAgent | Rédacteur de spécifications | SpecAgent.md |
| PlanAgent | Planificateur technique | PlanAgent.md |
| GovAgent | Validateur de gouvernance | GovAgent.md |
| TestAgent | StratĂšge de tests | TestAgent.md |
#### đ Agents Natifs VS Code (1.109+)
En plus des agents MCP (system prompts), Spec-Kit installe désormais des agents natifs VS Code dans .github/agents/ :
| Agent | Invocation | Description |
|-------|-----------|-------------|
| SpecKit-Conductor | @SpecKit-Conductor | Orchestrateur â dĂ©lĂšgue aux agents spĂ©cialistes |
| SpecKit-Spec | @SpecKit-Spec | Rédaction de spécifications fonctionnelles |
| SpecKit-Plan | @SpecKit-Plan | Planning technique avec diagrammes Mermaid |
| SpecKit-Governance | @SpecKit-Governance | Revue sécurité, RGPD, conformité |
| SpecKit-Test | @SpecKit-Test | Stratégie de tests et couverture |
| SpecKit-Implement | @SpecKit-Implement | Implémentation de tùches |
Usage : Tapez @SpecKit-Conductor dans Copilot Chat pour démarrer un workflow orchestré.
#### đ Agent Skills (1.109+)
Compétences partagées entre agents dans .github/skills/ :
| Skill | Description |
|-------|-------------|
| spec-driven-dev | Méthodologie spec-driven complÚte |
| security-validation | Framework de validation sécurité (OWASP) |
| api-design | Patterns de conception REST API et data model |
Quand vous mettez agent: SpecAgent dans une étape, Spec-Kit envoie le system prompt de SpecAgent à Copilot.
#### Créer un Agent Personnalisé
Les agents sont maintenant entiĂšrement customisables depuis .spec-kit/agents/ :
`markdown
.spec-kit/agents/SecurityAgent.md
---
name: SecurityAgent
displayName: "Security Review Agent"
description: "Expert en sécurité applicative"
capabilities:
- Identifier les vulnérabilités
- Recommander les bonnes pratiques
---
System Prompt
Tu es SecurityAgent, un expert en sécurité applicative...
`
Puis utilisez dans vos workflows :
`yaml
steps:
- id: security-review
agent: SecurityAgent # Votre agent custom !
action: call_agent
`
Pour plus de détails : Understanding Spec-Kit Agents
#### Validation du Schéma de Workflow
Chaque workflow YAML est validé automatiquement contre un schéma Zod. Les champs obligatoires sont :
- name - Identifiant unique
- displayName - Nom visible
- description - Description
- template - Fichier template
- steps - Au moins une étape
Erreur si validation échoue :
`
Error: Invalid workflow "mon-workflow":
- steps.0.action: Invalid enum value
- name: Required
`
Pour plus de détails sur le schéma, voir Workflow Validation Schema.
---
â Obtenir de l'Aide
Demandez de l'aide directement dans Copilot Chat:
`text
/speckit.help comment créer un nouveau workflow ?
`
`text
/speckit.help comment personnaliser les templates ?
`
`text
/speckit.help quels sont les agents disponibles ?
`
---
đ IntĂ©gration Azure DevOps
Pour récupérer automatiquement les work items:
`json
{
"mcp": {
"servers": {
"spec-kit": {
"command": "npx",
"args": ["-y", "smart-spec-kit-mcp"]
},
"azure-devops": {
"command": "npx",
"args": [
"-y",
"@azure-devops/mcp",
"your-org",
],
"env": {
"AZURE_DEVOPS_PAT": "your-token"
}
}
}
}
}
`
Puis utilisez:
`text
/speckit.specify pour le work item #12345
`
---
ïżœïž Troubleshooting
Pour résoudre les problÚmes courants:
- macOS: command not found: smart-spec-kit-mcp
- Essayez: npm install -g npm@latest puis npx smart-spec-kit-mcp setup
- Consultez TROUBLESHOOTING.md pour plus de solutions
- VS Code: Les outils Spec-Kit n'apparaissent pas
- Relancez VS Code (Ctrl+Shift+P â "Reload Window")
- Consultez TROUBLESHOOTING.md
- Autres problĂšmes: Voir TROUBLESHOOTING.md complet
---
đ Documentation ComplĂšte
Pour une documentation détaillée sur tous les outils et fonctionnalités:
- QUICK-START.md - Guide de démarrage rapide (2 minutes)
- docs/DOCUMENTATION.md - Documentation complĂšte des outils MCP et workflows
- docs/PACKAGING.md - Guide de packaging et distribution
- PROJECT_CONTEXT.md - Contexte du projet Spec-Kit
- TODO.md - Tùches en cours et prévues
- TROUBLESHOOTING.md - Guide de dépannage complet
---
đ§Ș DĂ©veloppement
`bash
git clone https://github.com/fazzani/smart-spec-kit.git
cd smart-spec-kit
npm install
npm run build
`
$3
`bash
node dist/cli.js setup --project ./mon-projet --dry-run
``