codexspec 0.7.8__tar.gz → 0.7.10__tar.gz

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.
Files changed (73) hide show
  1. {codexspec-0.7.8 → codexspec-0.7.10}/PKG-INFO +24 -12
  2. {codexspec-0.7.8 → codexspec-0.7.10}/README.md +23 -11
  3. {codexspec-0.7.8 → codexspec-0.7.10}/pyproject.toml +1 -1
  4. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/__init__.py +1 -1
  5. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/commands/installer.py +26 -5
  6. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/integrations/codex.py +1 -0
  7. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/analyze.md +9 -4
  8. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/generate-spec.md +2 -2
  9. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/implement-tasks.md +6 -2
  10. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/plan-to-tasks.md +3 -0
  11. codexspec-0.7.10/templates/commands/release-notes.md +212 -0
  12. codexspec-0.7.10/templates/commands/review-design.md +132 -0
  13. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/review-plan.md +8 -6
  14. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/review-tasks.md +6 -5
  15. codexspec-0.7.10/templates/commands/spec-to-design.md +114 -0
  16. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/spec-to-plan.md +24 -21
  17. codexspec-0.7.10/templates/docs/design-template.md +95 -0
  18. codexspec-0.7.10/templates/docs/plan-template-detailed.md +101 -0
  19. codexspec-0.7.10/templates/docs/plan-template-simple.md +53 -0
  20. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/de.json +2 -2
  21. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/en.json +2 -2
  22. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/es.json +2 -2
  23. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/fr.json +2 -2
  24. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/ja.json +2 -2
  25. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/ko.json +2 -2
  26. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/pt-BR.json +2 -2
  27. {codexspec-0.7.8 → codexspec-0.7.10}/templates/translations/zh-CN.json +2 -2
  28. codexspec-0.7.8/templates/docs/plan-template-detailed.md +0 -218
  29. codexspec-0.7.8/templates/docs/plan-template-simple.md +0 -57
  30. {codexspec-0.7.8 → codexspec-0.7.10}/.gitignore +0 -0
  31. {codexspec-0.7.8 → codexspec-0.7.10}/LICENSE +0 -0
  32. {codexspec-0.7.8 → codexspec-0.7.10}/codexspec-icon.svg +0 -0
  33. {codexspec-0.7.8 → codexspec-0.7.10}/codexspec-logo-dark.svg +0 -0
  34. {codexspec-0.7.8 → codexspec-0.7.10}/codexspec-logo-light.svg +0 -0
  35. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/bash/check-i18n-completeness.sh +0 -0
  36. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/bash/check-i18n-structure.sh +0 -0
  37. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/bash/check-prerequisites.sh +0 -0
  38. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/bash/common.sh +0 -0
  39. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/bash/create-new-feature.sh +0 -0
  40. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/bash/review-context.sh +0 -0
  41. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/powershell/check-prerequisites.ps1 +0 -0
  42. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/powershell/common.ps1 +0 -0
  43. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/powershell/create-new-feature.ps1 +0 -0
  44. {codexspec-0.7.8 → codexspec-0.7.10}/scripts/powershell/review-context.ps1 +0 -0
  45. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/commands/__init__.py +0 -0
  46. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/i18n.py +0 -0
  47. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/idea.md +0 -0
  48. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/integrations/__init__.py +0 -0
  49. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/integrations/base.py +0 -0
  50. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/integrations/claude.py +0 -0
  51. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/profile.py +0 -0
  52. {codexspec-0.7.8 → codexspec-0.7.10}/src/codexspec/translator.py +0 -0
  53. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/checklist.md +0 -0
  54. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/clarify.md +0 -0
  55. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/commit-staged.md +0 -0
  56. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/config.md +0 -0
  57. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/constitution.md +0 -0
  58. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/debug.md +0 -0
  59. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/distill.md +0 -0
  60. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/evolve.md +0 -0
  61. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/pr.md +0 -0
  62. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/quick.md +0 -0
  63. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/review-code.md +0 -0
  64. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/review-spec.md +0 -0
  65. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/specify.md +0 -0
  66. {codexspec-0.7.8 → codexspec-0.7.10}/templates/commands/tasks-to-issues.md +0 -0
  67. {codexspec-0.7.8 → codexspec-0.7.10}/templates/docs/checklist-template.md +0 -0
  68. {codexspec-0.7.8 → codexspec-0.7.10}/templates/docs/constitution-template.md +0 -0
  69. {codexspec-0.7.8 → codexspec-0.7.10}/templates/docs/requirements-template.md +0 -0
  70. {codexspec-0.7.8 → codexspec-0.7.10}/templates/docs/spec-template-detailed.md +0 -0
  71. {codexspec-0.7.8 → codexspec-0.7.10}/templates/docs/spec-template-simple.md +0 -0
  72. {codexspec-0.7.8 → codexspec-0.7.10}/templates/docs/tasks-template-detailed.md +0 -0
  73. {codexspec-0.7.8 → codexspec-0.7.10}/templates/docs/tasks-template-simple.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: codexspec
3
- Version: 0.7.8
3
+ Version: 0.7.10
4
4
  Summary: CodexSpec - A Requirements-First SDD toolkit for Claude Code
5
5
  Project-URL: Homepage, https://github.com/Zts0hg/codexspec
6
6
  Project-URL: Repository, https://github.com/Zts0hg/codexspec
@@ -166,9 +166,12 @@ CodexSpec is built on the belief that **effective AI-assisted development requir
166
166
  CodexSpec structures development into **reviewable checkpoints**:
167
167
 
168
168
  ```
169
- Idea → /specify → requirements.md → /generate-spec → spec.md → /spec-to-plan → plan.md → /plan-to-tasks → tasks.md → /implement
170
- │ │ │
171
- Review spec Review plan Review tasks
169
+ Idea → /specify → requirements.md
170
+ → /generate-spec → spec.md → review-spec
171
+ → /spec-to-design → design.md → review-design
172
+ → /spec-to-plan → plan.md → review-plan
173
+ → /plan-to-tasks → tasks.md → review-tasks
174
+ → /implement-tasks → code
172
175
  ```
173
176
 
174
177
  Confirmed requirements are the highest-priority feature authority. Derived artifacts carry explicit source links so conflicts can be traced back instead of silently propagated.
@@ -176,6 +179,7 @@ Confirmed requirements are the highest-priority feature authority. Derived artif
176
179
  **Every generated artifact has a corresponding review command:**
177
180
 
178
181
  - `spec.md` → `/codexspec:review-spec`
182
+ - `design.md` → `/codexspec:review-design`
179
183
  - `plan.md` → `/codexspec:review-plan`
180
184
  - `tasks.md` → `/codexspec:review-tasks`
181
185
  - All artifacts → `/codexspec:analyze`
@@ -207,6 +211,7 @@ claude
207
211
  > /codexspec:constitution Create principles focused on code quality and testing
208
212
  > /codexspec:specify I want to build a todo application
209
213
  > /codexspec:generate-spec
214
+ > /codexspec:spec-to-design
210
215
  > /codexspec:spec-to-plan
211
216
  > /codexspec:plan-to-tasks
212
217
  > /codexspec:implement-tasks
@@ -355,9 +360,12 @@ The config command will guide you through:
355
360
  CodexSpec breaks development into **reviewable checkpoints**:
356
361
 
357
362
  ```
358
- Idea → /specify → requirements.md → /generate-spec → spec.md → /spec-to-plan → plan.md → /plan-to-tasks → tasks.md → /implement
359
- │ │ │
360
- Review spec Review plan Review tasks
363
+ Idea → /specify → requirements.md
364
+ → /generate-spec → spec.md → review-spec
365
+ → /spec-to-design → design.md → review-design
366
+ → /spec-to-plan → plan.md → review-plan
367
+ → /plan-to-tasks → tasks.md → review-tasks
368
+ → /implement-tasks → code
361
369
  ```
362
370
 
363
371
  ### Workflow Steps
@@ -367,10 +375,11 @@ Idea → /specify → requirements.md → /generate-spec → spec.md → /spec-t
367
375
  | 1. Project Principles | `/codexspec:constitution` | `constitution.md` | ✅ |
368
376
  | 2. Requirement Clarification | `/codexspec:specify` | `requirements.md` | ✅ |
369
377
  | 3. Generate Spec | `/codexspec:generate-spec` | `spec.md` + auto-review | ✅ |
370
- | 4. Technical Planning | `/codexspec:spec-to-plan` | `plan.md` + auto-review | ✅ |
371
- | 5. Task Breakdown | `/codexspec:plan-to-tasks` | `tasks.md` + auto-review | ✅ |
372
- | 6. Cross-Artifact Analysis | `/codexspec:analyze` | Analysis report | ✅ |
373
- | 7. Implementation | `/codexspec:implement-tasks` | Code | - |
378
+ | 4. System Design | `/codexspec:spec-to-design` | `design.md` + auto-review | ✅ |
379
+ | 5. Technical Planning | `/codexspec:spec-to-plan` | `plan.md` + auto-review | ✅ |
380
+ | 6. Task Breakdown | `/codexspec:plan-to-tasks` | `tasks.md` + auto-review | ✅ |
381
+ | 7. Cross-Artifact Analysis | `/codexspec:analyze` | Analysis report | ✅ |
382
+ | 8. Implementation | `/codexspec:implement-tasks` | Code | - |
374
383
 
375
384
  ### specify vs clarify: When to Use Which?
376
385
 
@@ -568,7 +577,8 @@ Implementation follows **conditional TDD workflow**:
568
577
  | `/codexspec:constitution` | Create/update project constitution with cross-artifact validation |
569
578
  | `/codexspec:specify` | Clarify, confirm, and persist requirements in `requirements.md` |
570
579
  | `/codexspec:generate-spec` | Generate `spec.md` document ★ Auto-review |
571
- | `/codexspec:spec-to-plan` | Convert spec to technical plan ★ Auto-review |
580
+ | `/codexspec:spec-to-design` | Produce `design.md` (architecture/components/decisions) ★ Auto-review |
581
+ | `/codexspec:spec-to-plan` | Convert design to implementation plan ★ Auto-review |
572
582
  | `/codexspec:plan-to-tasks` | Break down plan into traceable, verifiable tasks ★ Auto-review |
573
583
  | `/codexspec:implement-tasks` | Execute tasks (conditional TDD) |
574
584
 
@@ -577,6 +587,7 @@ Implementation follows **conditional TDD workflow**:
577
587
  | Command | Description |
578
588
  | ------------------------- | -------------------------------------- |
579
589
  | `/codexspec:review-spec` | Review specification (auto or manual) |
590
+ | `/codexspec:review-design` | Review design (auto or manual) |
580
591
  | `/codexspec:review-plan` | Review technical plan (auto or manual) |
581
592
  | `/codexspec:review-tasks` | Review task breakdown (auto or manual) |
582
593
 
@@ -604,6 +615,7 @@ Implementation follows **conditional TDD workflow**:
604
615
  | -------------------------- | ------------------------------------------------- |
605
616
  | `/codexspec:commit-staged` | Generate commit message from staged changes |
606
617
  | `/codexspec:pr` | Generate PR/MR description (auto-detect platform) |
618
+ | `/codexspec:release-notes` | Generate release notes from git history (maintain CHANGELOG.md + release body)|
607
619
 
608
620
  #### Code Review Commands
609
621
 
@@ -121,9 +121,12 @@ CodexSpec is built on the belief that **effective AI-assisted development requir
121
121
  CodexSpec structures development into **reviewable checkpoints**:
122
122
 
123
123
  ```
124
- Idea → /specify → requirements.md → /generate-spec → spec.md → /spec-to-plan → plan.md → /plan-to-tasks → tasks.md → /implement
125
- │ │ │
126
- Review spec Review plan Review tasks
124
+ Idea → /specify → requirements.md
125
+ → /generate-spec → spec.md → review-spec
126
+ → /spec-to-design → design.md → review-design
127
+ → /spec-to-plan → plan.md → review-plan
128
+ → /plan-to-tasks → tasks.md → review-tasks
129
+ → /implement-tasks → code
127
130
  ```
128
131
 
129
132
  Confirmed requirements are the highest-priority feature authority. Derived artifacts carry explicit source links so conflicts can be traced back instead of silently propagated.
@@ -131,6 +134,7 @@ Confirmed requirements are the highest-priority feature authority. Derived artif
131
134
  **Every generated artifact has a corresponding review command:**
132
135
 
133
136
  - `spec.md` → `/codexspec:review-spec`
137
+ - `design.md` → `/codexspec:review-design`
134
138
  - `plan.md` → `/codexspec:review-plan`
135
139
  - `tasks.md` → `/codexspec:review-tasks`
136
140
  - All artifacts → `/codexspec:analyze`
@@ -162,6 +166,7 @@ claude
162
166
  > /codexspec:constitution Create principles focused on code quality and testing
163
167
  > /codexspec:specify I want to build a todo application
164
168
  > /codexspec:generate-spec
169
+ > /codexspec:spec-to-design
165
170
  > /codexspec:spec-to-plan
166
171
  > /codexspec:plan-to-tasks
167
172
  > /codexspec:implement-tasks
@@ -310,9 +315,12 @@ The config command will guide you through:
310
315
  CodexSpec breaks development into **reviewable checkpoints**:
311
316
 
312
317
  ```
313
- Idea → /specify → requirements.md → /generate-spec → spec.md → /spec-to-plan → plan.md → /plan-to-tasks → tasks.md → /implement
314
- │ │ │
315
- Review spec Review plan Review tasks
318
+ Idea → /specify → requirements.md
319
+ → /generate-spec → spec.md → review-spec
320
+ → /spec-to-design → design.md → review-design
321
+ → /spec-to-plan → plan.md → review-plan
322
+ → /plan-to-tasks → tasks.md → review-tasks
323
+ → /implement-tasks → code
316
324
  ```
317
325
 
318
326
  ### Workflow Steps
@@ -322,10 +330,11 @@ Idea → /specify → requirements.md → /generate-spec → spec.md → /spec-t
322
330
  | 1. Project Principles | `/codexspec:constitution` | `constitution.md` | ✅ |
323
331
  | 2. Requirement Clarification | `/codexspec:specify` | `requirements.md` | ✅ |
324
332
  | 3. Generate Spec | `/codexspec:generate-spec` | `spec.md` + auto-review | ✅ |
325
- | 4. Technical Planning | `/codexspec:spec-to-plan` | `plan.md` + auto-review | ✅ |
326
- | 5. Task Breakdown | `/codexspec:plan-to-tasks` | `tasks.md` + auto-review | ✅ |
327
- | 6. Cross-Artifact Analysis | `/codexspec:analyze` | Analysis report | ✅ |
328
- | 7. Implementation | `/codexspec:implement-tasks` | Code | - |
333
+ | 4. System Design | `/codexspec:spec-to-design` | `design.md` + auto-review | ✅ |
334
+ | 5. Technical Planning | `/codexspec:spec-to-plan` | `plan.md` + auto-review | ✅ |
335
+ | 6. Task Breakdown | `/codexspec:plan-to-tasks` | `tasks.md` + auto-review | ✅ |
336
+ | 7. Cross-Artifact Analysis | `/codexspec:analyze` | Analysis report | ✅ |
337
+ | 8. Implementation | `/codexspec:implement-tasks` | Code | - |
329
338
 
330
339
  ### specify vs clarify: When to Use Which?
331
340
 
@@ -523,7 +532,8 @@ Implementation follows **conditional TDD workflow**:
523
532
  | `/codexspec:constitution` | Create/update project constitution with cross-artifact validation |
524
533
  | `/codexspec:specify` | Clarify, confirm, and persist requirements in `requirements.md` |
525
534
  | `/codexspec:generate-spec` | Generate `spec.md` document ★ Auto-review |
526
- | `/codexspec:spec-to-plan` | Convert spec to technical plan ★ Auto-review |
535
+ | `/codexspec:spec-to-design` | Produce `design.md` (architecture/components/decisions) ★ Auto-review |
536
+ | `/codexspec:spec-to-plan` | Convert design to implementation plan ★ Auto-review |
527
537
  | `/codexspec:plan-to-tasks` | Break down plan into traceable, verifiable tasks ★ Auto-review |
528
538
  | `/codexspec:implement-tasks` | Execute tasks (conditional TDD) |
529
539
 
@@ -532,6 +542,7 @@ Implementation follows **conditional TDD workflow**:
532
542
  | Command | Description |
533
543
  | ------------------------- | -------------------------------------- |
534
544
  | `/codexspec:review-spec` | Review specification (auto or manual) |
545
+ | `/codexspec:review-design` | Review design (auto or manual) |
535
546
  | `/codexspec:review-plan` | Review technical plan (auto or manual) |
536
547
  | `/codexspec:review-tasks` | Review task breakdown (auto or manual) |
537
548
 
@@ -559,6 +570,7 @@ Implementation follows **conditional TDD workflow**:
559
570
  | -------------------------- | ------------------------------------------------- |
560
571
  | `/codexspec:commit-staged` | Generate commit message from staged changes |
561
572
  | `/codexspec:pr` | Generate PR/MR description (auto-detect platform) |
573
+ | `/codexspec:release-notes` | Generate release notes from git history (maintain CHANGELOG.md + release body)|
562
574
 
563
575
  #### Code Review Commands
564
576
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codexspec"
3
- version = "0.7.8"
3
+ version = "0.7.10"
4
4
  description = "CodexSpec - A Requirements-First SDD toolkit for Claude Code"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -44,7 +44,7 @@ from .profile import ensure_profile_scaffold, inject_profile_block
44
44
  from .translator import SUPPORTED_LANGUAGES, translate
45
45
 
46
46
  # Version info
47
- __version__ = "0.7.8"
47
+ __version__ = "0.7.10"
48
48
  __author__ = "CodexSpec Team"
49
49
 
50
50
  # Constitution file path constants
@@ -47,11 +47,11 @@ def get_commands_metadata() -> list[CommandMetadata]:
47
47
 
48
48
  Returns:
49
49
  List of CommandMetadata dictionaries sorted by category priority:
50
- core (9) -> enhanced (7) -> git (2) -> review (1) -> utility (2)
51
- Total: 21 commands
50
+ core (11) -> enhanced (7) -> git (3) -> review (1) -> utility (2)
51
+ Total: 24 commands
52
52
  """
53
53
  return [
54
- # Core Commands (9)
54
+ # Core Commands (11)
55
55
  {
56
56
  "name": "constitution",
57
57
  "display_name": "/codexspec:constitution",
@@ -73,10 +73,17 @@ def get_commands_metadata() -> list[CommandMetadata]:
73
73
  "category": "core",
74
74
  "file_name": "generate-spec.md",
75
75
  },
76
+ {
77
+ "name": "spec-to-design",
78
+ "display_name": "/codexspec:spec-to-design",
79
+ "description": "将已确认的规格转换为可追溯的设计文档(架构/组件/关键设计决策)",
80
+ "category": "core",
81
+ "file_name": "spec-to-design.md",
82
+ },
76
83
  {
77
84
  "name": "spec-to-plan",
78
85
  "display_name": "/codexspec:spec-to-plan",
79
- "description": "将已确认的规格转换为可追溯的技术计划",
86
+ "description": "将已确认的设计转换为可追溯的实现计划",
80
87
  "category": "core",
81
88
  "file_name": "spec-to-plan.md",
82
89
  },
@@ -94,6 +101,13 @@ def get_commands_metadata() -> list[CommandMetadata]:
94
101
  "category": "core",
95
102
  "file_name": "review-spec.md",
96
103
  },
104
+ {
105
+ "name": "review-design",
106
+ "display_name": "/codexspec:review-design",
107
+ "description": "审查设计的忠实度、可行性与规划就绪度",
108
+ "category": "core",
109
+ "file_name": "review-design.md",
110
+ },
97
111
  {
98
112
  "name": "review-plan",
99
113
  "display_name": "/codexspec:review-plan",
@@ -165,7 +179,7 @@ def get_commands_metadata() -> list[CommandMetadata]:
165
179
  "category": "enhanced",
166
180
  "file_name": "debug.md",
167
181
  },
168
- # Git Workflow Commands (2)
182
+ # Git Workflow Commands (3)
169
183
  {
170
184
  "name": "commit-staged",
171
185
  "display_name": "/codexspec:commit-staged",
@@ -180,6 +194,13 @@ def get_commands_metadata() -> list[CommandMetadata]:
180
194
  "category": "git",
181
195
  "file_name": "pr.md",
182
196
  },
197
+ {
198
+ "name": "release-notes",
199
+ "display_name": "/codexspec:release-notes",
200
+ "description": "从 git 历史生成发布说明:更新 CHANGELOG.md + 用户向发布正文(不决定版本)",
201
+ "category": "git",
202
+ "file_name": "release-notes.md",
203
+ },
183
204
  # Code Review Commands (1)
184
205
  {
185
206
  "name": "review-code",
@@ -115,6 +115,7 @@ Use these Codex skills when working on CodexSpec workflows:
115
115
  - `$codexspec:constitution` to create or update project principles.
116
116
  - `$codexspec:specify` to capture confirmed requirements.
117
117
  - `$codexspec:generate-spec` to produce `spec.md`.
118
+ - `$codexspec:spec-to-design` to produce `design.md`.
118
119
  - `$codexspec:spec-to-plan` to produce `plan.md`.
119
120
  - `$codexspec:plan-to-tasks` to produce `tasks.md`.
120
121
  - `$codexspec:implement-tasks` to implement approved tasks.
@@ -22,7 +22,7 @@ Converse in the interaction language and author artifacts in the document langua
22
22
 
23
23
  This command detects cross-artifact inconsistencies **and auto-remediates them**. It is not read-only.
24
24
 
25
- - `requirements.md` is the single source of truth. analyze **never modifies `requirements.md`**. Every fix conforms the downstream artifacts (`spec.md`, `plan.md`, `tasks.md`) to `requirements.md`; the fix direction is uniquely determined by the authority hierarchy (requirements > spec > plan > tasks) and never requires inventing intent.
25
+ - `requirements.md` is the single source of truth. analyze **never modifies `requirements.md`**. Every fix conforms the downstream artifacts (`spec.md`, `design.md`, `plan.md`, `tasks.md`) to `requirements.md`; the fix direction is uniquely determined by the authority hierarchy (requirements > spec > design > plan > tasks) and never requires inventing intent.
26
26
  - Auto-apply deterministic, authority-directed fixes **by default** — both when invoked manually and when invoked inside the `auto_next` chain — with no confirmation prompt and no human-escalation path.
27
27
 
28
28
  Resolve the feature by explicit path, then current branch. Ask the user if it is ambiguous; never select the latest feature silently.
@@ -33,10 +33,13 @@ Load:
33
33
 
34
34
  - `requirements.md`
35
35
  - `spec.md`
36
+ - `design.md`
36
37
  - `plan.md`
37
38
  - `tasks.md`
38
39
  - Constitution
39
40
 
41
+ A legacy feature may have no `design.md`; when it is absent, analyze the chain without the design link and proceed.
42
+
40
43
  Legacy compatibility: if `requirements.md` is missing, state that the analysis starts at `spec.md` and cannot validate fidelity to the original discussion. In legacy mode there is no source of truth to conform to, so do not auto-modify artifacts; report findings only.
41
44
 
42
45
  ## End-to-End Traceability
@@ -46,7 +49,8 @@ Build the chain:
46
49
  ```text
47
50
  confirmed NEED/CON/DEC/OUT
48
51
  -> REQ/NFR Sources
49
- -> plan Covers
52
+ -> design Covers
53
+ -> plan Covers (Covers: REQ; Design: <component>)
50
54
  -> task Covers + Plan reference
51
55
  ```
52
56
 
@@ -54,7 +58,8 @@ Detect:
54
58
 
55
59
  - Confirmed requirements with no spec coverage
56
60
  - Spec requirements with missing or invalid sources
57
- - Spec requirements with no plan coverage
61
+ - Spec requirements with no design coverage
62
+ - Design components with no plan coverage
58
63
  - Plan deliverables with no task coverage
59
64
  - Tasks with no upstream authority or implementation-support justification
60
65
  - Semantic drift, scope expansion, contradictions, and use of superseded/open entries
@@ -89,7 +94,7 @@ Produce:
89
94
 
90
95
  - Authority mode
91
96
  - End-to-end coverage table
92
- - Applied remediations: the exact downstream edits made to `spec.md`/`plan.md`/`tasks.md` and why, or "none"
97
+ - Applied remediations: the exact downstream edits made to `spec.md`/`design.md`/`plan.md`/`tasks.md` and why, or "none"
93
98
  - Verified defects by severity that were not auto-remediable (for example, a reported-only tie-break conflict)
94
99
  - Unmapped or unauthorized items
95
100
  - Risk Advisories
@@ -101,8 +101,8 @@ Read `workflow.auto_next` from `.codexspec/config.yml` (default `false`; only th
101
101
 
102
102
  When `workflow.auto_next` is `true` AND the Automatic Review Loop above concluded in a passing state — the final Overall Status is `PASS` or `PASS_WITH_WARNINGS` — advance the chain automatically:
103
103
 
104
- 1. Emit exactly one notice line, in the interaction language, e.g. `auto_next: review passed → invoking /codexspec:spec-to-plan <feature-dir>`.
105
- 2. Invoke `/codexspec:spec-to-plan <feature-dir>` exactly once, then end this command.
104
+ 1. Emit exactly one notice line, in the interaction language, e.g. `auto_next: review passed → invoking /codexspec:spec-to-design <feature-dir>`.
105
+ 2. Invoke `/codexspec:spec-to-design <feature-dir>` exactly once, then end this command.
106
106
 
107
107
  Do not auto-advance when `workflow.auto_next` is disabled, or the review loop stopped at `NEEDS_REVISION` or `BLOCKED`, or stopped early per the conditions above; in those cases hand control back to the user exactly as the review loop already does. This advances the chain and does not modify the Output Summary.
108
108
 
@@ -37,6 +37,7 @@ Read:
37
37
 
38
38
  - `requirements.md`
39
39
  - `spec.md`
40
+ - `design.md`
40
41
  - `plan.md`
41
42
  - `tasks.md`
42
43
  - `.codexspec/memory/constitution.md` when present
@@ -46,8 +47,11 @@ Authority order:
46
47
  1. Confirmed entries in `requirements.md`
47
48
  2. `spec.md`
48
49
  3. Constitution and verified repository facts
49
- 4. Approved `plan.md`
50
- 5. `tasks.md`
50
+ 4. `design.md`
51
+ 5. Approved `plan.md`
52
+ 6. `tasks.md`
53
+
54
+ A legacy feature may have no `design.md`; when it is absent, proceed with `plan.md` as the design-and-plan authority.
51
55
 
52
56
  When `requirements.md` is absent, use legacy spec-only mode. Treat `spec.md` as
53
57
  the temporary highest feature authority and state that fidelity to the original
@@ -33,9 +33,12 @@ Read:
33
33
 
34
34
  - `requirements.md`
35
35
  - `spec.md`
36
+ - `design.md`
36
37
  - `plan.md`
37
38
  - Constitution and relevant repository conventions
38
39
 
40
+ `design.md` (the confirmed design) sits between `spec.md` and `plan.md` in authority; read it as context so tasks trace to the design the plan implements. A legacy feature may have no `design.md`; proceed from `plan.md` in that case.
41
+
39
42
  Legacy compatibility: when `requirements.md` is absent, use `spec.md` as the temporary highest authority and state the limitation.
40
43
 
41
44
  ## Stop Conditions
@@ -0,0 +1,212 @@
1
+ ---
2
+ description: Generate release notes from git history — maintain a Keep a Changelog CHANGELOG.md entry and emit a user-facing release body, without deciding versions or mutating git state
3
+ allowed-tools: Bash(git branch:*), Bash(git tag:*), Bash(git describe:*), Bash(git log:*), Bash(git diff:*), Bash(git rev-parse:*), Bash(git remote:*), Bash(ls:*), Bash(cat:*), Read, Edit, Write
4
+ ---
5
+
6
+ ## Constitution Compliance (MANDATORY)
7
+
8
+ **Before generating release notes:**
9
+
10
+ 1. **Check for Constitution File**: Look for `.codexspec/memory/constitution.md`
11
+ 2. **If Constitution Exists**:
12
+ - Load and read relevant principles (especially documentation and versioning standards)
13
+ - Ensure the generated notes align with constitutional guidelines
14
+ 3. **If No Constitution Exists**: Proceed with the defaults below
15
+
16
+ ## Language Preference
17
+
18
+ **IMPORTANT**: Before generating output, read the project's language configuration from `.codexspec/config.yml`.
19
+
20
+ **Generated-content language priority**:
21
+
22
+ 1. If `language.commit` is set, use that language for the CHANGELOG entry and release body
23
+ 2. Otherwise, use `language.output` as fallback
24
+ 3. If neither is configured, default to English
25
+
26
+ **Note**:
27
+
28
+ - Section headings that are format keywords (`Added`, `Changed`, `Fixed`, etc.) and technical terms
29
+ (API, JWT, OAuth) may remain in English when appropriate.
30
+ - The `## [Unreleased]` / `## [X.Y.Z]` version markers and ISO dates are format, not prose — keep them
31
+ as-is.
32
+
33
+ ## User Input
34
+
35
+ ```
36
+ $ARGUMENTS
37
+ ```
38
+
39
+ ## Role
40
+
41
+ You generate **release notes** from git history for **this project**, whatever its release process.
42
+ You make **no assumption** about how the project releases: there may be no `publish.sh`, no CI, no
43
+ particular hosting platform, and no particular versioning scheme (semver, CalVer, and date tags are
44
+ all possible). Every behavior below degrades gracefully when such an assumption does not hold.
45
+
46
+ You produce two layered outputs from the same analysis:
47
+
48
+ 1. A developer **CHANGELOG.md** entry in Keep a Changelog format.
49
+ 2. A user-facing **release body** derived from it.
50
+
51
+ You **own no versioning** and **mutate no git state** (see Forbidden Operations).
52
+
53
+ ## Forbidden Operations (CRITICAL)
54
+
55
+ This command is a **generator**, sharing the safety discipline of `commit-staged` and `pr`.
56
+
57
+ **UNDER NO CIRCUMSTANCES**:
58
+
59
+ - `git add` / `git commit` / `git reset` / `git checkout` / `git restore` / `git stash` / `git rm` —
60
+ the command MUST NEVER modify the git staging area and MUST NEVER create a commit.
61
+ - Overwrite `CHANGELOG.md` wholesale with `Write`, or rewrite / reorder / delete any existing
62
+ CHANGELOG entry.
63
+ - Decide or "own" a version bump; tag; publish; or create a GitHub/GitLab release.
64
+ - Include any AI attribution in generated content — no `Co-Authored-By`, "Generated with", robot
65
+ emoji, or references to AI tools/agents.
66
+
67
+ The **only** permitted file writes are: the safe additive `CHANGELOG.md` insertion described in
68
+ **CHANGELOG.md Maintenance**, and — only when `--output <file>` is given — writing the release body to
69
+ that user-directed path.
70
+
71
+ ## Parameters
72
+
73
+ Parse `$ARGUMENTS` for the following optional parameters:
74
+
75
+ | Parameter | Default | Description |
76
+ |-----------|---------|-------------|
77
+ | `--version <X.Y.Z>` | (none) | Stamp this version on the new section; short-circuits all version inference/suggestion |
78
+ | `--from <ref>` | (resolved) | Explicit range start (overrides Range Resolution) |
79
+ | `--to <ref>` | `HEAD` | Explicit range end |
80
+ | `--output <file>` | (terminal) | Write the release body to a file instead of stdout |
81
+ | `--spec <feature>` | (none) | Enrich the "why" from that feature's `spec.md` / `tasks.md` |
82
+
83
+ - If `--version` is present, **validate** it is a well-formed version string. If it is malformed,
84
+ **reject** with a clear validation message and do **not** write a malformed section.
85
+ - If `--spec` is present but does not resolve to an existing feature/path, **degrade gracefully**:
86
+ proceed from git alone and report the unresolved path. Do not fail.
87
+
88
+ ## Range Resolution
89
+
90
+ Determine the commit range `<from>..<to>` (default `<to>` is `HEAD`):
91
+
92
+ 1. **Explicit override**: if `--from` (and optionally `--to`) is given, use it directly.
93
+ 2. **Latest tag**: otherwise, the default range is `latest tag..HEAD` — resolve the latest tag via
94
+ `git describe --tags --abbrev=0`.
95
+ 3. **No reachable tag → CHANGELOG fallback**: if the repository has no reachable tag, fall back to
96
+ "after the last version recorded in `CHANGELOG.md`" (anchor on the most recent versioned section).
97
+ 4. **No tag and no CHANGELOG (or no anchorable version) → full history**: if neither a tag nor an
98
+ anchorable CHANGELOG version exists (for example the only prior section is `Unreleased`, which has
99
+ no commit anchor), summarize the **full history**.
100
+
101
+ Always apply `--no-merges` so merge commits are excluded. Route the Edge Cases below before analysis.
102
+
103
+ ## Git Context Collection
104
+
105
+ Over the resolved range, collect:
106
+
107
+ 1. **Commits**: `git log --no-merges --pretty=format:"%H %s" <from>..<to>`
108
+ 2. **Full diff**: `git diff <from>..<to>` (to understand what each commit actually changed)
109
+ 3. When `--spec` resolves: read that feature's `spec.md` / `tasks.md` for intent ("why").
110
+
111
+ ## Change Categorization
112
+
113
+ Group the changes into **Keep a Changelog** categories, including only those that apply:
114
+
115
+ - `### Added` — new features
116
+ - `### Changed` — changes to existing functionality
117
+ - `### Deprecated` — soon-to-be-removed features
118
+ - `### Removed` — removed features
119
+ - `### Fixed` — bug fixes
120
+ - `### Security` — security fixes
121
+
122
+ **Conventional commits are used when present but are NOT required.** When commits do not follow the
123
+ convention, **infer** the category and wording from the **diff and commit subjects** (the "diff is the
124
+ source of truth" approach of `commit-staged` / `pr`).
125
+
126
+ **User-facing vs contributor split**: the user-facing lists lead with user-visible changes
127
+ (`feat` / `fix` / `perf`, and anything a user would notice). Internal / contributor-only changes
128
+ (`chore` / `refactor` / `test` / `ci` / `build`, internal docs) go **only** under a separate
129
+ `### For contributors` subsection. When commit types are absent, infer visibility from the diff.
130
+
131
+ ## Completeness Cross-Check
132
+
133
+ After drafting, **cross-check** the entry against the commit list: **every non-merge commit in the
134
+ selected range must map to at least one bullet.** If any commit is unrepresented, add it. Do not pad
135
+ with bullets that correspond to no commit.
136
+
137
+ ## Version Handling
138
+
139
+ Choose the new section's label:
140
+
141
+ - **Default**: `## [Unreleased]` — with **no date** (the Keep a Changelog convention for accumulating
142
+ changes before a version is assigned).
143
+ - **`--version X.Y.Z` given**: stamp `## [X.Y.Z] - <YYYY-MM-DD>` (today's ISO date) and **skip all
144
+ version inference and suggestion**.
145
+
146
+ **Guarded advisory** (only when `--version` is absent): print a console-only suggested next version
147
+ **only when** the project is detected to use **semver AND conventional commits** — i.e. existing
148
+ tags/versions are semver-shaped *and* the range's commits carry conventional-commit prefixes. In that
149
+ case print the suggested next version, the reasoning (e.g. counts of `feat` / `fix` / breaking), and
150
+ an explicit "override with `--version`" note. **Otherwise stay silent** on version suggestions.
151
+
152
+ The command MUST **never write a version number into the file on its own** — the file section is only
153
+ ever `## [Unreleased]` or a user-provided `--version`.
154
+
155
+ ## CHANGELOG.md Maintenance
156
+
157
+ Maintain `CHANGELOG.md` at the repository root with a **safe, additive** edit:
158
+
159
+ 1. **Create if absent**: if `CHANGELOG.md` does not exist, create it with the **standard Keep a
160
+ Changelog header**:
161
+
162
+ ```markdown
163
+ # Changelog
164
+
165
+ All notable changes to this project will be documented in this file.
166
+
167
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
168
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
169
+ ```
170
+
171
+ 2. **Insert additively**: read the entire existing `CHANGELOG.md` first. Insert the new section at a
172
+ single insertion point — into an existing `## [Unreleased]` section when one is present (merge the
173
+ new bullets in rather than duplicating the section), else immediately above the most recent
174
+ versioned section, else directly after the header. **Never rewrite, reorder, or delete any
175
+ existing entry.**
176
+ 3. **Edit, never overwrite**: perform the insertion with a precise `Edit` (exact `old_string` match)
177
+ — **never** use `Write` to overwrite the whole `CHANGELOG.md`.
178
+
179
+ This is the command's only mutation of `CHANGELOG.md`, and it never touches git state.
180
+
181
+ ## Release Body Generation
182
+
183
+ Derive the user-facing **release body** from the same categorized model:
184
+
185
+ - Lead with what the user **can now do** — "You can now…", plain language, not implementation detail.
186
+ - Keep internal/contributor changes under a `### For contributors` subsection, out of the main list.
187
+ - Flag breaking changes visibly (`**Breaking change:**`).
188
+ - The body is **generic markdown**, platform-agnostic — the user pastes it into GitHub / GitLab / any
189
+ release page. The command does **not** publish it.
190
+
191
+ ## Output Modes
192
+
193
+ - **Terminal (default)**: print the release body to the terminal wrapped in a markdown code block so
194
+ the raw markdown can be copied.
195
+ - **`--output <file>`**: write the raw release body to that file (the one user-directed file write
196
+ permitted besides the CHANGELOG insertion).
197
+
198
+ The `CHANGELOG.md` entry is written in both modes.
199
+
200
+ ## Edge Cases
201
+
202
+ - **Not a git repository**: report "Not a git repository." and take no action.
203
+ - **Empty range** (no commits since the resolved start): report "No changes to release." — do not
204
+ fabricate entries and do not error.
205
+ - **Detached HEAD**: report that the branch cannot be determined and stop, rather than guessing.
206
+ - **Unresolved `--spec`**: proceed from git alone and report the unresolved path (see Parameters).
207
+ - **Malformed `--version`**: reject with a clear validation message; write no malformed section.
208
+
209
+ ## Automatic Distillation
210
+
211
+ This command has **no** Automatic Distillation step. It is a generator, not an interaction that
212
+ produces reusable cross-feature knowledge.