smart-spec-kit-mcp 2.2.6 → 2.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -100,6 +100,12 @@ smart-spec-kit-mcp/
100
100
  │ │ ├── feature-full.yaml # 5-step (détaillé)
101
101
  │ │ ├── bugfix-quick.yaml # 2-step (bugfix rapide)
102
102
  │ │ └── bugfix.yaml
103
+ │ ├── agents/ # Agents IA customisables
104
+ │ │ ├── SpecAgent.md # Rédacteur de spécifications
105
+ │ │ ├── PlanAgent.md # Planificateur technique
106
+ │ │ ├── GovAgent.md # Validateur gouvernance
107
+ │ │ ├── TestAgent.md # Stratège de tests
108
+ │ │ └── _CustomAgent.template.md # Template pour créer vos agents
103
109
  │ ├── rules/ # Règles de validation
104
110
  │ │ ├── security-rules.md # Règles OWASP
105
111
  │ │ └── rgpd-rules.md # Conformité GDPR
@@ -120,6 +126,7 @@ votre-projet/
120
126
  │ ├── prompts/ # Override les prompts par défaut
121
127
  │ ├── templates/ # Override les templates par défaut
122
128
  │ ├── workflows/ # Vos workflows personnalisés
129
+ │ ├── agents/ # Vos agents personnalisés ← NOUVEAU
123
130
  │ ├── rules/ # Vos règles de validation
124
131
  │ └── memory/
125
132
  │ └── constitution.md # Principes de votre projet
@@ -127,7 +134,7 @@ votre-projet/
127
134
  └── validations/ # Rapports de validation
128
135
  ```
129
136
 
130
- **Note**: Les workflows et templates par défaut viennent de `starter-kit/` du package.
137
+ **Note**: Les workflows, templates et agents par défaut viennent de `starter-kit/` du package.
131
138
  Vous pouvez personnaliser en créant des fichiers dans `.spec-kit/`.
132
139
 
133
140
  ---
@@ -147,6 +154,7 @@ Tapez `/` dans Copilot Chat pour voir les slash commands disponibles:
147
154
  | `/speckit.clarify` | Clarifie les requirements ambigus |
148
155
  | `/speckit.validate` | Valide la conformité (sécurité, RGPD, etc.) |
149
156
  | `/speckit.memory` | Gère la mémoire projet |
157
+ | `/speckit.workflow` | Gère les workflows (list, start, status) |
150
158
  | `/speckit.help` | Obtient de l'aide sur Spec-Kit |
151
159
 
152
160
  ### Commandes par mots-clés (Alternative)
@@ -161,6 +169,7 @@ Vous pouvez aussi utiliser ces phrases dans Copilot Chat:
161
169
  | `speckit: implement` | `implémenter`, `coder` | Exécute les tâches |
162
170
  | `speckit: clarify` | `clarifier`, `préciser` | Clarifie les requirements ambigus |
163
171
  | `speckit: validate` | `valider`, `vérifier` | Valide la conformité (sécurité, RGPD, etc.) |
172
+ | `speckit: workflow` | `démarrer un workflow`, `workflow list` | Gère les workflows multi-étapes |
164
173
  | `speckit: memory` | `enrichir la mémoire`, `ajouter au contexte` | Gère la mémoire projet |
165
174
  | `speckit: help` | `aide sur speckit` | Obtient de l'aide sur Spec-Kit |
166
175
 
@@ -263,6 +272,71 @@ steps:
263
272
  description: "Génère le plan"
264
273
  ```
265
274
 
275
+ #### À propos des "Agents"
276
+
277
+ ⚠️ **Important** : Les agents Spec-Kit (SpecAgent, PlanAgent, GovAgent, TestAgent) **ne sont PAS** des agents GitHub Copilot.
278
+
279
+ Ce sont des **system prompts prédéfinis** qui guident le comportement de Copilot :
280
+
281
+ | Agent | Rôle | Fichier |
282
+ |-------|------|---------|
283
+ | **SpecAgent** | Rédacteur de spécifications | `SpecAgent.md` |
284
+ | **PlanAgent** | Planificateur technique | `PlanAgent.md` |
285
+ | **GovAgent** | Validateur de gouvernance | `GovAgent.md` |
286
+ | **TestAgent** | Stratège de tests | `TestAgent.md` |
287
+
288
+ Quand vous mettez `agent: SpecAgent` dans une étape, Spec-Kit envoie le system prompt de SpecAgent à Copilot.
289
+
290
+ #### Créer un Agent Personnalisé
291
+
292
+ Les agents sont maintenant **entièrement customisables** depuis `.spec-kit/agents/` :
293
+
294
+ ```markdown
295
+ # .spec-kit/agents/SecurityAgent.md
296
+
297
+ ---
298
+ name: SecurityAgent
299
+ displayName: "Security Review Agent"
300
+ description: "Expert en sécurité applicative"
301
+ capabilities:
302
+ - Identifier les vulnérabilités
303
+ - Recommander les bonnes pratiques
304
+ ---
305
+
306
+ ## System Prompt
307
+
308
+ Tu es SecurityAgent, un expert en sécurité applicative...
309
+ ```
310
+
311
+ Puis utilisez dans vos workflows :
312
+
313
+ ```yaml
314
+ steps:
315
+ - id: security-review
316
+ agent: SecurityAgent # Votre agent custom !
317
+ action: call_agent
318
+ ```
319
+
320
+ Pour plus de détails : [Understanding Spec-Kit Agents](docs/DOCUMENTATION.md#understanding-spec-kit-agents)
321
+
322
+ #### Validation du Schéma de Workflow
323
+
324
+ Chaque workflow YAML est validé automatiquement contre un schéma Zod. Les champs obligatoires sont :
325
+ - `name` - Identifiant unique
326
+ - `displayName` - Nom visible
327
+ - `description` - Description
328
+ - `template` - Fichier template
329
+ - `steps` - Au moins une étape
330
+
331
+ Erreur si validation échoue :
332
+ ```
333
+ Error: Invalid workflow "mon-workflow":
334
+ - steps.0.action: Invalid enum value
335
+ - name: Required
336
+ ```
337
+
338
+ Pour plus de détails sur le schéma, voir [Workflow Validation Schema](docs/DOCUMENTATION.md#workflow-validation-schema).
339
+
266
340
  ---
267
341
 
268
342
  ## ❓ Obtenir de l'Aide
@@ -0,0 +1,121 @@
1
+ # 🆘 Troubleshooting Spec-Kit
2
+
3
+ ## macOS: `command not found: smart-spec-kit-mcp`
4
+
5
+ Si vous recevez cette erreur sur macOS, essayez ces solutions:
6
+
7
+ ### Solution 1: Mettre à jour npm (recommandé)
8
+
9
+ ```bash
10
+ npm install -g npm@latest
11
+ ```
12
+
13
+ Puis réessayez:
14
+
15
+ ```bash
16
+ npx smart-spec-kit-mcp setup
17
+ ```
18
+
19
+ ### Solution 2: Installer globalement
20
+
21
+ ```bash
22
+ npm install -g smart-spec-kit-mcp
23
+ smart-spec-kit-mcp setup
24
+ ```
25
+
26
+ ### Solution 3: Utiliser avec yarn
27
+
28
+ ```bash
29
+ yarn dlx smart-spec-kit-mcp setup
30
+ ```
31
+
32
+ ### Solution 4: Utiliser pnpm
33
+
34
+ ```bash
35
+ pnpm dlx smart-spec-kit-mcp setup
36
+ ```
37
+
38
+ ---
39
+
40
+ ## VS Code: Slash Commands n'apparaissent pas
41
+
42
+ Si les slash commands `/speckit.*` n'apparaissent pas dans Copilot Chat:
43
+
44
+ 1. **Vérifiez les fichiers `.github/prompts/`**:
45
+ ```bash
46
+ ls .github/prompts/
47
+ # Doit afficher: speckit.specify.prompt.md, speckit.plan.prompt.md, etc.
48
+ ```
49
+
50
+ 2. **Réinstallez si manquants**:
51
+ ```bash
52
+ npx smart-spec-kit-mcp setup --force
53
+ ```
54
+
55
+ 3. **Rechargez VS Code**: `Cmd+Shift+P` (macOS) ou `Ctrl+Shift+P` (Windows/Linux)
56
+ - Tapez "Reload Window"
57
+ - Pressez Entrée
58
+
59
+ 4. **Tapez `/speckit.` et attendez** - les commandes apparaissent après quelques secondes
60
+
61
+ ---
62
+
63
+ ## VS Code: MCP Tools ne fonctionnent pas
64
+
65
+ Si les outils MCP Spec-Kit ne fonctionnent pas dans Copilot Chat:
66
+
67
+ 1. **Rechargez VS Code**: `Cmd+Shift+P` (macOS) ou `Ctrl+Shift+P` (Windows/Linux)
68
+ - Tapez "Reload Window"
69
+ - Pressez Entrée
70
+
71
+ 2. **Vérifiez les permissions des profils**:
72
+ ```bash
73
+ # Sur macOS, vérifiez les droits d'accès au fichier de config
74
+ ls -la ~/.config/Code/User/profiles/*/mcp.json
75
+ # ou
76
+ ls -la ~/Library/Application\ Support/Code/User/profiles/*/mcp.json
77
+ ```
78
+
79
+ 3. **Vérifiez la configuration MCP**:
80
+ - Ouvrez "Output" panel: `Ctrl+Shift+U`
81
+ - Sélectionnez "GitHub Copilot Log"
82
+ - Cherchez des erreurs liées à "spec-kit"
83
+
84
+ 4. **Réinstallez la configuration**:
85
+ ```bash
86
+ npx smart-spec-kit-mcp setup
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Windows: Erreur lors du démarrage
92
+
93
+ Si vous avez une erreur lors du lancement du setup sur Windows:
94
+
95
+ 1. **Assurez-vous que Node.js est installé**:
96
+ ```powershell
97
+ node --version
98
+ npm --version
99
+ ```
100
+
101
+ 2. **Utilisez PowerShell en administrateur** (si permis)
102
+
103
+ 3. **Vérifiez votre antivirus** - Certains antivirus bloquent l'exécution de scripts npm
104
+
105
+ ---
106
+
107
+ ## Problèmes de Performance
108
+
109
+ Si Spec-Kit est lent à démarrer:
110
+
111
+ 1. **Vérifiez la connexion Internet** - npx télécharge les packages
112
+ 2. **Utilisez `--skip-prompts`** pour une installation plus rapide:
113
+ ```bash
114
+ npx smart-spec-kit-mcp setup --skip-prompts
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Besoin d'aide?
120
+
121
+ Consultez la [documentation complète](docs/DOCUMENTATION.md) ou créez une issue sur GitHub.
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Agent Tools
3
3
  *
4
- * MCP tools for interacting with agent system prompts
4
+ * MCP tools for interacting with agent system prompts.
5
+ * Supports both built-in agents and custom agents from .spec-kit/agents/
5
6
  */
6
7
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
7
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agentTools.d.ts","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgI1D"}
1
+ {"version":3,"file":"agentTools.d.ts","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+H1D"}
@@ -1,26 +1,25 @@
1
1
  /**
2
2
  * Agent Tools
3
3
  *
4
- * MCP tools for interacting with agent system prompts
4
+ * MCP tools for interacting with agent system prompts.
5
+ * Supports both built-in agents and custom agents from .spec-kit/agents/
5
6
  */
6
7
  import { z } from "zod";
7
- import { AgentRegistry, getAgent, listAgents } from "../prompts/agents.js";
8
+ import { loadAgent, listAgentsDetailed } from "../utils/agentLoader.js";
8
9
  /**
9
10
  * Register agent-related tools on the MCP server
10
11
  */
11
12
  export function registerAgentTools(server) {
12
- // Tool: list_agents - List all available agents
13
- server.tool("list_agents", "List all available AI agents and their capabilities. Use this to understand which agent to use for a specific task.", {}, async () => {
14
- const agents = listAgents();
15
- const formatted = agents.map((agent) => {
16
- const full = AgentRegistry[agent.name];
17
- return {
18
- name: agent.name,
19
- displayName: agent.displayName,
20
- description: agent.description,
21
- capabilities: full.capabilities,
22
- };
23
- });
13
+ // Tool: list_agents - List all available agents (built-in + custom)
14
+ server.tool("list_agents", "List all available AI agents and their capabilities. Includes both built-in agents and custom agents from .spec-kit/agents/.", {}, async () => {
15
+ const agents = await listAgentsDetailed();
16
+ const formatted = agents.map((agent) => ({
17
+ name: agent.name,
18
+ displayName: agent.displayName,
19
+ description: agent.description,
20
+ capabilities: agent.capabilities,
21
+ source: agent.source, // "local" or "builtin"
22
+ }));
24
23
  return {
25
24
  content: [{
26
25
  type: "text",
@@ -29,12 +28,12 @@ export function registerAgentTools(server) {
29
28
  };
30
29
  });
31
30
  // Tool: get_agent_prompt - Get system prompt for an agent
32
- server.tool("get_agent_prompt", "Retrieve the full system prompt for a specific agent. Use this to understand how an agent behaves and its guidelines.", {
33
- agent_name: z.enum(["SpecAgent", "PlanAgent", "GovAgent", "TestAgent"])
34
- .describe("Name of the agent to get prompt for"),
31
+ server.tool("get_agent_prompt", "Retrieve the full system prompt for a specific agent. Supports built-in agents and custom agents from .spec-kit/agents/.", {
32
+ agent_name: z.string()
33
+ .describe("Name of the agent to get prompt for (e.g., SpecAgent, PlanAgent, or a custom agent name)"),
35
34
  }, async ({ agent_name }) => {
36
35
  try {
37
- const agent = getAgent(agent_name);
36
+ const agent = await loadAgent(agent_name);
38
37
  const response = `# Agent: ${agent.displayName}
39
38
 
40
39
  ## Description
@@ -66,16 +65,16 @@ ${agent.systemPrompt}
66
65
  }
67
66
  });
68
67
  // Tool: invoke_agent - Get agent context for a specific task
69
- server.tool("invoke_agent", "Prepare an agent context for a specific task. Returns the agent's system prompt combined with task instructions.", {
70
- agent_name: z.enum(["SpecAgent", "PlanAgent", "GovAgent", "TestAgent"])
71
- .describe("Name of the agent to invoke"),
68
+ server.tool("invoke_agent", "Prepare an agent context for a specific task. Returns the agent's system prompt combined with task instructions. Supports custom agents.", {
69
+ agent_name: z.string()
70
+ .describe("Name of the agent to invoke (e.g., SpecAgent, PlanAgent, or a custom agent name)"),
72
71
  task_description: z.string()
73
72
  .describe("Description of the task for the agent to perform"),
74
73
  context: z.string().optional()
75
74
  .describe("Additional context or data for the agent (e.g., work item details)"),
76
75
  }, async ({ agent_name, task_description, context }) => {
77
76
  try {
78
- const agent = getAgent(agent_name);
77
+ const agent = await loadAgent(agent_name);
79
78
  const response = `# 🤖 ${agent.displayName} Activated
80
79
 
81
80
  ## System Context
@@ -1 +1 @@
1
- {"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAA0B,MAAM,yBAAyB,CAAC;AAEhG;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAElD,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,aAAa,EACb,8HAA8H,EAC9H,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE1C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,uBAAuB;SAC9C,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrD,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,0DAA0D;IAC1D,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,0HAA0H,EAC1H;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,QAAQ,CAAC,0FAA0F,CAAC;KACxG,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAA+B,CAAC,CAAC;YAE/D,MAAM,QAAQ,GAAG,YAAY,KAAK,CAAC,WAAW;;;EAGpD,KAAK,CAAC,WAAW;;;EAGjB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIlD,KAAK,CAAC,YAAY;;CAEnB,CAAC;YAEM,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,QAAQ;qBACf,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC3E,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CACT,cAAc,EACd,0IAA0I,EAC1I;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,QAAQ,CAAC,kFAAkF,CAAC;QAC/F,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;aACzB,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC3B,QAAQ,CAAC,oEAAoE,CAAC;KAClF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAA+B,CAAC,CAAC;YAE/D,MAAM,QAAQ,GAAG,QAAQ,KAAK,CAAC,WAAW;;;EAGhD,KAAK,CAAC,YAAY;;;;;;YAMR,gBAAgB;;EAE1B,OAAO,CAAC,CAAC,CAAC,0BAA0B,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;;;;6BAI9B,KAAK,CAAC,WAAW;;;EAG5C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;CAGnD,CAAC;YAEM,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,QAAQ;qBACf,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC3E,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"promptTools.d.ts","sourceRoot":"","sources":["../../src/tools/promptTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuSzE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwwB3D"}
1
+ {"version":3,"file":"promptTools.d.ts","sourceRoot":"","sources":["../../src/tools/promptTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgVzE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA24B3D"}
@@ -7,6 +7,7 @@
7
7
  import * as fs from "node:fs/promises";
8
8
  import * as path from "node:path";
9
9
  import { z } from "zod";
10
+ import { listWorkflowsDetailed, loadWorkflow } from "../utils/workflowLoader.js";
10
11
  // Schema for prompt tool arguments
11
12
  const SpecifyArgsSchema = z.object({
12
13
  requirements: z.string().optional().describe("The requirements to specify. Can be a feature description, user story, or Azure DevOps work item ID (e.g., #12345). If not provided, Copilot will ask the user."),
@@ -39,6 +40,12 @@ const ValidateArgsSchema = z.object({
39
40
  phase: z.enum(["spec", "plan", "implementation"]).optional().describe("Phase to validate: 'spec' (after specification), 'plan' (after planning), 'implementation' (after coding). Default: 'spec'"),
40
41
  targetPath: z.string().optional().describe("Path to the document or code to validate. Auto-detects if not provided."),
41
42
  });
43
+ const WorkflowArgsSchema = z.object({
44
+ action: z.enum(["list", "start", "status"]).optional().describe("Action: 'list' (show workflows), 'start' (start a workflow), 'status' (show current status). Default: 'list'"),
45
+ workflowName: z.string().optional().describe("Name of the workflow to start (required for 'start' action). Examples: 'feature-standard', 'bugfix'"),
46
+ contextId: z.string().optional().describe("Optional context identifier for the workflow (e.g., work item ID or feature name)"),
47
+ auto: z.boolean().optional().describe("Auto mode - proceed through steps without approval (default: false)"),
48
+ });
42
49
  /**
43
50
  * Load documentation from package
44
51
  */
@@ -72,8 +79,19 @@ All commands are conversational - parameters are optional. Just type the command
72
79
  | \`speckit: implement\` | Implement tasks | \`speckit: implement\` or \`speckit: implement task 3\` |
73
80
  | \`speckit: clarify\` | Clarify requirements | \`speckit: clarify\` |
74
81
  | \`speckit: memory\` | Manage project memory | \`speckit: memory list\` or \`speckit: memory auto\` |
82
+ | \`speckit: workflow\` | Manage workflows | \`speckit: workflow list\` or \`speckit: workflow start feature-standard\` |
75
83
  | \`speckit: help\` | Get help | \`speckit: help workflows\` |
76
84
 
85
+ ## Workflows
86
+
87
+ Workflows are multi-step automated processes:
88
+
89
+ - \`speckit: workflow list\` - Show available workflows
90
+ - \`speckit: workflow start feature-standard\` - Start a workflow
91
+ - \`speckit: workflow status\` - Check current workflow status
92
+
93
+ Workflows guide you through specify → plan → tasks → implement with built-in checkpoints.
94
+
77
95
  ## Memory Management
78
96
 
79
97
  The memory tool helps you enrich project context:
@@ -115,6 +133,28 @@ Add YAML files to \`.spec-kit/workflows/\` for custom multi-step processes.
115
133
  ### Update Constitution
116
134
  Edit \`.spec-kit/memory/constitution.md\` with your project principles (tech stack, conventions, etc.)
117
135
 
136
+ ### Customize Agents
137
+ Agents are AI personas that guide specific tasks. Create custom agents in \`.spec-kit/agents/\`:
138
+
139
+ \`\`\`markdown
140
+ ---
141
+ name: SecurityAgent
142
+ displayName: "Security Expert"
143
+ description: "Expert en sécurité applicative"
144
+ capabilities:
145
+ - Identifier les vulnérabilités
146
+ - OWASP Top 10
147
+ ---
148
+
149
+ ## System Prompt
150
+
151
+ Tu es SecurityAgent, expert en sécurité...
152
+ \`\`\`
153
+
154
+ Use in workflows: \`agent: SecurityAgent\`
155
+
156
+ Built-in agents: SpecAgent, PlanAgent, GovAgent, TestAgent
157
+
118
158
  ## Troubleshooting
119
159
 
120
160
  1. Reload VS Code: Ctrl+Shift+P → "Developer: Reload Window"
@@ -952,5 +992,119 @@ Perform a thorough validation of the ${phaseDisplay.toLowerCase()} against the $
952
992
  }],
953
993
  };
954
994
  });
995
+ // speckit_workflow - Manage workflows
996
+ server.tool("speckit_workflow", "Manage multi-step workflows. Use this when the user wants to list workflows, start a workflow, or check workflow status. Triggers: 'speckit: workflow', 'démarrer un workflow', 'workflow list'.", WorkflowArgsSchema.shape, async ({ action = "list", workflowName, contextId, auto }) => {
997
+ const projectPath = process.cwd();
998
+ // Check setup
999
+ const setup = await checkSetup(projectPath);
1000
+ if (!setup.ok) {
1001
+ return {
1002
+ content: [{
1003
+ type: "text",
1004
+ text: `## ⚠️ Spec-Kit Setup Required\n\nMissing: ${setup.missing.join(", ")}\n\nRun \`npx smart-spec-kit-mcp setup\` to initialize Spec-Kit in this project.`,
1005
+ }],
1006
+ };
1007
+ }
1008
+ // Action: list - Show available workflows
1009
+ if (action === "list") {
1010
+ const workflowsInfo = await listWorkflowsDetailed();
1011
+ let workflowList = "## 📋 Available Workflows\n\n";
1012
+ if (workflowsInfo.length === 0) {
1013
+ workflowList += "No workflows found. Create custom workflows in `.spec-kit/workflows/`.\n\n";
1014
+ }
1015
+ else {
1016
+ workflowList += "| Workflow | Description | Source |\n";
1017
+ workflowList += "|----------|-------------|--------|\n";
1018
+ for (const wfInfo of workflowsInfo) {
1019
+ const source = wfInfo.source === "local" ? "🔧 Local" : "📦 Built-in";
1020
+ // Load workflow to get description
1021
+ let description = "N/A";
1022
+ try {
1023
+ const workflow = await loadWorkflow(wfInfo.name);
1024
+ description = workflow.description || "N/A";
1025
+ }
1026
+ catch {
1027
+ // If loading fails, use N/A
1028
+ }
1029
+ workflowList += `| \`${wfInfo.name}\` | ${description} | ${source} |\n`;
1030
+ }
1031
+ }
1032
+ workflowList += `\n### Usage\n\n`;
1033
+ workflowList += `- **Start a workflow**: \`speckit: workflow start workflow_name="feature-standard"\`\n`;
1034
+ workflowList += `- **Auto mode**: Add \`auto=true\` to run without approval prompts\n`;
1035
+ workflowList += `- **With context**: Add \`contextId="MyFeature"\` for naming\n\n`;
1036
+ workflowList += `### Built-in Workflows\n\n`;
1037
+ workflowList += `- **feature-quick**: Quick feature (lightweight, no tasks breakdown)\n`;
1038
+ workflowList += `- **feature-standard**: Standard feature (spec → plan → tasks → implement)\n`;
1039
+ workflowList += `- **feature-full**: Full feature with validation and testing\n`;
1040
+ workflowList += `- **bugfix**: Bug fix workflow with reproduction\n`;
1041
+ return {
1042
+ content: [{
1043
+ type: "text",
1044
+ text: workflowList,
1045
+ }],
1046
+ };
1047
+ }
1048
+ // Action: start - Start a workflow
1049
+ if (action === "start") {
1050
+ if (!workflowName) {
1051
+ return {
1052
+ content: [{
1053
+ type: "text",
1054
+ text: `## ⚠️ Missing Workflow Name\n\nPlease specify which workflow to start.\n\nExample: \`speckit: workflow start workflow_name="feature-standard"\`\n\nRun \`speckit: workflow list\` to see available workflows.`,
1055
+ }],
1056
+ };
1057
+ }
1058
+ return {
1059
+ content: [{
1060
+ type: "text",
1061
+ text: `## 🚀 Starting Workflow: ${workflowName}
1062
+
1063
+ ${contextId ? `**Context:** ${contextId}\n` : ""}
1064
+ ${auto ? "**Mode:** Automatic (no approval prompts)\n" : "**Mode:** Manual (approval required for each step)\n"}
1065
+
1066
+ ---
1067
+
1068
+ ## Next Step
1069
+
1070
+ Call the MCP tool \`start_workflow\` to begin:
1071
+
1072
+ \`\`\`
1073
+ workflow_name: "${workflowName}"
1074
+ ${contextId ? `context_id: "${contextId}"` : ""}
1075
+ ${auto ? "auto: true" : ""}
1076
+ \`\`\`
1077
+
1078
+ The workflow will guide you through each step automatically.`,
1079
+ }],
1080
+ };
1081
+ }
1082
+ // Action: status - Show workflow status
1083
+ if (action === "status") {
1084
+ // Note: Workflow status requires accessing sessionManager
1085
+ // For now, provide guidance
1086
+ return {
1087
+ content: [{
1088
+ type: "text",
1089
+ text: `## 📊 Workflow Status
1090
+
1091
+ To check the status of an active workflow, use the MCP tool \`workflow_status\`.
1092
+
1093
+ If you have a workflow running, it will show:
1094
+ - Current step
1095
+ - Completed actions
1096
+ - Next action required
1097
+
1098
+ If no workflow is active, you'll see a message indicating no active sessions.`,
1099
+ }],
1100
+ };
1101
+ }
1102
+ return {
1103
+ content: [{
1104
+ type: "text",
1105
+ text: `## ⚠️ Invalid Action\n\nSupported actions: 'list', 'start', 'status'\n\nExample: \`speckit: workflow list\``,
1106
+ }],
1107
+ };
1108
+ });
955
1109
  }
956
1110
  //# sourceMappingURL=promptTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promptTools.js","sourceRoot":"","sources":["../../src/tools/promptTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promptTools.js","sourceRoot":"","sources":["../../src/tools/promptTools.ts"],"names":[],"mappings":"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"}