smart-spec-kit-mcp 2.2.8 → 2.3.0

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.
@@ -19,7 +19,11 @@ export declare const WorkflowStepSchema: z.ZodObject<{
19
19
  }>;
20
20
  description: z.ZodString;
21
21
  agent: z.ZodOptional<z.ZodString>;
22
- inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
22
+ inputs: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
23
+ name: z.ZodString;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ required: z.ZodOptional<z.ZodBoolean>;
26
+ }, z.core.$strip>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>]>>;
23
27
  outputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
28
  next: z.ZodOptional<z.ZodString>;
25
29
  }, z.core.$strip>;
@@ -59,7 +63,11 @@ export declare const WorkflowSchema: z.ZodObject<{
59
63
  }>;
60
64
  description: z.ZodString;
61
65
  agent: z.ZodOptional<z.ZodString>;
62
- inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
66
+ inputs: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
67
+ name: z.ZodString;
68
+ description: z.ZodOptional<z.ZodString>;
69
+ required: z.ZodOptional<z.ZodBoolean>;
70
+ }, z.core.$strip>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>]>>;
63
71
  outputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
72
  next: z.ZodOptional<z.ZodString>;
65
73
  }, z.core.$strip>>;
@@ -1 +1 @@
1
- {"version":3,"file":"workflowSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzB,CAAC;AAGH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"workflowSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzB,CAAC;AAGH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -4,6 +4,28 @@
4
4
  * Zod schemas for validating workflow YAML files
5
5
  */
6
6
  import { z } from "zod";
7
+ /**
8
+ * Schema for input parameter (flexible format)
9
+ */
10
+ const InputItemSchema = z.object({
11
+ name: z.string(),
12
+ description: z.string().optional(),
13
+ required: z.boolean().optional(),
14
+ });
15
+ /**
16
+ * Flexible input value: can be string or array of strings
17
+ */
18
+ const FlexibleInputValue = z.union([
19
+ z.string(),
20
+ z.array(z.string()),
21
+ ]);
22
+ /**
23
+ * Flexible inputs: can be array of objects or key-value record with flexible values
24
+ */
25
+ const FlexibleInputsSchema = z.union([
26
+ z.array(InputItemSchema),
27
+ z.record(z.string(), FlexibleInputValue),
28
+ ]).optional();
7
29
  /**
8
30
  * Schema for a single workflow step
9
31
  */
@@ -14,7 +36,7 @@ export const WorkflowStepSchema = z.object({
14
36
  .describe("The type of action to perform"),
15
37
  description: z.string().describe("Detailed description of what this step does"),
16
38
  agent: z.string().optional().describe("Agent to use for this step (e.g., SpecAgent, PlanAgent)"),
17
- inputs: z.record(z.string(), z.string()).optional().describe("Input parameters for the step"),
39
+ inputs: FlexibleInputsSchema.describe("Input parameters for the step"),
18
40
  outputs: z.array(z.string()).optional().describe("Expected outputs from this step"),
19
41
  next: z.string().optional().describe("Next step ID (if not sequential)"),
20
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"workflowSchema.js","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;SACrF,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAChG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7F,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACzE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACpF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACzF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACrF,CAAC,CAAC"}
1
+ {"version":3,"file":"workflowSchema.js","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,11 @@ export declare function getWorkflowStep(workflow: Workflow, stepId: string): {
51
51
  action: "fetch_ado" | "generate_content" | "review" | "create_file" | "call_agent";
52
52
  description: string;
53
53
  agent?: string | undefined;
54
- inputs?: Record<string, string> | undefined;
54
+ inputs?: Record<string, string | string[]> | {
55
+ name: string;
56
+ description?: string | undefined;
57
+ required?: boolean | undefined;
58
+ }[] | undefined;
55
59
  outputs?: string[] | undefined;
56
60
  next?: string | undefined;
57
61
  } | undefined;
@@ -64,7 +68,11 @@ export declare function getFirstStep(workflow: Workflow): {
64
68
  action: "fetch_ado" | "generate_content" | "review" | "create_file" | "call_agent";
65
69
  description: string;
66
70
  agent?: string | undefined;
67
- inputs?: Record<string, string> | undefined;
71
+ inputs?: Record<string, string | string[]> | {
72
+ name: string;
73
+ description?: string | undefined;
74
+ required?: boolean | undefined;
75
+ }[] | undefined;
68
76
  outputs?: string[] | undefined;
69
77
  next?: string | undefined;
70
78
  } | undefined;
@@ -77,7 +85,11 @@ export declare function getNextStep(workflow: Workflow, currentStepId: string):
77
85
  action: "fetch_ado" | "generate_content" | "review" | "create_file" | "call_agent";
78
86
  description: string;
79
87
  agent?: string | undefined;
80
- inputs?: Record<string, string> | undefined;
88
+ inputs?: Record<string, string | string[]> | {
89
+ name: string;
90
+ description?: string | undefined;
91
+ required?: boolean | undefined;
92
+ }[] | undefined;
81
93
  outputs?: string[] | undefined;
82
94
  next?: string | undefined;
83
95
  } | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"workflowLoader.d.ts","sourceRoot":"","sources":["../../src/utils/workflowLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7E,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAmH7D;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAC9D,CAEA;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8B1E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;;;;;;cAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;cAE9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM;;;;;;;;;qBAepE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiErD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3D,CASA"}
1
+ {"version":3,"file":"workflowLoader.d.ts","sourceRoot":"","sources":["../../src/utils/workflowLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7E,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAmH7D;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAC9D,CAEA;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8B1E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;cAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;cAE9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM;;;;;;;;;;;;;qBAepE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiErD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3D,CASA"}
@@ -369,25 +369,36 @@ Then use: `speckit: validate my-custom`
369
369
  **Examples**:
370
370
 
371
371
  ```text
372
- speckit: workflow list
373
- speckit: workflow start feature-standard
374
- speckit: workflow start bugfix MyBug auto
375
- speckit: workflow status
372
+ /speckit.workflow feature-standard Multi-View
373
+ /speckit.workflow feature-quick
374
+ /speckit.workflow bugfix
376
375
  /speckit.workflow list
376
+ /speckit.workflow status
377
377
  ```
378
378
 
379
+ **Simplified Usage**:
380
+
381
+ Just type the workflow name after `/speckit.workflow`:
382
+
383
+ - `/speckit.workflow feature-standard` → Starts the standard workflow
384
+ - `/speckit.workflow bugfix` → Starts the bugfix workflow
385
+ - Any text after the workflow name becomes the `contextId`
386
+
379
387
  **Behavior**:
380
388
 
381
389
  **Action: list**
390
+
382
391
  1. Scans `.spec-kit/workflows/` (local) and `starter-kit/workflows/` (built-in)
383
392
  2. Displays table with workflow name, description, and source (🔧 Local / 📦 Built-in)
384
393
 
385
394
  **Action: start**
395
+
386
396
  1. Validates workflow exists
387
- 2. Provides instructions to call `start_workflow` MCP tool
397
+ 2. Calls `start_workflow` MCP tool to begin the workflow
388
398
  3. Workflow will guide through each step automatically
389
399
 
390
400
  **Action: status**
401
+
391
402
  1. Checks active workflow session
392
403
  2. Shows current step, completed actions, next required action
393
404
 
@@ -395,9 +406,9 @@ speckit: workflow status
395
406
 
396
407
  | Workflow | Description | Steps |
397
408
  |----------|-------------|-------|
398
- | `feature-quick` | Quick feature implementation | specify → implement (lightweight) |
399
- | `feature-standard` | Standard feature workflow | specify → plan → tasks → implement |
400
- | `feature-full` | Full feature with validation | specify → plan → tasks → implement → validate |
409
+ | `feature-quick` | Quick feature implementation | spec → implement |
410
+ | `feature-standard` | Standard feature workflow | spec → plan → tasks → implement |
411
+ | `feature-full` | Full feature with validation | specsecurity review → RGPD review → plan → tasks → implement |
401
412
  | `bugfix` | Bug fix with reproduction | reproduce → analyze → fix → test |
402
413
 
403
414
  **Creating Custom Workflows**:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smart-spec-kit-mcp",
3
- "version": "2.2.8",
3
+ "version": "2.3.0",
4
4
  "description": "AI-driven specification platform using MCP (Model Context Protocol) for VS Code & GitHub Copilot",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -15,6 +15,7 @@ Users can type `/speckit.` to see available slash commands:
15
15
  | `/speckit.clarify` | `speckit_clarify` | Clarify requirements |
16
16
  | `/speckit.validate` | `speckit_validate` | Validate compliance (security, RGPD, etc.) |
17
17
  | `/speckit.memory` | `speckit_memory` | Manage project memory |
18
+ | `/speckit.workflow` | `start_workflow` | Start an automated workflow |
18
19
  | `/speckit.help` | `speckit_help` | Get help and documentation |
19
20
 
20
21
  ## Keyword Commands (Alternative)
@@ -30,6 +31,7 @@ When the user mentions **"speckit:"** followed by a command, or uses these keywo
30
31
  | `speckit: clarify`, `clarifier`, `préciser` | `speckit_clarify` | Clarify requirements |
31
32
  | `speckit: validate`, `valider`, `vérifier` | `speckit_validate` | Validate compliance (security, RGPD, etc.) |
32
33
  | `speckit: memory`, `enrichir la mémoire`, `ajouter au contexte` | `speckit_memory` | Manage project memory |
34
+ | `speckit: workflow feature-standard`, `démarrer workflow` | `start_workflow` | Start an automated workflow |
33
35
  | `speckit: help`, `aide sur speckit`, questions about spec-kit | `speckit_help` | Get help and documentation |
34
36
 
35
37
  ## Getting Help
@@ -113,21 +115,28 @@ After calling a spec-kit tool, follow the instructions in the tool response. The
113
115
  - Specific instructions for what to generate
114
116
  - Suggested next step
115
117
 
116
- ## Automated Workflows (Optional)
118
+ ## Automated Workflows
117
119
 
118
- For multi-step automation, use `start_workflow`:
120
+ Workflows automate multi-step processes. Use `/speckit.workflow` or `start_workflow`:
119
121
 
120
- | User Says | Action |
121
- |-----------|--------|
122
- | `speckit: start_workflow workflow_name="feature-quick"` | Start quick feature workflow (lightweight) |
123
- | `speckit: start_workflow workflow_name="feature-standard" PiP Support` | Start feature workflow for PiP Support |
124
- | `speckit: start_workflow workflow_name="bugfix" auto=true` | Start bugfix workflow in AUTO mode |
122
+ | Workflow | Description |
123
+ |----------|-------------|
124
+ | `feature-quick` | Quick win: spec implement |
125
+ | `feature-standard` | Standard: spec plan tasks → implement |
126
+ | `feature-full` | Complete with security/RGPD validations |
127
+ | `bugfix` | Bug fix with reproduction |
125
128
 
126
- **Auto Mode** (`auto=true`): Proceeds through all steps without asking for user approval. Default is `false` (manual approval required).
129
+ ### Examples
130
+
131
+ - `/speckit.workflow feature-standard Multi-View` → Start standard workflow for "Multi-View"
132
+ - `/speckit.workflow feature-quick` → Start quick workflow
133
+ - `/speckit.workflow bugfix` → Start bugfix workflow
134
+
135
+ **Auto Mode**: Add `auto=true` to proceed without approval prompts.
127
136
 
128
137
  ## Example Interactions
129
138
 
130
- **User**: `/speckit.specify pour un système de notifications push`
139
+ **User**: `/speckit.specify système de notifications push`
131
140
  **Action**: Call `speckit_specify` with `requirements: "système de notifications push"`
132
141
 
133
142
  **User**: `/speckit.plan`
@@ -139,25 +148,13 @@ For multi-step automation, use `start_workflow`:
139
148
  **User**: `/speckit.memory list`
140
149
  **Action**: Call `speckit_memory` with `action: "list"`
141
150
 
142
- **User**: `/speckit.memory ajouter une décision technique`
143
- **Action**: Call `speckit_memory` with `action: "add"`, `category: "decisions"`
144
-
145
- **User**: `/speckit.memory auto`
146
- **Action**: Call `speckit_memory` with `action: "auto"` to auto-enrich from context
147
-
148
151
  **User**: `/speckit.validate security`
149
152
  **Action**: Call `speckit_validate` with `ruleType: "security"`
150
153
 
151
- **User**: `/speckit.validate rgpd phase=spec`
152
- **Action**: Call `speckit_validate` with `ruleType: "rgpd"`, `phase: "spec"`
153
-
154
- **User**: `/speckit.validate architecture-rules`
155
- **Action**: Call `speckit_validate` with `ruleType: "architecture"` (uses custom rules file)
156
-
157
- **User**: `speckit: start_workflow workflow_name="feature-standard" PiP Support auto=true`
158
- **Action**: Call `start_workflow` with `workflow_name: "feature-standard"`, `context_id: "PiP Support"`, `auto: true`
154
+ **User**: `/speckit.workflow feature-standard Multi-View`
155
+ **Action**: Call `start_workflow` with `workflow_name: "feature-standard"`, `context_id: "Multi-View"`
159
156
 
160
- **User**: `/speckit.help comment créer un nouveau workflow ?`
157
+ **User**: `/speckit.help workflows`
161
158
  **Action**: Call `speckit_help` with `topic: "workflows"`
162
159
 
163
160
  **User**: "Comment fonctionne spec-kit ?"
@@ -1,46 +1,73 @@
1
+ ````prompt
1
2
  ---
2
- description: "Obtenir de l'aide sur l'utilisation de Spec-Kit"
3
+ description: "Afficher l'aide et les commandes Spec-Kit disponibles"
3
4
  mode: "agent"
4
5
  tools: ["mcp_spec-kit_speckit_help"]
5
6
  ---
6
7
 
7
8
  # Spec-Kit: Aide
8
9
 
9
- Vous utilisez **Spec-Kit** pour obtenir de l'aide sur le framework.
10
-
11
- ## Instructions
12
-
13
- Appelez l'outil MCP `speckit_help` pour obtenir de l'aide.
10
+ ## Arguments utilisateur
14
11
 
15
12
  ```
16
13
  $ARGUMENTS
17
14
  ```
18
15
 
19
- ## Sujets d'aide disponibles
16
+ ## Instructions
20
17
 
21
- - **workflows** : Comment créer et personnaliser des workflows
22
- - **templates** : Comment utiliser et personnaliser les templates
23
- - **prompts** : Comment modifier les prompts des commandes
24
- - **customization** : Personnalisation avancée de Spec-Kit
25
- - **troubleshooting** : Résolution de problèmes courants
18
+ Affiche l'aide Spec-Kit. Si un sujet est fourni, donne des détails sur ce sujet.
26
19
 
27
- ## Commandes Spec-Kit
20
+ ## 🚀 Commandes Slash Disponibles
28
21
 
29
- | Commande | Description |
22
+ | Commande | Description | Exemple |
23
+ |----------|-------------|---------|
24
+ | `/speckit.specify` | Créer une spécification | `/speckit.specify système de login` |
25
+ | `/speckit.plan` | Créer un plan d'implémentation | `/speckit.plan` |
26
+ | `/speckit.tasks` | Générer les tâches | `/speckit.tasks` |
27
+ | `/speckit.implement` | Implémenter les tâches | `/speckit.implement` ou `/speckit.implement task 3` |
28
+ | `/speckit.clarify` | Clarifier les exigences | `/speckit.clarify` |
29
+ | `/speckit.validate` | Valider conformité (sécurité, RGPD) | `/speckit.validate security` |
30
+ | `/speckit.memory` | Gérer la mémoire projet | `/speckit.memory list` |
31
+ | `/speckit.workflow` | Démarrer un workflow automatisé | `/speckit.workflow feature-standard` |
32
+ | `/speckit.help` | Cette aide | `/speckit.help workflows` |
33
+
34
+ ## 📋 Workflows Automatisés
35
+
36
+ | Workflow | Description |
30
37
  |----------|-------------|
31
- | `/speckit.specify` | Créer une spécification |
32
- | `/speckit.plan` | Créer un plan d'implémentation |
33
- | `/speckit.tasks` | Générer les tâches |
34
- | `/speckit.implement` | Implémenter les tâches |
35
- | `/speckit.clarify` | Clarifier les exigences |
36
- | `/speckit.validate` | Valider la conformité |
37
- | `/speckit.memory` | Gérer la mémoire projet |
38
- | `/speckit.help` | Cette aide |
38
+ | `feature-quick` | Rapide: spec implement |
39
+ | `feature-standard` | Standard: spec plan tasks → implement |
40
+ | `feature-full` | Complet avec validations sécurité/RGPD |
41
+ | `bugfix` | Correction de bug |
42
+
43
+ **Usage:** `/speckit.workflow feature-standard Mon Feature`
39
44
 
40
- ## Workflow typique
45
+ ## 🔄 Workflow Typique
41
46
 
42
47
  ```
43
48
  specify → plan → tasks → implement
44
49
 
45
50
  clarify (si nécessaire)
46
51
  ```
52
+
53
+ ## 📁 Structure du Projet
54
+
55
+ ```
56
+ .spec-kit/
57
+ ├── prompts/ # Personnaliser les commandes
58
+ ├── templates/ # Templates des documents
59
+ ├── memory/ # Constitution projet
60
+ ├── rules/ # Règles de validation
61
+ └── workflows/ # Workflows custom
62
+ specs/ # Specs générées
63
+ ```
64
+
65
+ ## 🎯 Sujets d'Aide
66
+
67
+ - **workflows** : Créer et personnaliser des workflows
68
+ - **templates** : Utiliser et modifier les templates
69
+ - **prompts** : Modifier le comportement des commandes
70
+ - **customization** : Personnalisation avancée
71
+ - **troubleshooting** : Résolution de problèmes
72
+
73
+ ````
@@ -1,90 +1,48 @@
1
1
  ````prompt
2
2
  ---
3
- description: "Gérer les workflows Spec-Kit (lister, démarrer, statut)"
3
+ description: "Démarrer un workflow Spec-Kit automatisé"
4
4
  mode: "agent"
5
- tools: ["mcp_spec-kit_speckit_workflow", "mcp_spec-kit_start_workflow", "mcp_spec-kit_workflow_status"]
5
+ tools: ["mcp_spec-kit_start_workflow", "mcp_spec-kit_workflow_status", "mcp_spec-kit_abort_workflow"]
6
6
  ---
7
7
 
8
- # Spec-Kit: Gestion des Workflows
8
+ # Spec-Kit: Workflows
9
9
 
10
- Vous utilisez **Spec-Kit** pour gérer les workflows multi-étapes.
10
+ Démarre un workflow automatisé multi-étapes.
11
11
 
12
- ## Instructions
13
-
14
- 1. **Appeler l'outil MCP** `speckit_workflow` pour gérer les workflows
15
- 2. **Interpréter les arguments** fournis par l'utilisateur
12
+ ## Arguments utilisateur
16
13
 
17
14
  ```
18
15
  $ARGUMENTS
19
16
  ```
20
17
 
21
- ## Actions disponibles
22
-
23
- ### Lister les workflows
24
- ```
25
- action: "list"
26
- ```
27
-
28
- Affiche tous les workflows disponibles (locaux et intégrés).
29
-
30
- ### Démarrer un workflow
31
- ```
32
- action: "start"
33
- workflow_name: "feature-standard"
34
- context_id: "MonFeature" # Optionnel
35
- auto: false # Optionnel (true = automatique)
36
- ```
37
-
38
- Démarre un workflow multi-étapes. Le workflow guide automatiquement à travers les étapes.
39
-
40
- ### Vérifier le statut
41
- ```
42
- action: "status"
43
- ```
44
-
45
- Affiche l'état du workflow actif (étape en cours, actions complétées).
46
-
47
- ## Workflows intégrés
48
-
49
- | Workflow | Description |
50
- |----------|-------------|
51
- | `feature-quick` | Feature rapide (léger, sans breakdown de tâches) |
52
- | `feature-standard` | Feature standard (spec → plan → tasks → implement) |
53
- | `feature-full` | Feature complète avec validation et tests |
54
- | `bugfix` | Correction de bug avec reproduction |
18
+ ## Comment interpréter
55
19
 
56
- ## Exemples d'utilisation
20
+ 1. **Si l'utilisateur donne un nom de workflow** → Démarrer ce workflow avec `start_workflow`
21
+ 2. **Si l'utilisateur dit "list"** → Lister les workflows disponibles
22
+ 3. **Si l'utilisateur dit "status"** → Vérifier le statut avec `workflow_status`
23
+ 4. **Si l'utilisateur dit "stop" ou "abort"** → Annuler avec `abort_workflow`
57
24
 
58
- ### Utilisateur : "speckit: workflow list"
59
- → Appeler `speckit_workflow` avec `action: "list"`
25
+ ## Workflows disponibles
60
26
 
61
- ### Utilisateur : "speckit: workflow start feature-standard"
62
- → Appeler `speckit_workflow` avec `action: "start"`, `workflow_name: "feature-standard"`
27
+ | Nom | Description |
28
+ |-----|-------------|
29
+ | `feature-quick` | Quick win (spec → implement) |
30
+ | `feature-standard` | Standard (spec → plan → tasks → implement) |
31
+ | `feature-full` | Avec validations sécurité/RGPD |
32
+ | `bugfix` | Correction de bug |
63
33
 
64
- ### Utilisateur : "speckit: workflow start feature-full MyFeature auto"
65
- → Appeler `speckit_workflow` avec:
66
- - `action: "start"`
67
- - `workflow_name: "feature-full"`
68
- - `context_id: "MyFeature"`
69
- - `auto: true`
34
+ ## Exemples
70
35
 
71
- ### Utilisateur : "speckit: workflow status"
72
- Appeler `speckit_workflow` avec `action: "status"`
36
+ - `/speckit.workflow feature-standard Multi-View` `start_workflow` avec `workflow_name="feature-standard"`, `context_id="Multi-View"`
37
+ - `/speckit.workflow list` Afficher la liste des workflows
38
+ - `/speckit.workflow status` → Vérifier le statut
73
39
 
74
- ## Mode automatique
40
+ ## Simplification
75
41
 
76
- Par défaut, les workflows demandent une approbation à chaque étape.
77
-
78
- En mode automatique (`auto: true`), le workflow s'exécute sans interruption.
79
-
80
- ## Workflow typique
81
-
82
- ```
83
- specify → plan → tasks → implement
84
-
85
- clarify (si nécessaire)
86
- ```
42
+ Si l'utilisateur tape juste un nom de workflow sans "start":
43
+ - `/speckit.workflow feature-standard` → Démarrer feature-standard
44
+ - `/speckit.workflow bugfix` Démarrer bugfix
87
45
 
88
- Les workflows orchestrent ces commandes automatiquement.
46
+ Le texte après le nom du workflow devient le `context_id`.
89
47
 
90
48
  ````
@@ -1,12 +1,12 @@
1
1
  # Bugfix Workflow
2
- # Streamlined process for bug fixes with validation checkpoints
2
+ # Structured process for bug fixes
3
3
 
4
4
  name: bugfix
5
5
  displayName: "Bug Fix"
6
6
  description: "Structured workflow for analyzing, fixing, and validating bug corrections"
7
7
 
8
8
  metadata:
9
- version: "1.0"
9
+ version: "2.0"
10
10
  author: "Spec-Kit"
11
11
  tags:
12
12
  - bugfix
@@ -17,31 +17,37 @@ template: bugfix-report.md
17
17
  defaultAgent: SpecAgent
18
18
 
19
19
  steps:
20
+ # Step 1: Analyze Bug
20
21
  - id: analyze-bug
21
- name: "Analyze Bug & Root Cause"
22
- action: fetch_ado
22
+ name: "1. Analyze Bug"
23
+ action: call_agent
24
+ agent: SpecAgent
23
25
  description: |
24
- Retrieve the bug work item from Azure DevOps and analyze:
25
- - Reproduction steps
26
- - Error logs and stack traces
27
- - Affected components
28
- - User impact assessment
26
+ Analyze the bug based on user description:
27
+
28
+ - Understand the symptoms
29
+ - Identify reproduction steps
30
+ - Locate affected components
31
+ - Determine root cause
29
32
 
30
- Identify the root cause of the issue.
33
+ Document findings clearly.
34
+ inputs:
35
+ bug_description: "Description from user"
31
36
  outputs:
32
- - bug_data
33
37
  - root_cause_analysis
34
38
 
39
+ # Step 2: Plan Fix
35
40
  - id: plan-fix
36
- name: "Plan Correction"
41
+ name: "2. Plan Correction"
37
42
  action: call_agent
38
43
  agent: PlanAgent
39
44
  description: |
40
- Create a correction plan including:
45
+ Create a correction plan:
46
+
41
47
  - Proposed fix approach
42
48
  - Files/components to modify
43
49
  - Potential side effects
44
- - Rollback strategy if needed
50
+ - Test cases to verify fix
45
51
 
46
52
  Keep the fix minimal and focused.
47
53
  inputs:
@@ -49,51 +55,36 @@ steps:
49
55
  outputs:
50
56
  - fix_plan
51
57
 
52
- - id: security-check
53
- name: "Security Validation"
54
- action: review
55
- agent: GovAgent
56
- description: |
57
- Quick security review of the proposed fix:
58
- - [ ] No new vulnerabilities introduced
59
- - [ ] Input validation maintained
60
- - [ ] No sensitive data exposure
61
- - [ ] Authentication/Authorization intact
62
- inputs:
63
- document: "fix_plan"
64
- outputs:
65
- - security_clearance
66
-
58
+ # Step 3: Implement Fix
67
59
  - id: implement-fix
68
- name: "Implement & Test"
69
- action: generate_content
60
+ name: "3. Implement Fix"
61
+ action: call_agent
62
+ agent: SpecAgent
70
63
  description: |
71
- Implement the fix following the plan:
72
- 1. Write the code fix
73
- 2. Add unit tests for the bug scenario
74
- 3. Add regression tests
75
- 4. Update documentation if needed
64
+ Implement the bug fix:
76
65
 
77
- Ensure test coverage for the fixed code path.
66
+ - Make minimal changes
67
+ - Follow project conventions
68
+ - Add/update tests
69
+ - Document the fix
78
70
  inputs:
79
- plan: "fix_plan"
71
+ source: "fix_plan"
80
72
  outputs:
81
- - code_changes
82
- - test_cases
73
+ - implementation
83
74
 
84
- - id: final-review
85
- name: "Final Review"
75
+ # Step 4: Verify
76
+ - id: verify-fix
77
+ name: "4. Verify Fix"
86
78
  action: review
87
79
  agent: GovAgent
88
80
  description: |
89
- Final validation before merge:
90
- - [ ] Fix addresses root cause
91
- - [ ] No regression introduced
81
+ Verify the fix is complete:
82
+
83
+ - [ ] Bug is resolved
84
+ - [ ] No regressions introduced
92
85
  - [ ] Tests pass
93
- - [ ] Code review approved
94
- - [ ] Documentation updated
86
+ - [ ] No security issues
95
87
  inputs:
96
- changes: "code_changes"
97
- tests: "test_cases"
88
+ source: "implementation"
98
89
  outputs:
99
- - approval_status
90
+ - verification_report
@@ -1,17 +1,17 @@
1
- # Full Feature Workflow with Governance
2
- # Complete workflow with all validation checkpoints
1
+ # Feature Full Workflow
2
+ # Complete workflow with validation checkpoints
3
3
 
4
4
  name: feature-full
5
- displayName: "Feature with Full Governance"
6
- description: "Complete feature workflow including RGPD, Security, Architecture, Design System, and Testing validations"
5
+ displayName: "Feature with Validation"
6
+ description: "Complete feature workflow with security and RGPD validations"
7
7
 
8
8
  metadata:
9
- version: "1.0"
9
+ version: "2.0"
10
10
  author: "Spec-Kit"
11
11
  tags:
12
12
  - feature
13
13
  - governance
14
- - enterprise
14
+ - validation
15
15
 
16
16
  template: functional-spec.md
17
17
  defaultAgent: SpecAgent
@@ -20,86 +20,40 @@ steps:
20
20
  # ═══════════════════════════════════════════════════════════════
21
21
  # PHASE 1: SPECIFICATION
22
22
  # ═══════════════════════════════════════════════════════════════
23
-
24
- - id: fetch-requirements
25
- name: "1.1 Fetch Requirements"
26
- action: fetch_ado
27
- description: |
28
- Retrieve the Feature work item and all linked items from Azure DevOps.
29
-
30
- Extract:
31
- - Title and description
32
- - Acceptance criteria
33
- - Parent Epic context
34
- - Linked User Stories
35
- - Attachments (mockups, documents)
36
- outputs:
37
- - workitem_data
38
- - linked_items
39
- - attachments
40
23
 
41
- - id: write-spec
42
- name: "1.2 Write Functional Specification"
24
+ - id: create-spec
25
+ name: "1. Create Specification"
43
26
  action: call_agent
44
27
  agent: SpecAgent
45
28
  description: |
46
- Generate a comprehensive functional specification including:
29
+ Create a comprehensive functional specification.
47
30
 
48
- **Functional Requirements**
31
+ Include:
32
+ - Feature summary and objectives
49
33
  - User stories with acceptance criteria
50
- - Business rules
34
+ - Functional requirements
35
+ - Non-functional requirements
51
36
  - Data requirements
37
+ - Dependencies and constraints
52
38
 
53
- **Non-Functional Requirements**
54
- - Performance targets
55
- - Availability requirements
56
- - Scalability needs
57
-
58
- Mark uncertain sections with [TO FILL] for human review.
39
+ Mark unclear sections with [NEEDS CLARIFICATION] for review.
59
40
  inputs:
60
- source: "workitem_data"
41
+ - name: requirements
42
+ description: "Feature description from user"
43
+ required: true
61
44
  outputs:
62
- - functional_spec
45
+ - spec_document
63
46
 
64
47
  # ═══════════════════════════════════════════════════════════════
65
- # PHASE 2: VALIDATION GATES
48
+ # PHASE 2: VALIDATION
66
49
  # ═══════════════════════════════════════════════════════════════
67
50
 
68
- - id: rgpd-review
69
- name: "2.1 🛡️ RGPD Compliance Review"
70
- action: review
71
- agent: GovAgent
72
- description: |
73
- Validate GDPR/RGPD compliance:
74
-
75
- **Data Collection**
76
- - [ ] Personal data identified and documented
77
- - [ ] Legal basis for processing defined
78
- - [ ] Data minimization principle applied
79
-
80
- **User Rights**
81
- - [ ] Right to access implemented
82
- - [ ] Right to rectification supported
83
- - [ ] Right to erasure (RTBF) supported
84
- - [ ] Data portability considered
85
-
86
- **Security & Governance**
87
- - [ ] Data retention period defined
88
- - [ ] Third-party processors identified
89
- - [ ] Privacy by design applied
90
- - [ ] DPIA required? (if high risk)
91
- inputs:
92
- spec: "functional_spec"
93
- outputs:
94
- - rgpd_report
95
- - rgpd_status
96
-
97
51
  - id: security-review
98
- name: "2.2 🔒 Security Review"
52
+ name: "2.1 🔒 Security Review"
99
53
  action: review
100
54
  agent: GovAgent
101
55
  description: |
102
- Security assessment checklist:
56
+ Security assessment based on the specification:
103
57
 
104
58
  **Authentication & Authorization**
105
59
  - [ ] Auth mechanism defined
@@ -107,238 +61,109 @@ steps:
107
61
  - [ ] Session management
108
62
 
109
63
  **Data Protection**
110
- - [ ] Encryption at rest
111
- - [ ] Encryption in transit (TLS)
64
+ - [ ] Encryption requirements
112
65
  - [ ] Sensitive data handling
113
66
 
114
67
  **Input/Output Security**
115
68
  - [ ] Input validation strategy
116
69
  - [ ] Output encoding
117
- - [ ] SQL injection prevention
118
- - [ ] XSS prevention
119
- - [ ] CSRF protection
70
+ - [ ] Injection prevention
120
71
 
121
- **Infrastructure**
122
- - [ ] Secrets management
123
- - [ ] Logging (without PII)
124
- - [ ] Rate limiting
125
- - [ ] DDoS considerations
72
+ Identify any security concerns and recommendations.
126
73
  inputs:
127
- spec: "functional_spec"
74
+ spec: "spec_document"
128
75
  outputs:
129
76
  - security_report
130
- - security_status
131
77
 
132
- - id: architecture-review
133
- name: "2.3 🏗️ Architecture Review"
134
- action: review
135
- agent: GovAgent
136
- description: |
137
- Architecture validation:
138
-
139
- **Consistency**
140
- - [ ] Aligns with existing architecture
141
- - [ ] Follows established patterns
142
- - [ ] Uses approved technologies
143
-
144
- **Quality Attributes**
145
- - [ ] Scalability addressed
146
- - [ ] Performance requirements met
147
- - [ ] Reliability/Availability design
148
- - [ ] Maintainability considered
149
-
150
- **Technical Debt**
151
- - [ ] No unnecessary complexity
152
- - [ ] Reuses existing components
153
- - [ ] Technical debt acceptable
154
-
155
- **Integration**
156
- - [ ] API contracts defined
157
- - [ ] Event/message schemas
158
- - [ ] Database changes documented
159
- inputs:
160
- spec: "functional_spec"
161
- outputs:
162
- - architecture_report
163
- - architecture_status
164
-
165
- - id: design-review
166
- name: "2.4 🎨 Design System Review"
78
+ - id: rgpd-review
79
+ name: "2.2 🛡️ RGPD Review"
167
80
  action: review
168
81
  agent: GovAgent
169
82
  description: |
170
- Design System compliance (if UI involved):
83
+ GDPR/RGPD compliance check:
171
84
 
172
- **Components**
173
- - [ ] Uses Design System components
174
- - [ ] No unauthorized custom components
175
- - [ ] Proper component composition
176
-
177
- **Visual Consistency**
178
- - [ ] Color tokens used correctly
179
- - [ ] Typography follows guidelines
180
- - [ ] Spacing uses standard scale
181
- - [ ] Icons from approved library
182
-
183
- **Accessibility (WCAG 2.1 AA)**
184
- - [ ] Color contrast ratios
185
- - [ ] Keyboard navigation
186
- - [ ] Screen reader support
187
- - [ ] Focus indicators
85
+ **Data Collection**
86
+ - [ ] Personal data identified
87
+ - [ ] Legal basis for processing
88
+ - [ ] Data minimization applied
188
89
 
189
- **Responsive Design**
190
- - [ ] Mobile breakpoints defined
191
- - [ ] Touch targets adequate
192
- - [ ] Dark mode support (if applicable)
90
+ **User Rights**
91
+ - [ ] Right to access
92
+ - [ ] Right to rectification
93
+ - [ ] Right to erasure
94
+
95
+ **Governance**
96
+ - [ ] Data retention period
97
+ - [ ] Third-party processors
98
+ - [ ] Privacy by design
193
99
  inputs:
194
- spec: "functional_spec"
100
+ spec: "spec_document"
195
101
  outputs:
196
- - design_report
197
- - design_status
102
+ - rgpd_report
198
103
 
199
104
  # ═══════════════════════════════════════════════════════════════
200
- # PHASE 3: TECHNICAL PLANNING
105
+ # PHASE 3: PLANNING
201
106
  # ═══════════════════════════════════════════════════════════════
202
107
 
203
- - id: technical-plan
204
- name: "3.1 Technical Planning"
108
+ - id: create-plan
109
+ name: "3. Create Implementation Plan"
205
110
  action: call_agent
206
111
  agent: PlanAgent
207
112
  description: |
208
- Create detailed technical plan:
113
+ Create a detailed implementation plan incorporating validation feedback.
209
114
 
210
- **Architecture Decisions**
115
+ Include:
116
+ - Technical approach
211
117
  - Components to create/modify
212
- - Database schema changes
213
- - API endpoints
214
- - Integration points
215
-
216
- **Task Breakdown**
217
- - Granular tasks (1-3 days each)
218
- - Clear acceptance criteria
219
- - Dependencies mapped
220
- - Effort estimates (S/M/L/XL)
221
-
222
- **Risk Mitigation**
223
- - Technical risks identified
224
- - Mitigation strategies
225
- - Spike tasks if needed
226
- inputs:
227
- spec: "functional_spec"
228
- reviews: ["rgpd_report", "security_report", "architecture_report"]
229
- outputs:
230
- - technical_plan
231
- - task_list
232
-
233
- - id: test-strategy
234
- name: "3.2 🧪 Test Strategy"
235
- action: call_agent
236
- agent: TestAgent
237
- description: |
238
- Define comprehensive test strategy:
239
-
240
- **Unit Tests**
241
- - Critical business logic
242
- - Edge cases
243
- - Error handling
244
- - Target: >80% coverage
245
-
246
- **Integration Tests**
247
- - API contracts
248
- - Database operations
249
- - External service mocks
250
-
251
- **E2E Tests**
252
- - Critical user journeys
253
- - Happy path scenarios
254
- - Key error scenarios
255
-
256
- **Non-Functional Tests**
257
- - Performance benchmarks
258
- - Load testing thresholds
259
- - Security scan requirements
118
+ - Security measures to implement
119
+ - RGPD compliance measures
120
+ - Dependencies and order
121
+ - Risk assessment
260
122
  inputs:
261
- spec: "functional_spec"
262
- plan: "technical_plan"
123
+ spec: "spec_document"
124
+ reviews: ["security_report", "rgpd_report"]
263
125
  outputs:
264
- - test_strategy
265
- - test_cases
126
+ - plan_document
266
127
 
267
128
  # ═══════════════════════════════════════════════════════════════
268
- # PHASE 4: DOCUMENTATION & FINALIZATION
129
+ # PHASE 4: TASKS
269
130
  # ═══════════════════════════════════════════════════════════════
270
131
 
271
- - id: documentation
272
- name: "4.1 📚 Documentation Plan"
273
- action: generate_content
132
+ - id: generate-tasks
133
+ name: "4. Generate Tasks"
134
+ action: call_agent
135
+ agent: PlanAgent
274
136
  description: |
275
- Identify documentation needs:
276
-
277
- **User Documentation**
278
- - [ ] User guide updates
279
- - [ ] FAQ additions
280
- - [ ] Tutorial/walkthrough
137
+ Break down the plan into atomic tasks.
281
138
 
282
- **Technical Documentation**
283
- - [ ] API documentation
284
- - [ ] Architecture Decision Record (ADR)
285
- - [ ] Runbook updates
286
- - [ ] README updates
287
-
288
- **Release Documentation**
289
- - [ ] Changelog entry
290
- - [ ] Release notes
291
- - [ ] Migration guide (if breaking changes)
139
+ Each task should:
140
+ - Be completable in 1-2 hours
141
+ - Have clear acceptance criteria
142
+ - Include security/RGPD considerations
143
+ - Be independently testable
292
144
  inputs:
293
- spec: "functional_spec"
294
- plan: "technical_plan"
145
+ source: "plan_document"
295
146
  outputs:
296
- - documentation_plan
147
+ - tasks_document
297
148
 
298
- - id: final-approval
299
- name: "4.2 Final Approval Gate"
300
- action: review
301
- agent: GovAgent
302
- description: |
303
- Final checklist before development starts:
304
-
305
- **Specification**
306
- - [ ] Functional spec complete and approved
307
- - [ ] All [TO FILL] sections resolved
308
- - [ ] Stakeholder sign-off obtained
309
-
310
- **Compliance**
311
- - [ ] RGPD review: PASSED
312
- - [ ] Security review: PASSED
313
- - [ ] Architecture review: PASSED
314
- - [ ] Design review: PASSED (if applicable)
315
-
316
- **Planning**
317
- - [ ] Technical plan approved
318
- - [ ] Tasks created in ADO
319
- - [ ] Test strategy defined
320
- - [ ] Documentation plan ready
321
-
322
- **Ready for Development** ✅
323
- inputs:
324
- all_artifacts: true
325
- outputs:
326
- - final_approval
327
- - development_ready
149
+ # ═══════════════════════════════════════════════════════════════
150
+ # PHASE 5: IMPLEMENTATION
151
+ # ═══════════════════════════════════════════════════════════════
328
152
 
329
- - id: create-tasks
330
- name: "4.3 Create ADO Work Items"
331
- action: create_file
153
+ - id: implement
154
+ name: "5. Implement"
155
+ action: call_agent
156
+ agent: SpecAgent
332
157
  description: |
333
- Generate Azure DevOps work items:
334
- - Create Tasks from technical plan
335
- - Link to parent Feature
336
- - Set estimates and priorities
337
- - Assign to sprint
338
-
339
- Output format ready for ADO import or manual creation.
158
+ Implement the tasks following security and RGPD guidelines.
159
+
160
+ For each task:
161
+ - Implement following project conventions
162
+ - Apply security measures
163
+ - Ensure RGPD compliance
164
+ - Write appropriate tests
165
+ - Update task status when complete
340
166
  inputs:
341
- tasks: "task_list"
342
- feature_id: "context_id"
167
+ source: "tasks_document"
343
168
  outputs:
344
- - ado_work_items
169
+ - implementation
@@ -1,92 +1,96 @@
1
1
  # Feature Standard Workflow
2
- # Used for creating functional specifications from Azure DevOps Feature work items
2
+ # Standard workflow: spec plan tasks implement
3
3
 
4
4
  name: feature-standard
5
- displayName: "Feature Specification"
6
- description: "Creates a complete functional specification document from an Azure DevOps Feature work item"
5
+ displayName: "Standard Feature"
6
+ description: "Standard feature workflow: specification plan tasks implementation"
7
7
 
8
8
  metadata:
9
- version: "1.0"
9
+ version: "2.0"
10
10
  author: "Spec-Kit"
11
11
  tags:
12
12
  - feature
13
13
  - specification
14
- - functional
14
+ - standard
15
15
 
16
16
  template: functional-spec.md
17
17
  defaultAgent: SpecAgent
18
18
 
19
19
  steps:
20
- - id: fetch-workitem
21
- name: "Fetch Azure DevOps Work Item"
22
- action: fetch_ado
23
- description: |
24
- Retrieve the Feature work item from Azure DevOps.
25
- Extract: Title, Description, Acceptance Criteria, Tags, Links, and Parent/Child relationships.
26
- outputs:
27
- - workitem_data
28
- - linked_items
29
-
30
- - id: analyze-requirements
31
- name: "Analyze Requirements"
20
+ # Step 1: Create Specification
21
+ - id: create-spec
22
+ name: "1. Create Specification"
32
23
  action: call_agent
33
24
  agent: SpecAgent
34
25
  description: |
35
- Analyze the work item data to identify:
36
- - Core functional requirements
37
- - Non-functional requirements (performance, security, etc.)
38
- - User personas and use cases
26
+ Create a functional specification based on user requirements.
27
+
28
+ Include:
29
+ - Feature summary and objectives
30
+ - User stories with acceptance criteria
31
+ - Functional requirements
32
+ - Non-functional requirements (if applicable)
39
33
  - Dependencies and constraints
40
- - Risks and assumptions
34
+
35
+ Mark unclear sections with [NEEDS CLARIFICATION] for review.
41
36
  inputs:
42
- source: "workitem_data"
37
+ - name: requirements
38
+ description: "Feature description from user"
39
+ required: true
43
40
  outputs:
44
- - requirements_analysis
41
+ - spec_document
45
42
 
46
- - id: generate-spec
47
- name: "Generate Specification Document"
48
- action: generate_content
49
- agent: SpecAgent
43
+ # Step 2: Create Implementation Plan
44
+ - id: create-plan
45
+ name: "2. Create Implementation Plan"
46
+ action: call_agent
47
+ agent: PlanAgent
50
48
  description: |
51
- Using the template and analyzed requirements, generate the functional specification.
49
+ Create a detailed implementation plan based on the specification.
52
50
 
53
- Guidelines:
54
- - Fill all sections with available data
55
- - Mark unclear sections with [TO FILL] for human review
56
- - Include traceability links to Azure DevOps
57
- - Follow the template structure strictly
51
+ Include:
52
+ - Technical approach
53
+ - Components to create/modify
54
+ - Dependencies and order
55
+ - Risk assessment
56
+ - Estimated effort
58
57
  inputs:
59
- template: "functional-spec.md"
60
- data: "requirements_analysis"
58
+ source: "spec_document"
61
59
  outputs:
62
- - spec_document
60
+ - plan_document
63
61
 
64
- - id: review-spec
65
- name: "Review & Validate"
66
- action: review
67
- agent: GovAgent
62
+ # Step 3: Generate Task Breakdown
63
+ - id: generate-tasks
64
+ name: "3. Generate Tasks"
65
+ action: call_agent
66
+ agent: PlanAgent
68
67
  description: |
69
- Review the generated specification for:
70
- - Completeness (all required sections filled)
71
- - Consistency (no contradictions)
72
- - Clarity (understandable by all stakeholders)
73
- - Traceability (links to source requirements)
68
+ Break down the plan into atomic, actionable tasks.
74
69
 
75
- Suggest improvements if needed.
70
+ Each task should:
71
+ - Be completable in 1-2 hours
72
+ - Have clear acceptance criteria
73
+ - Be independent when possible
74
+ - Include file paths if known
76
75
  inputs:
77
- document: "spec_document"
76
+ source: "plan_document"
78
77
  outputs:
79
- - review_feedback
80
- - validated_spec
78
+ - tasks_document
81
79
 
82
- - id: create-file
83
- name: "Save Specification"
84
- action: create_file
80
+ # Step 4: Implement
81
+ - id: implement
82
+ name: "4. Implement"
83
+ action: call_agent
84
+ agent: SpecAgent
85
85
  description: |
86
- Save the validated specification as a Markdown file.
87
- Suggested location: `specs/{workitem_id}-functional-spec.md`
86
+ Implement the tasks one by one.
87
+
88
+ For each task:
89
+ - Read the task description
90
+ - Implement following project conventions
91
+ - Update task status when complete
92
+ - Proceed to next task
88
93
  inputs:
89
- content: "validated_spec"
90
- filename_pattern: "{context_id}-functional-spec.md"
94
+ source: "tasks_document"
91
95
  outputs:
92
- - file_path
96
+ - implementation