speccrew 0.2.6 → 0.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.
- package/.speccrew/agents/speccrew-feature-designer.md +220 -27
- package/.speccrew/agents/speccrew-system-designer.md +237 -31
- package/.speccrew/agents/speccrew-system-developer.md +54 -10
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +15 -1
- package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +36 -7
- package/.speccrew/skills/speccrew-dev-review/SKILL.md +17 -8
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +150 -35
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +140 -18
- package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +29 -15
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +51 -6
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +18 -20
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +7 -10
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +19 -23
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +151 -153
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +23 -63
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +32 -68
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +6 -2
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +32 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +16 -1
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +33 -6
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +25 -5
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +17 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +20 -3
- package/.speccrew/skills/speccrew-test-execute/SKILL.md +8 -0
- package/package.json +1 -1
- package/workspace-template/docs/solutions/workspace-structure.md +15 -0
|
@@ -73,22 +73,22 @@ If resuming from an interrupted session:
|
|
|
73
73
|
|
|
74
74
|
4. **User Confirmation**: Show resume point and ask "Continue from this checkpoint?"
|
|
75
75
|
|
|
76
|
-
### 0.3 Check Dispatch Resume (
|
|
76
|
+
### 0.3 Check Dispatch Resume (Feature-Granular Recovery)
|
|
77
77
|
|
|
78
|
-
If the
|
|
78
|
+
If the iteration involves multiple Features:
|
|
79
79
|
|
|
80
80
|
1. **Read `DISPATCH-PROGRESS.json` summary** (if file exists):
|
|
81
81
|
```bash
|
|
82
|
-
node speccrew-workspace/scripts/update-progress.js read --file speccrew-workspace/iterations/{iteration
|
|
82
|
+
node speccrew-workspace/scripts/update-progress.js read --file speccrew-workspace/iterations/{iteration}/02.feature-design/DISPATCH-PROGRESS.json --summary
|
|
83
83
|
```
|
|
84
84
|
- If the file does not exist → No dispatch in progress, proceed normally
|
|
85
85
|
|
|
86
|
-
2. **List
|
|
86
|
+
2. **List Feature Task Status**:
|
|
87
87
|
```
|
|
88
88
|
📊 Dispatch Status:
|
|
89
|
-
├──
|
|
90
|
-
├──
|
|
91
|
-
└──
|
|
89
|
+
├── F-CRM-01 (Customer List): ✅ Completed
|
|
90
|
+
├── F-CRM-02 (Customer Detail): ⏳ Pending
|
|
91
|
+
└── F-CRM-03 (Customer Search API): ❌ Failed (error message)
|
|
92
92
|
|
|
93
93
|
Total: 3 | Completed: 1 | Failed: 1 | Pending: 1
|
|
94
94
|
```
|
|
@@ -98,9 +98,25 @@ If the feature involves multiple frontend platforms:
|
|
|
98
98
|
- Re-execute tasks with `status == "failed"`
|
|
99
99
|
- Execute tasks with `status == "pending"`
|
|
100
100
|
|
|
101
|
-
4. **User Confirmation**: Ask "Resume dispatch for pending/failed
|
|
101
|
+
4. **User Confirmation**: Ask "Resume dispatch for pending/failed Features?"
|
|
102
102
|
|
|
103
|
-
### 0.4 Backward Compatibility
|
|
103
|
+
### 0.4 Backward Compatibility Note
|
|
104
|
+
|
|
105
|
+
**Dispatch Mode Detection**:
|
|
106
|
+
|
|
107
|
+
The agent automatically detects the appropriate dispatch mode based on PRD content:
|
|
108
|
+
|
|
109
|
+
- **Feature Breakdown present** → Feature-granular dispatch (new behavior)
|
|
110
|
+
- Each Feature in the breakdown table gets its own Feature Spec and API Contract
|
|
111
|
+
- File naming: `{feature-id}-{feature-name}-feature-spec.md`
|
|
112
|
+
|
|
113
|
+
- **Feature Breakdown missing** → Module-granular dispatch (legacy behavior)
|
|
114
|
+
- Each Sub-PRD gets one Feature Spec and API Contract
|
|
115
|
+
- File naming: `{module-name}-feature-spec.md`
|
|
116
|
+
|
|
117
|
+
This ensures backward compatibility with PRDs created before the Feature Breakdown feature was introduced.
|
|
118
|
+
|
|
119
|
+
### 0.5 Backward Compatibility
|
|
104
120
|
|
|
105
121
|
If `WORKFLOW-PROGRESS.json` does not exist:
|
|
106
122
|
- Log: "⚠️ No workflow progress file found. Running in legacy mode."
|
|
@@ -144,6 +160,31 @@ Read all confirmed PRD documents specified by the user. PRD documents contain:
|
|
|
144
160
|
- Business process flows
|
|
145
161
|
- Acceptance criteria
|
|
146
162
|
|
|
163
|
+
### Extract Feature Breakdown (Section 3.4)
|
|
164
|
+
|
|
165
|
+
After reading PRD documents, extract Feature Breakdown from each Sub-PRD:
|
|
166
|
+
|
|
167
|
+
1. **Locate Section 3.4**: In each Sub-PRD, find the "Feature Breakdown" table under Section 3.4
|
|
168
|
+
|
|
169
|
+
2. **Parse Feature Table**: Extract the following columns for each Feature:
|
|
170
|
+
- `Feature ID`: Unique identifier (e.g., `F-CRM-01`, `F-CRM-02`)
|
|
171
|
+
- `Feature Name`: Descriptive name (e.g., `Customer List Management`)
|
|
172
|
+
- `Type`: Either `Page+API` or `API-only`
|
|
173
|
+
- `Dependencies`: List of prerequisite Feature IDs (if any)
|
|
174
|
+
|
|
175
|
+
3. **Build Feature Registry**: Consolidate all features across Sub-PRDs into a unified list:
|
|
176
|
+
```
|
|
177
|
+
Feature Registry Example:
|
|
178
|
+
├── F-CRM-01: Customer List Management (Page+API) - from sub-prd-customer.md
|
|
179
|
+
├── F-CRM-02: Customer Detail View (Page+API) - from sub-prd-customer.md, depends on F-CRM-01
|
|
180
|
+
└── F-CRM-03: Customer Search API (API-only) - from sub-prd-customer.md
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
4. **Backward Compatibility Check**:
|
|
184
|
+
- If **Feature Breakdown exists**: Proceed with Feature-granular dispatch (new behavior)
|
|
185
|
+
- If **Feature Breakdown missing**: Fall back to Sub-PRD-granular dispatch (legacy behavior)
|
|
186
|
+
- Log the dispatch mode: "📋 Dispatch mode: Feature-granular" or "📋 Dispatch mode: Module-granular (legacy)"
|
|
187
|
+
|
|
147
188
|
### Discover Frontend Platforms
|
|
148
189
|
|
|
149
190
|
Read `speccrew-workspace/knowledges/techs/techs-manifest.json` to identify all frontend platforms:
|
|
@@ -164,45 +205,160 @@ When involving related business domains, read `speccrew-workspace/knowledges/biz
|
|
|
164
205
|
|
|
165
206
|
## Phase 3: Design
|
|
166
207
|
|
|
167
|
-
After knowledge loading is complete, design feature specifications based on the
|
|
208
|
+
After knowledge loading is complete, design feature specifications based on the dispatch mode:
|
|
209
|
+
|
|
210
|
+
### 3.1 Dispatch Mode Decision
|
|
211
|
+
|
|
212
|
+
Based on Phase 2 Feature Breakdown extraction:
|
|
213
|
+
|
|
214
|
+
| Condition | Dispatch Mode | Behavior |
|
|
215
|
+
|-----------|---------------|----------|
|
|
216
|
+
| Feature Breakdown found with multiple Features | Feature-granular | Each Feature gets its own worker/skill invocation |
|
|
217
|
+
| Feature Breakdown found with single Feature | Direct skill | Invoke skill directly without worker |
|
|
218
|
+
| No Feature Breakdown (legacy PRD) | Module-granular | Each Sub-PRD gets one worker (backward compatible) |
|
|
219
|
+
|
|
220
|
+
### 3.2 Feature-Granular Dispatch (New Behavior)
|
|
221
|
+
|
|
222
|
+
When Feature Breakdown is present, dispatch by Feature:
|
|
223
|
+
|
|
224
|
+
#### Single Feature (Direct Skill Invocation)
|
|
225
|
+
If the entire iteration has only **one Feature** in the registry:
|
|
226
|
+
|
|
227
|
+
Invoke Skill directly with parameters:
|
|
228
|
+
- Skill path: `speccrew-fd-feature-design/SKILL.md`
|
|
229
|
+
- Parameters:
|
|
230
|
+
- `prd_path`: Path to the PRD document (Master PRD if exists, otherwise the single PRD)
|
|
231
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
232
|
+
- `feature_name`: Feature name (e.g., `Customer List Management`)
|
|
233
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
234
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-feature-spec.md`
|
|
235
|
+
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
236
|
+
|
|
237
|
+
#### Multiple Features (Parallel Worker Dispatch)
|
|
238
|
+
If the iteration has **multiple Features** in the registry:
|
|
239
|
+
|
|
240
|
+
Invoke `speccrew-task-worker` agents in parallel, one per Feature:
|
|
241
|
+
- Each worker receives:
|
|
242
|
+
- `skill_path`: `speccrew-fd-feature-design/SKILL.md`
|
|
243
|
+
- `context`:
|
|
244
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
245
|
+
- `feature_name`: Feature name (e.g., `Customer List Management`)
|
|
246
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
247
|
+
- `master_prd_path`: Path to the Master PRD document (if exists)
|
|
248
|
+
- `source_prd_path`: Path to the Sub-PRD containing this Feature
|
|
249
|
+
- `prd_path`: Path to the Sub-PRD containing this Feature (same as source_prd_path, required by speccrew-fd-feature-design skill)
|
|
250
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-feature-spec.md`
|
|
251
|
+
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
252
|
+
- **Note**: `prd_path` and `source_prd_path` refer to the same Sub-PRD file. `prd_path` is the primary field required by the Feature Design skill.
|
|
253
|
+
|
|
254
|
+
- **Parallel execution pattern**:
|
|
255
|
+
- Worker 1: Feature F-CRM-01 → Feature Spec for Customer List
|
|
256
|
+
- Worker 2: Feature F-CRM-02 → Feature Spec for Customer Detail
|
|
257
|
+
- Worker N: Feature F-CRM-0N → Feature Spec for Feature N
|
|
258
|
+
|
|
259
|
+
- **Dependency handling**: Features with dependencies should note them, but all workers can execute simultaneously (each Feature Spec references its dependencies)
|
|
260
|
+
|
|
261
|
+
- **Output file naming convention**:
|
|
262
|
+
- Format: `{feature-id}-{feature-name-slug}-feature-spec.md`
|
|
263
|
+
- Example: `F-CRM-01-customer-list-feature-spec.md`
|
|
264
|
+
- Slug: lowercase, hyphens for spaces, no special characters
|
|
265
|
+
|
|
266
|
+
### 3.3 Module-Granular Dispatch (Legacy Behavior)
|
|
168
267
|
|
|
169
|
-
|
|
268
|
+
If **no Feature Breakdown** is found in PRD documents (legacy format), fall back to Sub-PRD granularity:
|
|
269
|
+
|
|
270
|
+
#### Single PRD Document
|
|
170
271
|
Invoke Skill directly with parameters:
|
|
171
272
|
- Skill path: `speccrew-fd-feature-design/SKILL.md`
|
|
172
273
|
- Parameters:
|
|
173
274
|
- `prd_path`: Path to the PRD document
|
|
174
|
-
- `output_path`:
|
|
175
|
-
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
275
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-feature-spec.md`
|
|
276
|
+
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
176
277
|
|
|
177
|
-
|
|
278
|
+
#### Multiple PRD Documents (Master + Sub PRDs)
|
|
178
279
|
Invoke `speccrew-task-worker` agents in parallel:
|
|
179
280
|
- Each worker receives:
|
|
180
281
|
- `skill_path`: `speccrew-fd-feature-design/SKILL.md`
|
|
181
282
|
- `context`:
|
|
182
283
|
- `master_prd_path`: Path to the Master PRD document (for overall context)
|
|
183
284
|
- `sub_prd_path`: Path to one Sub PRD document
|
|
184
|
-
- `output_path`:
|
|
285
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-feature-spec.md`
|
|
185
286
|
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
186
287
|
- Parallel execution pattern:
|
|
187
288
|
- Worker 1: Master PRD + Sub PRD 1 → Sub Feature Spec 1
|
|
188
289
|
- Worker 2: Master PRD + Sub PRD 2 → Sub Feature Spec 2
|
|
189
290
|
- Worker N: Master PRD + Sub PRD N → Sub Feature Spec N
|
|
190
|
-
|
|
191
|
-
|
|
291
|
+
|
|
292
|
+
### 3.4 Initialize Dispatch Progress Tracking
|
|
293
|
+
|
|
294
|
+
Before dispatching workers, initialize `DISPATCH-PROGRESS.json`:
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
node speccrew-workspace/scripts/update-progress.js init-dispatch \
|
|
298
|
+
--file speccrew-workspace/iterations/{iteration}/02.feature-design/DISPATCH-PROGRESS.json \
|
|
299
|
+
--tasks "F-CRM-01,F-CRM-02,F-CRM-03"
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Each task entry records:
|
|
303
|
+
- `feature_id`: Feature identifier
|
|
304
|
+
- `feature_name`: Feature name
|
|
305
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
306
|
+
- `source_prd`: Path to the source PRD document
|
|
307
|
+
- `status`: `pending` | `in_progress` | `completed` | `failed`
|
|
308
|
+
- `output_path`: Path to the generated Feature Spec
|
|
192
309
|
|
|
193
310
|
## Phase 4: API Contract Generation
|
|
194
311
|
|
|
195
312
|
After Feature Spec documents are confirmed by user, generate API Contract documents.
|
|
196
313
|
|
|
197
|
-
### 4.1
|
|
314
|
+
### 4.1 Dispatch Mode Decision
|
|
198
315
|
|
|
316
|
+
Follow the same dispatch mode as Phase 3:
|
|
317
|
+
|
|
318
|
+
| Dispatch Mode | API Contract Strategy |
|
|
319
|
+
|---------------|----------------------|
|
|
320
|
+
| Feature-granular | Each Feature Spec generates one API Contract |
|
|
321
|
+
| Module-granular (legacy) | Each Feature Spec (by module) generates one API Contract |
|
|
322
|
+
|
|
323
|
+
### 4.2 Feature-Granular API Contract (New Behavior)
|
|
324
|
+
|
|
325
|
+
#### Single Feature Spec
|
|
199
326
|
Invoke API Contract skill directly:
|
|
200
327
|
- Skill path: `speccrew-fd-api-contract/SKILL.md`
|
|
201
|
-
-
|
|
202
|
-
-
|
|
328
|
+
- Parameters:
|
|
329
|
+
- `feature_spec_path`: Path to the Feature Spec document
|
|
330
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
331
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
332
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-api-contract.md`
|
|
333
|
+
|
|
334
|
+
**Note**: Both `Page+API` and `API-only` Features require API Contract documents.
|
|
335
|
+
|
|
336
|
+
#### Multiple Feature Specs (Parallel Worker Dispatch)
|
|
337
|
+
Invoke `speccrew-task-worker` agents in parallel:
|
|
338
|
+
- Each worker receives:
|
|
339
|
+
- `skill_path`: `speccrew-fd-api-contract/SKILL.md`
|
|
340
|
+
- `context`:
|
|
341
|
+
- `feature_spec_path`: Path to one Feature Spec document
|
|
342
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
343
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
344
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-api-contract.md`
|
|
203
345
|
|
|
204
|
-
|
|
346
|
+
- **Parallel execution**: One worker per Feature Spec document
|
|
347
|
+
- **Output file naming**:
|
|
348
|
+
- Format: `{feature-id}-{feature-name-slug}-api-contract.md`
|
|
349
|
+
- Example: `F-CRM-01-customer-list-api-contract.md`
|
|
205
350
|
|
|
351
|
+
### 4.3 Module-Granular API Contract (Legacy Behavior)
|
|
352
|
+
|
|
353
|
+
If dispatch was done at module granularity (legacy PRD without Feature Breakdown):
|
|
354
|
+
|
|
355
|
+
#### Single Feature Spec
|
|
356
|
+
Invoke API Contract skill directly:
|
|
357
|
+
- Skill path: `speccrew-fd-api-contract/SKILL.md`
|
|
358
|
+
- Input: The Feature Spec document generated in Phase 3
|
|
359
|
+
- Output path: `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-api-contract.md`
|
|
360
|
+
|
|
361
|
+
#### Multiple Feature Specs (Master + Sub)
|
|
206
362
|
Invoke `speccrew-task-worker` agents in parallel:
|
|
207
363
|
- Each worker receives:
|
|
208
364
|
- `skill_path`: `speccrew-fd-api-contract/SKILL.md`
|
|
@@ -211,21 +367,24 @@ Invoke `speccrew-task-worker` agents in parallel:
|
|
|
211
367
|
- `output_path`: Path for the API Contract document
|
|
212
368
|
- Parallel execution: one worker per Feature Spec document
|
|
213
369
|
|
|
214
|
-
### 4.
|
|
370
|
+
### 4.4 Joint Confirmation
|
|
215
371
|
|
|
216
372
|
After both Feature Spec and API Contract documents are ready, present summary to user:
|
|
217
|
-
- List all Feature Spec documents with paths
|
|
373
|
+
- List all Feature Spec documents with paths (grouped by Feature or Module)
|
|
218
374
|
- List all API Contract documents with paths
|
|
219
375
|
- Request user confirmation before proceeding to system design phase
|
|
220
376
|
- After confirmation, API Contract becomes the read-only baseline for downstream stages
|
|
221
377
|
|
|
222
|
-
### 4.
|
|
378
|
+
### 4.5 Finalize Stage (Update Workflow Progress)
|
|
223
379
|
|
|
224
380
|
After user confirms Joint Confirmation:
|
|
225
381
|
|
|
226
382
|
1. **Update `WORKFLOW-PROGRESS.json`**:
|
|
227
383
|
```bash
|
|
228
|
-
node speccrew-workspace/scripts/update-progress.js update-workflow
|
|
384
|
+
node speccrew-workspace/scripts/update-progress.js update-workflow \
|
|
385
|
+
--file speccrew-workspace/iterations/{iteration}/WORKFLOW-PROGRESS.json \
|
|
386
|
+
--stage 02_feature_design --status confirmed \
|
|
387
|
+
--output "02.feature-design/F-CRM-01-customer-list-feature-spec.md,02.feature-design/F-CRM-01-customer-list-api-contract.md,..."
|
|
229
388
|
```
|
|
230
389
|
|
|
231
390
|
2. **Confirm Transition**:
|
|
@@ -236,8 +395,42 @@ After user confirms Joint Confirmation:
|
|
|
236
395
|
|
|
237
396
|
| Deliverable | Path | Notes |
|
|
238
397
|
|-------------|------|-------|
|
|
239
|
-
| Feature Detail Design Document | `speccrew-workspace/iterations/{
|
|
240
|
-
|
|
|
398
|
+
| Feature Detail Design Document | `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature-id}-{feature-name}-feature-spec.md` | New naming convention (Feature-granular) |
|
|
399
|
+
| Feature Detail Design Document (Legacy) | `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-feature-spec.md` | Legacy naming convention (Module-granular, for backward compatibility) |
|
|
400
|
+
| API Contract Document | `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature-id}-{feature-name}-api-contract.md` | New naming convention (Feature-granular) |
|
|
401
|
+
| API Contract Document (Legacy) | `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-api-contract.md` | Legacy naming convention (Module-granular, for backward compatibility) |
|
|
402
|
+
|
|
403
|
+
## Naming Convention
|
|
404
|
+
|
|
405
|
+
### Feature-Granular Naming (New)
|
|
406
|
+
|
|
407
|
+
When Feature Breakdown is present in PRD:
|
|
408
|
+
|
|
409
|
+
**Format**: `{feature-id}-{feature-name-slug}-{document-type}.md`
|
|
410
|
+
|
|
411
|
+
- `feature-id`: From Feature Breakdown table (e.g., `F-CRM-01`)
|
|
412
|
+
- `feature-name-slug`: Feature name converted to lowercase with hyphens
|
|
413
|
+
- Example: `Customer List Management` → `customer-list-management` → shortened to `customer-list`
|
|
414
|
+
- `document-type`: Either `feature-spec` or `api-contract`
|
|
415
|
+
|
|
416
|
+
**Examples**:
|
|
417
|
+
- `F-CRM-01-customer-list-feature-spec.md`
|
|
418
|
+
- `F-CRM-01-customer-list-api-contract.md`
|
|
419
|
+
- `F-CRM-02-customer-detail-feature-spec.md`
|
|
420
|
+
- `F-ORD-01-order-create-feature-spec.md`
|
|
421
|
+
|
|
422
|
+
### Module-Granular Naming (Legacy)
|
|
423
|
+
|
|
424
|
+
When Feature Breakdown is NOT present in PRD:
|
|
425
|
+
|
|
426
|
+
**Format**: `{module-name}-{document-type}.md`
|
|
427
|
+
|
|
428
|
+
- `module-name`: Derived from Sub-PRD filename or module identifier
|
|
429
|
+
- `document-type`: Either `feature-spec` or `api-contract`
|
|
430
|
+
|
|
431
|
+
**Examples**:
|
|
432
|
+
- `customer-feature-spec.md`
|
|
433
|
+
- `order-feature-spec.md`
|
|
241
434
|
|
|
242
435
|
# Deliverable Content Structure
|
|
243
436
|
|