smart-spec-kit-mcp 2.1.1 → 2.1.3

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.
@@ -13,6 +13,7 @@ const SPEC_KIT_DIR = ".spec-kit";
13
13
  const PROMPTS_DIR = "prompts";
14
14
  const TEMPLATES_DIR = "templates";
15
15
  const MEMORY_DIR = "memory";
16
+ const RULES_DIR = "rules";
16
17
  const SPECS_DIR = "specs";
17
18
  /**
18
19
  * Get the package root directory (where the npm package is installed)
@@ -166,7 +167,26 @@ export async function installStarterKit(projectPath, options = {}) {
166
167
  }
167
168
  }
168
169
  }
169
- // 4. Create specs/ directory
170
+ // 4. Install rules to .spec-kit/rules/
171
+ const rulesSrc = path.join(starterKitPath, "rules");
172
+ const rulesDest = path.join(projectPath, SPEC_KIT_DIR, RULES_DIR);
173
+ if (await exists(rulesSrc)) {
174
+ const rulesExist = await exists(rulesDest);
175
+ if (rulesExist && !options.force) {
176
+ result.skipped.push(`${SPEC_KIT_DIR}/${RULES_DIR}`);
177
+ }
178
+ else {
179
+ try {
180
+ await copyDir(rulesSrc, rulesDest);
181
+ result.created.push(`${SPEC_KIT_DIR}/${RULES_DIR}`);
182
+ }
183
+ catch (error) {
184
+ result.errors.push(`Failed to copy rules: ${error}`);
185
+ result.success = false;
186
+ }
187
+ }
188
+ }
189
+ // 5. Create specs/ directory
170
190
  const specsDir = path.join(projectPath, SPECS_DIR);
171
191
  if (!(await exists(specsDir))) {
172
192
  try {
@@ -179,7 +199,19 @@ export async function installStarterKit(projectPath, options = {}) {
179
199
  result.errors.push(`Failed to create specs directory: ${error}`);
180
200
  }
181
201
  }
182
- // 5. Generate VS Code MCP configuration
202
+ // Create specs/validations/ directory for validation reports
203
+ const validationsDir = path.join(specsDir, "validations");
204
+ if (!(await exists(validationsDir))) {
205
+ try {
206
+ await fs.mkdir(validationsDir, { recursive: true });
207
+ await fs.writeFile(path.join(validationsDir, ".gitkeep"), "");
208
+ result.created.push(`${SPECS_DIR}/validations`);
209
+ }
210
+ catch (error) {
211
+ // Non-blocking error
212
+ }
213
+ }
214
+ // 6. Generate VS Code MCP configuration
183
215
  if (!options.skipVsCode) {
184
216
  result.vsCodeConfig = generateVsCodeConfig();
185
217
  }
@@ -238,16 +270,21 @@ export function formatInstallReport(result, projectPath) {
238
270
  report += "├── .github/\n";
239
271
  report += "│ └── copilot-instructions.md # Instructions for Copilot\n";
240
272
  report += "├── .spec-kit/\n";
241
- report += "│ ├── prompts/ # Prompt-as-code files (read by MCP)\n";
273
+ report += "│ ├── prompts/ # Customizable prompts (read by MCP)\n";
242
274
  report += "│ │ ├── specify.md\n";
243
275
  report += "│ │ ├── plan.md\n";
244
276
  report += "│ │ ├── tasks.md\n";
245
277
  report += "│ │ ├── implement.md\n";
246
- report += "│ │ └── clarify.md\n";
278
+ report += "│ │ ├── clarify.md\n";
279
+ report += "│ │ └── validate.md\n";
247
280
  report += "│ ├── templates/ # Specification templates\n";
281
+ report += "│ ├── rules/ # Validation rules (security, RGPD)\n";
282
+ report += "│ │ ├── security-rules.md\n";
283
+ report += "│ │ └── rgpd-rules.md\n";
248
284
  report += "│ └── memory/ # Project context\n";
249
285
  report += "│ └── constitution.md # Project principles\n";
250
- report += "└── specs/ # Generated specifications\n";
286
+ report += "├── specs/ # Generated specifications\n";
287
+ report += "│ └── validations/ # Validation reports\n";
251
288
  report += "```\n\n";
252
289
  report += "## VS Code Configuration\n\n";
253
290
  report += "Add this to your `.vscode/settings.json` to enable MCP tools:\n\n";
@@ -256,11 +293,14 @@ export function formatInstallReport(result, projectPath) {
256
293
  report += "\n```\n\n";
257
294
  report += "## Next Steps\n\n";
258
295
  report += "1. **Edit your constitution**: `.spec-kit/memory/constitution.md`\n";
259
- report += "2. **Use spec-kit commands** in Copilot Chat:\n";
296
+ report += "2. **Customize validation rules**: `.spec-kit/rules/`\n";
297
+ report += "3. **Use spec-kit commands** in Copilot Chat:\n";
260
298
  report += " - `speckit: spec` - Create a specification\n";
261
299
  report += " - `speckit: plan` - Create implementation plan\n";
262
300
  report += " - `speckit: tasks` - Generate task breakdown\n";
263
- report += " - `speckit: implement` - Start implementation\n\n";
301
+ report += " - `speckit: implement` - Start implementation\n";
302
+ report += " - `speckit: validate security` - Validate against security rules\n";
303
+ report += " - `speckit: validate rgpd` - Validate against RGPD rules\n\n";
264
304
  report += "## Available Commands\n\n";
265
305
  report += "| Command | Description |\n";
266
306
  report += "|---------|-------------|\n";
@@ -269,6 +309,9 @@ export function formatInstallReport(result, projectPath) {
269
309
  report += "| `speckit: plan` | Create technical implementation plan |\n";
270
310
  report += "| `speckit: tasks` | Generate task breakdown |\n";
271
311
  report += "| `speckit: implement` | Execute implementation tasks |\n";
312
+ report += "| `speckit: validate` | Validate against customizable rules |\n";
313
+ report += "| `speckit: memory` | Manage project memory and context |\n";
314
+ report += "| `speckit: help` | Get help and documentation |\n";
272
315
  return report;
273
316
  }
274
317
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"starterKitInstaller.js","sourceRoot":"","sources":["../../src/utils/starterKitInstaller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"starterKitInstaller.js","sourceRoot":"","sources":["../../src/utils/starterKitInstaller.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ This is the comprehensive documentation for Spec-Kit. Copilot can read this file
4
4
 
5
5
  ## Overview
6
6
 
7
- Spec-Kit is an MCP (Model Context Protocol) server that provides **Prompt-as-Code** functionality for specification-driven development. It integrates with GitHub Copilot in VS Code to guide developers through creating specifications, plans, tasks, and implementation.
7
+ Spec-Kit is an MCP (Model Context Protocol) server that provides **customizable prompts** and workflow orchestration for specification-driven development. It integrates with GitHub Copilot in VS Code to guide developers through creating specifications, plans, tasks, and implementation.
8
8
 
9
9
  ## Architecture
10
10
 
@@ -20,9 +20,9 @@ Spec-Kit is an MCP (Model Context Protocol) server that provides **Prompt-as-Cod
20
20
  - Defines command keywords and aliases
21
21
 
22
22
  3. **Prompts** (`.spec-kit/prompts/`)
23
- - Prompt-as-Code files read by MCP tools
23
+ - Customizable prompt files read by MCP tools
24
24
  - Define behavior for each command
25
- - Customizable per project
25
+ - Versioned and maintainable in your project
26
26
 
27
27
  4. **Templates** (`.spec-kit/templates/`)
28
28
  - Document templates for specs, plans, tasks
@@ -50,6 +50,7 @@ Spec-Kit is an MCP (Model Context Protocol) server that provides **Prompt-as-Cod
50
50
  **Triggers**: `speckit: spec`, `speckit: specify`, `créer une spec`
51
51
 
52
52
  **Parameters** (all optional):
53
+
53
54
  - `requirements`: What you want to build. Can be:
54
55
  - A feature description: "user authentication with email/password"
55
56
  - A user story: "As a user, I want to..."
@@ -57,13 +58,15 @@ Spec-Kit is an MCP (Model Context Protocol) server that provides **Prompt-as-Cod
57
58
  - `contextId`: ID for the specification filename
58
59
 
59
60
  **Examples**:
60
- ```
61
+
62
+ ```text
61
63
  speckit: spec
62
64
  speckit: spec pour un système de notifications push
63
65
  speckit: spec user authentication with OAuth
64
66
  ```
65
67
 
66
68
  **Behavior**:
69
+
67
70
  1. Loads prompt from `.spec-kit/prompts/specify.md`
68
71
  2. Loads constitution from `.spec-kit/memory/constitution.md`
69
72
  3. Loads template from `.spec-kit/templates/functional-spec.md`
@@ -77,15 +80,18 @@ speckit: spec user authentication with OAuth
77
80
  **Triggers**: `speckit: plan`, `planifier`, `créer un plan`
78
81
 
79
82
  **Parameters** (all optional):
83
+
80
84
  - `specPath`: Path to specification file (auto-detects most recent if not provided)
81
85
 
82
86
  **Examples**:
83
- ```
87
+
88
+ ```text
84
89
  speckit: plan
85
90
  speckit: plan pour la spec specs/auth-spec.md
86
91
  ```
87
92
 
88
93
  **Behavior**:
94
+
89
95
  1. Finds the most recent specification in `specs/`
90
96
  2. Loads prompt from `.spec-kit/prompts/plan.md`
91
97
  3. Returns context for generating the plan
@@ -98,15 +104,18 @@ speckit: plan pour la spec specs/auth-spec.md
98
104
  **Triggers**: `speckit: tasks`, `générer les tâches`, `créer les tâches`
99
105
 
100
106
  **Parameters** (all optional):
107
+
101
108
  - `planPath`: Path to plan file (auto-detects most recent if not provided)
102
109
 
103
110
  **Examples**:
104
- ```
111
+
112
+ ```text
105
113
  speckit: tasks
106
114
  speckit: générer les tâches
107
115
  ```
108
116
 
109
117
  **Behavior**:
118
+
110
119
  1. Finds the most recent plan in `specs/`
111
120
  2. Loads prompt from `.spec-kit/prompts/tasks.md`
112
121
  3. Returns context for generating tasks
@@ -119,16 +128,19 @@ speckit: générer les tâches
119
128
  **Triggers**: `speckit: implement`, `implémenter`, `coder`
120
129
 
121
130
  **Parameters** (all optional):
131
+
122
132
  - `taskId`: Specific task ID to implement (picks next pending if not provided)
123
133
 
124
134
  **Examples**:
125
- ```
135
+
136
+ ```text
126
137
  speckit: implement
127
138
  speckit: implement task 3
128
139
  speckit: implémenter la tâche 5
129
140
  ```
130
141
 
131
142
  **Behavior**:
143
+
132
144
  1. Loads tasks from `specs/tasks.md`
133
145
  2. Finds next pending task (or specified task)
134
146
  3. Loads prompt from `.spec-kit/prompts/implement.md`
@@ -142,16 +154,19 @@ speckit: implémenter la tâche 5
142
154
  **Triggers**: `speckit: clarify`, `clarifier`, `préciser`
143
155
 
144
156
  **Parameters** (all optional):
157
+
145
158
  - `specPath`: Path to specification (auto-detects if not provided)
146
159
  - `questions`: Specific questions to clarify
147
160
 
148
161
  **Examples**:
149
- ```
162
+
163
+ ```text
150
164
  speckit: clarify
151
165
  speckit: clarifier les critères d'acceptation
152
166
  ```
153
167
 
154
168
  **Behavior**:
169
+
155
170
  1. Finds `[NEEDS CLARIFICATION]` markers
156
171
  2. Loads prompt from `.spec-kit/prompts/clarify.md`
157
172
  3. Returns targeted questions for stakeholders
@@ -163,16 +178,19 @@ speckit: clarifier les critères d'acceptation
163
178
  **Triggers**: `speckit: help`, `aide sur speckit`
164
179
 
165
180
  **Parameters** (all optional):
181
+
166
182
  - `topic`: Specific topic to get help on
167
183
 
168
184
  **Examples**:
169
- ```
185
+
186
+ ```text
170
187
  speckit: help
171
188
  speckit: help workflows
172
189
  speckit: help comment créer un template ?
173
190
  ```
174
191
 
175
192
  **Topics covered**:
193
+
176
194
  - Commands and usage
177
195
  - Customization (prompts, templates, workflows)
178
196
  - Troubleshooting
@@ -185,6 +203,7 @@ speckit: help comment créer un template ?
185
203
  **Triggers**: `speckit: memory`, `enrichir la mémoire`, `ajouter au contexte`
186
204
 
187
205
  **Parameters** (all optional):
206
+
188
207
  - `action`: Action to perform
189
208
  - `add` - Add new memory file (default)
190
209
  - `update` - Update existing memory file
@@ -195,7 +214,8 @@ speckit: help comment créer un template ?
195
214
  - `category`: Category for organizing (`decisions`, `conventions`, `architecture`, `learnings`, `context`)
196
215
 
197
216
  **Examples**:
198
- ```
217
+
218
+ ```text
199
219
  speckit: memory list
200
220
  speckit: memory add decisions
201
221
  speckit: memory auto
@@ -204,6 +224,7 @@ speckit: memory ajouter une décision technique
204
224
  ```
205
225
 
206
226
  **Memory Categories**:
227
+
207
228
  - **decisions** - Technical and architectural decisions
208
229
  - **conventions** - Coding standards and patterns
209
230
  - **architecture** - System design and structure
@@ -212,10 +233,94 @@ speckit: memory ajouter une décision technique
212
233
  - **glossary** - Domain terms and definitions
213
234
 
214
235
  **Behavior**:
236
+
215
237
  1. Lists, creates, or updates files in `.spec-kit/memory/`
216
238
  2. Structures content with dates and context
217
239
  3. Auto mode analyzes conversation to extract insights
218
240
 
241
+ ### speckit_validate
242
+
243
+ **Purpose**: Validate compliance against customizable rules (security, RGPD, architecture, etc.).
244
+
245
+ **Triggers**: `speckit: validate`, `valider`, `vérifier`
246
+
247
+ **Parameters** (all optional):
248
+
249
+ - `ruleType`: Type of validation to perform
250
+ - `security` - Validate against security rules (OWASP, encryption, auth...)
251
+ - `rgpd` - Validate GDPR compliance
252
+ - Custom rule file name (e.g., `architecture-rules`)
253
+ - `phase`: Phase being validated
254
+ - `spec` - Validating a specification
255
+ - `plan` - Validating a plan
256
+ - `implementation` - Validating code
257
+ - `targetPath`: Path to the file/folder to validate
258
+
259
+ **Examples**:
260
+
261
+ ```text
262
+ speckit: validate security
263
+ speckit: validate rgpd phase=spec
264
+ speckit: valider la sécurité du code
265
+ speckit: vérifier conformité RGPD
266
+ speckit: validate architecture-rules
267
+ ```
268
+
269
+ **Behavior**:
270
+
271
+ 1. Loads rules from `.spec-kit/rules/{ruleType}-rules.md`
272
+ 2. Loads validation prompt from `.spec-kit/prompts/validate.md`
273
+ 3. Analyzes target against each rule
274
+ 4. Generates validation report with checklist
275
+ 5. Output saved to `specs/validations/{ruleType}-validation-{date}.md`
276
+
277
+ **Available Rules** (default):
278
+
279
+ | Rule Type | File | Description |
280
+ |-----------|------|-------------|
281
+ | `security` | `security-rules.md` | OWASP Top 10, authentication, encryption, API security |
282
+ | `rgpd` | `rgpd-rules.md` | GDPR Articles 6, 12-22, 28, 30, 32, 35 compliance |
283
+
284
+ **Creating Custom Rules**:
285
+
286
+ Create a new file in `.spec-kit/rules/`:
287
+
288
+ ```markdown
289
+ # .spec-kit/rules/my-custom-rules.md
290
+
291
+ # My Custom Rules
292
+
293
+ ## Category 1
294
+
295
+ - [ ] **RULE-001**: Rule description
296
+ - Details about the rule
297
+ - How to check compliance
298
+
299
+ - [ ] **RULE-002**: Another rule
300
+ - Details
301
+ ```
302
+
303
+ Then use: `speckit: validate my-custom`
304
+
305
+ **Validation Report Format**:
306
+
307
+ ```markdown
308
+ # Validation Report: Security
309
+
310
+ **Date**: 2024-01-15
311
+ **Phase**: implementation
312
+ **Target**: src/auth/
313
+
314
+ ## Summary
315
+ - ✅ Compliant: 8
316
+ - ⚠️ Partial: 2
317
+ - ❌ Non-compliant: 1
318
+ - ➖ Not applicable: 1
319
+
320
+ ## Detailed Results
321
+ ...
322
+ ```
323
+
219
324
  ---
220
325
 
221
326
  ## Customization Guide
@@ -288,12 +393,14 @@ steps:
288
393
  ```
289
394
 
290
395
  **Available actions**:
396
+
291
397
  - `call_agent` - Call an AI agent
292
398
  - `fetch_ado` - Fetch Azure DevOps work item
293
399
  - `save_artifact` - Save to file
294
400
  - `validate` - Validate output
295
401
 
296
402
  **Available agents**:
403
+
297
404
  - `SpecAgent` - Writes specifications
298
405
  - `PlanAgent` - Creates plans
299
406
  - `GovAgent` - Validates governance
@@ -336,6 +443,7 @@ The constitution defines project principles. Edit `.spec-kit/memory/constitution
336
443
  ### Commands Not Working
337
444
 
338
445
  1. **Check MCP configuration** in `.vscode/settings.json`:
446
+
339
447
  ```json
340
448
  {
341
449
  "mcp": {
@@ -356,6 +464,7 @@ The constitution defines project principles. Edit `.spec-kit/memory/constitution
356
464
  ### Setup Not Finding Files
357
465
 
358
466
  Run setup with the project path:
467
+
359
468
  ```bash
360
469
  npx smart-spec-kit-mcp setup --project /path/to/project
361
470
  ```
@@ -365,6 +474,7 @@ npx smart-spec-kit-mcp setup --project /path/to/project
365
474
  1. Check files exist in `.spec-kit/prompts/`
366
475
  2. Ensure valid Markdown format
367
476
  3. Run setup again to reinstall:
477
+
368
478
  ```bash
369
479
  npx smart-spec-kit-mcp setup --project . --force
370
480
  ```
@@ -378,11 +488,29 @@ npx smart-spec-kit-mcp setup --project . --force
378
488
 
379
489
  ## Workflow Reference
380
490
 
491
+ ### feature-quick
492
+
493
+ Lightweight workflow for quick wins and simple features.
494
+
495
+ **Best for**: Small features, quick wins, simple changes
496
+
497
+ **Steps**:
498
+
499
+ 1. Quick spec (minimal documentation)
500
+ 2. Implement directly
501
+ 3. Auto-update memory
502
+
503
+ **Example**:
504
+ ```text
505
+ speckit: start_workflow workflow_name="feature-quick"
506
+ ```
507
+
381
508
  ### feature-standard
382
509
 
383
510
  Standard feature specification workflow.
384
511
 
385
512
  **Steps**:
513
+
386
514
  1. Fetch requirements
387
515
  2. Generate specification
388
516
  3. Create plan
@@ -394,6 +522,7 @@ Standard feature specification workflow.
394
522
  Complete workflow with governance.
395
523
 
396
524
  **Steps**:
525
+
397
526
  1. Fetch requirements
398
527
  2. Generate specification
399
528
  3. Security review
@@ -410,6 +539,7 @@ Complete workflow with governance.
410
539
  Bug fix workflow.
411
540
 
412
541
  **Steps**:
542
+
413
543
  1. Fetch bug report
414
544
  2. Root cause analysis
415
545
  3. Fix plan
@@ -418,6 +548,47 @@ Bug fix workflow.
418
548
 
419
549
  ---
420
550
 
551
+ ## Auto-Memory Enrichment
552
+
553
+ After each feature or bugfix implementation, Spec-Kit **automatically** enriches project memory with relevant learnings.
554
+
555
+ ### What Gets Captured
556
+
557
+ | Category | File | Content |
558
+ |----------|------|---------|
559
+ | **Decisions** | `decisions.md` | Architectural and technical decisions |
560
+ | **Conventions** | `conventions.md` | Coding patterns and standards |
561
+ | **Learnings** | `learnings.md` | Lessons learned, gotchas, insights |
562
+
563
+ ### Memory Entry Format
564
+
565
+ ```markdown
566
+ ## {Type}: {Title}
567
+ **Date:** YYYY-MM-DD
568
+ **Context:** Which task/feature triggered this
569
+ **Description:** What was decided/learned
570
+ **Rationale:** Why - the reasoning behind it
571
+ ```
572
+
573
+ ### Example Entry
574
+
575
+ ```markdown
576
+ ## Decision: Use Repository Pattern for Data Access
577
+ **Date:** 2024-01-30
578
+ **Context:** Task #3 - Implement user authentication
579
+ **Description:** Created UserRepository interface with InMemory and SQL implementations
580
+ **Rationale:** Allows easy testing and future database changes without affecting business logic
581
+ ```
582
+
583
+ ### Benefits
584
+
585
+ - **Knowledge retention**: Project learnings are preserved
586
+ - **Onboarding**: New team members can learn from history
587
+ - **Consistency**: Decisions are documented and traceable
588
+ - **AI context**: Future Copilot sessions have richer context
589
+
590
+ ---
591
+
421
592
  ## Best Practices
422
593
 
423
594
  ### Writing Good Requirements
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smart-spec-kit-mcp",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
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",
@@ -13,6 +13,7 @@ When the user mentions **"speckit:"** followed by a command, or uses these keywo
13
13
  | `speckit: tasks`, `générer les tâches`, `créer les tâches` | `speckit_tasks` | Generate task breakdown |
14
14
  | `speckit: implement`, `implémenter`, `coder` | `speckit_implement` | Implement tasks |
15
15
  | `speckit: clarify`, `clarifier`, `préciser` | `speckit_clarify` | Clarify requirements |
16
+ | `speckit: validate`, `valider`, `vérifier` | `speckit_validate` | Validate compliance (security, RGPD, etc.) |
16
17
  | `speckit: memory`, `enrichir la mémoire`, `ajouter au contexte` | `speckit_memory` | Manage project memory |
17
18
  | `speckit: help`, `aide sur speckit`, questions about spec-kit | `speckit_help` | Get help and documentation |
18
19
 
@@ -45,21 +46,28 @@ speckit_specify → speckit_plan → speckit_tasks → speckit_implement
45
46
 
46
47
  ```
47
48
  .spec-kit/
48
- ├── prompts/ # Prompt-as-code files (read by MCP tools)
49
+ ├── prompts/ # Customizable prompts (define command behavior)
49
50
  │ ├── specify.md
50
51
  │ ├── plan.md
51
52
  │ ├── tasks.md
52
53
  │ ├── implement.md
53
- └── clarify.md
54
+ ├── clarify.md
55
+ │ ├── validate.md
56
+ │ └── memory.md
54
57
  ├── templates/ # Document templates
55
58
  │ ├── functional-spec.md
56
59
  │ ├── plan-template.md
57
60
  │ └── tasks-template.md
61
+ ├── rules/ # Validation rules
62
+ │ ├── security-rules.md
63
+ │ └── rgpd-rules.md
58
64
  ├── memory/ # Project context
59
65
  │ └── constitution.md
60
66
  └── workflows/ # Automated workflows
67
+ └── feature-quick.yaml # Quick wins (lightweight)
61
68
 
62
69
  specs/ # Generated specifications (output)
70
+ └── validations/ # Validation reports
63
71
  ```
64
72
 
65
73
  ## Important Conventions
@@ -85,6 +93,7 @@ For multi-step automation, use `start_workflow`:
85
93
 
86
94
  | User Says | Action |
87
95
  |-----------|--------|
96
+ | `speckit: start_workflow workflow_name="feature-quick"` | Start quick feature workflow (lightweight) |
88
97
  | `speckit: start_workflow workflow_name="feature-standard" PiP Support` | Start feature workflow for PiP Support |
89
98
  | `speckit: start_workflow workflow_name="bugfix" auto=true` | Start bugfix workflow in AUTO mode |
90
99
 
@@ -110,6 +119,15 @@ For multi-step automation, use `start_workflow`:
110
119
  **User**: "speckit: memory auto"
111
120
  **Action**: Call `speckit_memory` with `action: "auto"` to auto-enrich from context
112
121
 
122
+ **User**: "speckit: validate security"
123
+ **Action**: Call `speckit_validate` with `ruleType: "security"`
124
+
125
+ **User**: "speckit: valider la conformité RGPD de la spec"
126
+ **Action**: Call `speckit_validate` with `ruleType: "rgpd"`, `phase: "spec"`
127
+
128
+ **User**: "speckit: validate architecture-rules"
129
+ **Action**: Call `speckit_validate` with `ruleType: "architecture"` (uses custom rules file)
130
+
113
131
  **User**: "speckit: start_workflow workflow_name="feature-standard" PiP Support auto=true"
114
132
  **Action**: Call `start_workflow` with `workflow_name: "feature-standard"`, `context_id: "PiP Support"`, `auto: true`
115
133
 
@@ -71,7 +71,48 @@ Report:
71
71
  - Any deviations from plan
72
72
  - Next task to implement (if continuing)
73
73
 
74
- ## 8. Iteration
74
+ ## 8. Auto-Enrich Memory
75
+
76
+ After each implementation, **automatically** save relevant learnings to `.spec-kit/memory/`:
77
+
78
+ ### What to capture:
79
+
80
+ **Decisions** (save to `decisions.md`):
81
+ - Architectural choices made during implementation
82
+ - Technology/library selections
83
+ - Trade-offs considered
84
+
85
+ **Conventions** (save to `conventions.md`):
86
+ - New patterns established
87
+ - Code conventions discovered or enforced
88
+ - Best practices applied
89
+
90
+ **Learnings** (save to `learnings.md`):
91
+ - Problems encountered and solutions found
92
+ - Performance insights
93
+ - Gotchas or edge cases discovered
94
+
95
+ ### Format for memory entries:
96
+
97
+ ```markdown
98
+ ## {Type}: {Title}
99
+ **Date:** {YYYY-MM-DD}
100
+ **Context:** {Brief context - which task/feature}
101
+ **Description:** {What was decided/learned}
102
+ **Rationale:** {Why - reasoning behind it}
103
+ ```
104
+
105
+ ### Example:
106
+
107
+ ```markdown
108
+ ## Decision: Use Repository Pattern for Data Access
109
+ **Date:** 2024-01-30
110
+ **Context:** Task #3 - Implement user authentication
111
+ **Description:** Created UserRepository interface with InMemory and SQL implementations
112
+ **Rationale:** Allows easy testing and future database changes without affecting business logic
113
+ ```
114
+
115
+ ## 9. Iteration
75
116
 
76
117
  Ask the user:
77
118
  - "Task {ID} completed. Continue with {next task}? (yes/no)"