@polymorphism-tech/morph-spec 4.8.18 → 4.9.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.
Files changed (138) hide show
  1. package/CLAUDE.md +98 -0
  2. package/README.md +2 -2
  3. package/bin/morph-spec.js +15 -56
  4. package/bin/task-manager.js +115 -14
  5. package/bin/validate.js +67 -33
  6. package/claude-plugin.json +1 -1
  7. package/docs/CHEATSHEET.md +201 -203
  8. package/docs/QUICKSTART.md +2 -2
  9. package/framework/CLAUDE.md +21 -0
  10. package/framework/agents.json +758 -164
  11. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +1 -1
  12. package/framework/hooks/claude-code/post-tool-use/dispatch.js +2 -2
  13. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +155 -0
  14. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +1 -1
  15. package/framework/hooks/claude-code/session-start/inject-morph-context.js +71 -2
  16. package/framework/hooks/claude-code/statusline.py +76 -30
  17. package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +14 -6
  18. package/framework/hooks/shared/activity-logger.js +0 -24
  19. package/framework/hooks/shared/phase-utils.js +3 -0
  20. package/framework/hooks/shared/skill-reminder-helpers.js +79 -0
  21. package/framework/hooks/shared/stale-task-reset.js +57 -0
  22. package/framework/hooks/shared/state-reader.js +2 -2
  23. package/framework/hooks/shared/worktree-helpers.js +53 -0
  24. package/framework/phases.json +40 -8
  25. package/framework/skills/level-0-meta/brainstorming/SKILL.md +1 -1
  26. package/framework/skills/level-0-meta/code-review/SKILL.md +1 -1
  27. package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +163 -163
  28. package/framework/skills/level-0-meta/frontend-review/SKILL.md +5 -5
  29. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  30. package/framework/skills/level-0-meta/morph-init/SKILL.md +5 -5
  31. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +4 -4
  32. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +1 -1
  33. package/framework/skills/level-0-meta/post-implementation/SKILL.md +59 -12
  34. package/framework/skills/level-0-meta/simulation-checklist/SKILL.md +1 -1
  35. package/framework/skills/level-0-meta/terminal-title/SKILL.md +1 -1
  36. package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +1 -1
  37. package/framework/skills/level-0-meta/tool-usage-guide/references/tools-per-phase.md +6 -5
  38. package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +1 -1
  39. package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +215 -189
  40. package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +251 -251
  41. package/framework/skills/level-1-workflows/phase-design/SKILL.md +382 -365
  42. package/framework/skills/level-1-workflows/phase-implement/SKILL.md +492 -450
  43. package/framework/skills/level-1-workflows/phase-setup/SKILL.md +194 -190
  44. package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +270 -270
  45. package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +285 -285
  46. package/framework/standards/STANDARDS.json +640 -88
  47. package/framework/standards/infrastructure/vercel/vercel-database.md +106 -0
  48. package/framework/templates/REGISTRY.json +1825 -1909
  49. package/framework/templates/context/CONTEXT-FEATURE.md +276 -276
  50. package/framework/templates/docs/onboarding.md +1 -5
  51. package/framework/workflows/configs/nodejs-cli.json +40 -0
  52. package/package.json +2 -6
  53. package/src/commands/agents/dispatch-agents.js +55 -4
  54. package/src/commands/project/doctor.js +16 -47
  55. package/src/commands/project/init.js +1 -1
  56. package/src/commands/project/status.js +2 -2
  57. package/src/commands/project/update.js +381 -365
  58. package/src/commands/project/worktree.js +154 -0
  59. package/src/commands/state/advance-phase.js +120 -30
  60. package/src/commands/state/approve.js +2 -2
  61. package/src/commands/state/index.js +7 -8
  62. package/src/commands/state/phase-runner.js +1 -1
  63. package/src/commands/state/state.js +61 -6
  64. package/src/commands/tasks/task.js +78 -99
  65. package/src/commands/templates/template-render.js +93 -173
  66. package/src/commands/trust/trust.js +26 -21
  67. package/src/core/paths/output-schema.js +15 -0
  68. package/src/core/state/state-manager.js +28 -54
  69. package/src/core/workflows/workflow-detector.js +9 -87
  70. package/src/lib/phase-chain/phase-validator.js +330 -0
  71. package/src/lib/stack/stack-profile.js +88 -0
  72. package/src/lib/tasks/task-classifier.js +16 -0
  73. package/src/lib/tasks/test-runner.js +77 -0
  74. package/src/lib/trust/trust-manager.js +32 -144
  75. package/src/lib/validators/spec-validator.js +58 -4
  76. package/src/lib/validators/validation-runner.js +23 -11
  77. package/src/scripts/setup-infra.js +240 -224
  78. package/src/utils/agents-installer.js +2 -2
  79. package/src/utils/banner.js +1 -1
  80. package/src/utils/claude-settings-manager.js +1 -1
  81. package/src/utils/file-copier.js +1 -0
  82. package/src/utils/hooks-installer.js +258 -8
  83. package/framework/hooks/dev/check-sync-health.js +0 -117
  84. package/framework/hooks/dev/guard-version-numbers.js +0 -57
  85. package/framework/hooks/dev/sync-standards-registry.js +0 -60
  86. package/framework/hooks/dev/sync-template-registry.js +0 -60
  87. package/framework/hooks/dev/validate-skill-format.js +0 -70
  88. package/framework/hooks/dev/validate-standard-format.js +0 -73
  89. package/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
  90. package/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
  91. package/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
  92. package/framework/workflows/configs/design-impl.json +0 -49
  93. package/framework/workflows/configs/express.json +0 -45
  94. package/framework/workflows/configs/fast-track.json +0 -42
  95. package/framework/workflows/configs/full-morph.json +0 -79
  96. package/framework/workflows/configs/fusion.json +0 -39
  97. package/framework/workflows/configs/long-running.json +0 -33
  98. package/framework/workflows/configs/spec-only.json +0 -43
  99. package/framework/workflows/configs/ui-refresh.json +0 -49
  100. package/framework/workflows/configs/zero-touch.json +0 -82
  101. package/src/commands/project/monitor.js +0 -295
  102. package/src/commands/project/tutorial.js +0 -115
  103. package/src/commands/state/validate-phase.js +0 -238
  104. package/src/commands/templates/generate-contracts.js +0 -445
  105. package/src/core/orchestrator.js +0 -171
  106. package/src/core/registry/command-registry.js +0 -28
  107. package/src/core/registry/index.js +0 -8
  108. package/src/core/registry/validator-registry.js +0 -204
  109. package/src/core/templates/template-validator.js +0 -296
  110. package/src/generator/config-generator.js +0 -206
  111. package/src/generator/templates/config.json.template +0 -40
  112. package/src/generator/templates/project.md.template +0 -67
  113. package/src/lib/agents/micro-agent-factory.js +0 -161
  114. package/src/lib/analysis/complexity-analyzer.js +0 -441
  115. package/src/lib/analysis/index.js +0 -7
  116. package/src/lib/analytics/analytics-engine.js +0 -345
  117. package/src/lib/checkpoints/checkpoint-hooks.js +0 -298
  118. package/src/lib/checkpoints/index.js +0 -7
  119. package/src/lib/context/context-bundler.js +0 -241
  120. package/src/lib/context/context-optimizer.js +0 -212
  121. package/src/lib/context/context-tracker.js +0 -273
  122. package/src/lib/context/core-four-tracker.js +0 -201
  123. package/src/lib/context/mcp-optimizer.js +0 -200
  124. package/src/lib/execution/fusion-executor.js +0 -304
  125. package/src/lib/execution/parallel-executor.js +0 -270
  126. package/src/lib/hooks/stop-hook-executor.js +0 -286
  127. package/src/lib/hops/hop-composer.js +0 -221
  128. package/src/lib/phase-chain/eligibility-checker.js +0 -243
  129. package/src/lib/threads/thread-coordinator.js +0 -238
  130. package/src/lib/threads/thread-manager.js +0 -317
  131. package/src/lib/tracking/artifact-trail.js +0 -202
  132. package/src/scanner/project-scanner.js +0 -242
  133. package/src/ui/diff-display.js +0 -91
  134. package/src/ui/interactive-wizard.js +0 -96
  135. package/src/ui/user-review.js +0 -211
  136. package/src/ui/wizard-questions.js +0 -188
  137. package/src/utils/color-utils.js +0 -70
  138. package/src/utils/process-handler.js +0 -97
@@ -1,276 +1,276 @@
1
- # {{FEATURE_NAME}} - Feature Context
2
-
3
- > Auto-generated by MORPH-SPEC Framework
4
- > Last updated: {{TIMESTAMP}}
5
-
6
- ## Feature Overview
7
-
8
- **Name:** {{FEATURE_NAME}}
9
- **Phase:** {{PHASE}} ({{WORKFLOW_TYPE}})
10
- **Status:** {{STATUS}}
11
- **Complexity:** {{COMPLEXITY}}
12
-
13
- {{#if DESCRIPTION}}
14
- {{DESCRIPTION}}
15
- {{/if}}
16
-
17
- ---
18
-
19
- ## Progress Tracking
20
-
21
- ### Current Phase: {{PHASE}}
22
-
23
- {{PHASE_DESCRIPTION}}
24
-
25
- **Completed Phases:**
26
- {{#each COMPLETED_PHASES}}
27
- - ✅ {{name}} - {{completedAt}}
28
- {{/each}}
29
-
30
- **Next Phases:**
31
- {{#each UPCOMING_PHASES}}
32
- - ⏭️ {{name}}
33
- {{/each}}
34
-
35
- ### Task Progress
36
-
37
- **Total Tasks:** {{TASKS_TOTAL}}
38
- **Completed:** {{TASKS_COMPLETED}} ({{TASKS_PROGRESS}}%)
39
- **In Progress:** {{TASKS_IN_PROGRESS}}
40
- **Blocked:** {{TASKS_BLOCKED}}
41
-
42
- {{#if CURRENT_TASK}}
43
- **Current Task:** {{CURRENT_TASK.id}} - {{CURRENT_TASK.title}}
44
- {{/if}}
45
-
46
- ---
47
-
48
- ## Active Agents ({{ACTIVE_AGENTS_COUNT}})
49
-
50
- ### Team Structure
51
-
52
- {{#if TEAM_LEAD}}
53
- **Team Lead:** {{TEAM_LEAD.title}} (`{{TEAM_LEAD.id}}`)
54
- {{/if}}
55
-
56
- {{#each SQUADS}}
57
- ### {{leader.title}} Squad
58
- **Leader:** `{{leader.id}}`
59
- **Members ({{members.length}}):**
60
- {{#each members}}
61
- - {{title}} (`{{id}}`) {{#if status}}[{{status}}]{{/if}}
62
- {{/each}}
63
- {{/each}}
64
-
65
- ### Validators (Run in Hooks)
66
- {{#each VALIDATORS}}
67
- - {{title}} (`{{id}}`)
68
- {{/each}}
69
-
70
- ---
71
-
72
- ## Agent Teams
73
-
74
- {{#if AGENT_TEAMS_DECISION}}
75
- {{#if AGENT_TEAMS_DECISION.useAgentTeams}}
76
- ✅ **Agent Teams Recommended**
77
-
78
- **Reason:** {{AGENT_TEAMS_DECISION.reason}}
79
- **Display Mode:** {{AGENT_TEAMS_DECISION.displayMode}}
80
- **Total Teammates:** {{AGENT_TEAMS_DECISION.totalTeammates}}
81
-
82
- **Team Composition:**
83
- - Team Lead: {{AGENT_TEAMS_DECISION.teamLead}}
84
- - Domain Leaders: {{AGENT_TEAMS_DECISION.squads}}
85
- - Validators (hooks): {{AGENT_TEAMS_DECISION.validators}}
86
-
87
- {{else}}
88
- ❌ **Single Session Recommended**
89
-
90
- **Reason:** {{AGENT_TEAMS_DECISION.reason}}
91
- **Recommendation:** {{AGENT_TEAMS_DECISION.recommendation}}
92
- {{/if}}
93
- {{/if}}
94
-
95
- ---
96
-
97
- ## Outputs Generated
98
-
99
- {{#each OUTPUTS}}
100
- ### {{type}}
101
- **Status:** {{#if generated}}✅ Generated{{else}}⏳ Pending{{/if}}
102
- {{#if path}}**Path:** `{{path}}`{{/if}}
103
- {{#if generatedAt}}**Generated:** {{generatedAt}}{{/if}}
104
- {{/each}}
105
-
106
- ---
107
-
108
- ## Decisions Log
109
-
110
- {{#each DECISIONS}}
111
- ### ADR-{{id}}: {{title}}
112
-
113
- **Status:** {{status}}
114
- **Date:** {{date}}
115
- **Decided By:** {{decidedBy}}
116
-
117
- **Context:** {{context}}
118
-
119
- **Decision:** {{decision}}
120
-
121
- {{#if constraints}}
122
- **Constraints for Validators:**
123
- ```json
124
- {{constraints}}
125
- ```
126
- {{/if}}
127
-
128
- {{#if alternatives}}
129
- **Alternatives Considered:**
130
- {{#each alternatives}}
131
- - {{name}}: {{rationale}}
132
- {{/each}}
133
- {{/if}}
134
-
135
- ---
136
- {{/each}}
137
-
138
- {{#unless DECISIONS}}
139
- No decisions documented yet. Decisions will be logged in `decisions.md` during Design phase.
140
- {{/unless}}
141
-
142
- ---
143
-
144
- ## Validation Status
145
-
146
- {{#if VALIDATION_RESULTS}}
147
- ### Latest Validation ({{VALIDATION_TIMESTAMP}})
148
-
149
- **Overall:** {{#if VALIDATION_PASSED}}✅ PASSED{{else}}❌ FAILED{{/if}}
150
-
151
- {{#each VALIDATION_RESULTS}}
152
- #### {{validator}}
153
- **Status:** {{#if passed}}✅ PASSED{{else}}❌ FAILED{{/if}}
154
- {{#if issues}}
155
- **Issues ({{issues.length}}):**
156
- {{#each issues}}
157
- - [{{severity}}] {{message}} ({{file}}:{{line}})
158
- {{/each}}
159
- {{/if}}
160
- {{/each}}
161
-
162
- {{else}}
163
- No validation runs yet. Validators run automatically via checkpoints.
164
- {{/if}}
165
-
166
- ---
167
-
168
- ## Tasks Breakdown
169
-
170
- {{#each TASKS}}
171
- ### {{id}}: {{title}}
172
-
173
- **Status:** {{status}}
174
- {{#if priority}}**Priority:** {{priority}}{{/if}}
175
- {{#if estimatedFiles}}**Estimated Files:** {{estimatedFiles}}{{/if}}
176
- {{#if dependencies}}**Dependencies:** {{dependencies}}{{/if}}
177
-
178
- {{#if description}}
179
- {{description}}
180
- {{/if}}
181
-
182
- {{#if agent}}**Assigned Agent:** `{{agent}}`{{/if}}
183
-
184
- {{#if checkpointAfter}}🔖 **Checkpoint after this task**{{/if}}
185
-
186
- {{#if completedAt}}✅ Completed: {{completedAt}}{{/if}}
187
- {{#if blockedReason}}❌ Blocked: {{blockedReason}}{{/if}}
188
-
189
- ---
190
- {{/each}}
191
-
192
- ---
193
-
194
- ## Checkpoints
195
-
196
- {{#each CHECKPOINTS}}
197
- ### {{timestamp}}
198
- **Phase:** {{phase}}
199
- **Tasks Completed:** {{tasksCompleted}}/{{tasksTotal}}
200
-
201
- {{#if note}}
202
- **Note:** {{note}}
203
- {{/if}}
204
-
205
- {{#if validation}}
206
- **Validation:** {{validation.passed}}/{{validation.total}} checks passed
207
- {{#if validation.issues}}
208
- - Issues: {{validation.issues}}
209
- {{/if}}
210
- {{/if}}
211
-
212
- ---
213
- {{/each}}
214
-
215
- ---
216
-
217
- ## Related Standards
218
-
219
- {{#each RELATED_STANDARDS}}
220
- ### {{name}}
221
- **Path:** `{{path}}`
222
- {{#if relevantSections}}
223
- **Relevant Sections:** {{relevantSections}}
224
- {{/if}}
225
- {{/each}}
226
-
227
- ---
228
-
229
- ## Quick Actions
230
-
231
- ### Continue Implementation
232
- ```bash
233
- # Start next task
234
- morph-spec task next {{FEATURE_NAME}}
235
-
236
- # Complete current task (runs validators)
237
- morph-spec task done {{FEATURE_NAME}} {{CURRENT_TASK_ID}}
238
-
239
- # Generate recap after task completion
240
- morph-spec generate recap {{FEATURE_NAME}}
241
- ```
242
-
243
- ### Advance Phase
244
- ```bash
245
- # Check prerequisites and advance
246
- morph-spec phase advance {{FEATURE_NAME}}
247
-
248
- # Validate current phase before advancing
249
- morph-spec validate-phase {{FEATURE_NAME}} {{PHASE}}
250
- ```
251
-
252
- ### Validation
253
- ```bash
254
- # Run all validators for active agents
255
- morph-spec validate {{FEATURE_NAME}}
256
-
257
- # Run specific validator
258
- morph-spec validate-{{VALIDATOR}} {{FEATURE_NAME}}
259
- ```
260
-
261
- ---
262
-
263
- ## File Paths
264
-
265
- - **Outputs Directory:** `.morph/features/{{FEATURE_NAME}}/`
266
- - **Proposal:** `{{PROPOSAL_PATH}}`
267
- - **Spec:** `{{SPEC_PATH}}`
268
- - **Contracts:** `{{CONTRACTS_PATH}}`
269
- - **Tasks:** `{{TASKS_PATH}}`
270
- - **Decisions:** `{{DECISIONS_PATH}}`
271
- - **Recap:** `{{RECAP_PATH}}`
272
-
273
- ---
274
-
275
- *Generated by MORPH-SPEC Framework v{{MORPH_VERSION}}*
276
- *Feature ID: {{FEATURE_ID}}*
1
+ # {{FEATURE_NAME}} - Feature Context
2
+
3
+ > Auto-generated by MORPH-SPEC Framework
4
+ > Last updated: {{TIMESTAMP}}
5
+
6
+ ## Feature Overview
7
+
8
+ **Name:** {{FEATURE_NAME}}
9
+ **Phase:** {{PHASE}} ({{WORKFLOW_TYPE}})
10
+ **Status:** {{STATUS}}
11
+ **Complexity:** {{COMPLEXITY}}
12
+
13
+ {{#if DESCRIPTION}}
14
+ {{DESCRIPTION}}
15
+ {{/if}}
16
+
17
+ ---
18
+
19
+ ## Progress Tracking
20
+
21
+ ### Current Phase: {{PHASE}}
22
+
23
+ {{PHASE_DESCRIPTION}}
24
+
25
+ **Completed Phases:**
26
+ {{#each COMPLETED_PHASES}}
27
+ - ✅ {{name}} - {{completedAt}}
28
+ {{/each}}
29
+
30
+ **Next Phases:**
31
+ {{#each UPCOMING_PHASES}}
32
+ - ⏭️ {{name}}
33
+ {{/each}}
34
+
35
+ ### Task Progress
36
+
37
+ **Total Tasks:** {{TASKS_TOTAL}}
38
+ **Completed:** {{TASKS_COMPLETED}} ({{TASKS_PROGRESS}}%)
39
+ **In Progress:** {{TASKS_IN_PROGRESS}}
40
+ **Blocked:** {{TASKS_BLOCKED}}
41
+
42
+ {{#if CURRENT_TASK}}
43
+ **Current Task:** {{CURRENT_TASK.id}} - {{CURRENT_TASK.title}}
44
+ {{/if}}
45
+
46
+ ---
47
+
48
+ ## Active Agents ({{ACTIVE_AGENTS_COUNT}})
49
+
50
+ ### Team Structure
51
+
52
+ {{#if TEAM_LEAD}}
53
+ **Team Lead:** {{TEAM_LEAD.title}} (`{{TEAM_LEAD.id}}`)
54
+ {{/if}}
55
+
56
+ {{#each SQUADS}}
57
+ ### {{leader.title}} Squad
58
+ **Leader:** `{{leader.id}}`
59
+ **Members ({{members.length}}):**
60
+ {{#each members}}
61
+ - {{title}} (`{{id}}`) {{#if status}}[{{status}}]{{/if}}
62
+ {{/each}}
63
+ {{/each}}
64
+
65
+ ### Validators (Run in Hooks)
66
+ {{#each VALIDATORS}}
67
+ - {{title}} (`{{id}}`)
68
+ {{/each}}
69
+
70
+ ---
71
+
72
+ ## Agent Teams
73
+
74
+ {{#if AGENT_TEAMS_DECISION}}
75
+ {{#if AGENT_TEAMS_DECISION.useAgentTeams}}
76
+ ✅ **Agent Teams Recommended**
77
+
78
+ **Reason:** {{AGENT_TEAMS_DECISION.reason}}
79
+ **Display Mode:** {{AGENT_TEAMS_DECISION.displayMode}}
80
+ **Total Teammates:** {{AGENT_TEAMS_DECISION.totalTeammates}}
81
+
82
+ **Team Composition:**
83
+ - Team Lead: {{AGENT_TEAMS_DECISION.teamLead}}
84
+ - Domain Leaders: {{AGENT_TEAMS_DECISION.squads}}
85
+ - Validators (hooks): {{AGENT_TEAMS_DECISION.validators}}
86
+
87
+ {{else}}
88
+ ❌ **Single Session Recommended**
89
+
90
+ **Reason:** {{AGENT_TEAMS_DECISION.reason}}
91
+ **Recommendation:** {{AGENT_TEAMS_DECISION.recommendation}}
92
+ {{/if}}
93
+ {{/if}}
94
+
95
+ ---
96
+
97
+ ## Outputs Generated
98
+
99
+ {{#each OUTPUTS}}
100
+ ### {{type}}
101
+ **Status:** {{#if generated}}✅ Generated{{else}}⏳ Pending{{/if}}
102
+ {{#if path}}**Path:** `{{path}}`{{/if}}
103
+ {{#if generatedAt}}**Generated:** {{generatedAt}}{{/if}}
104
+ {{/each}}
105
+
106
+ ---
107
+
108
+ ## Decisions Log
109
+
110
+ {{#each DECISIONS}}
111
+ ### ADR-{{id}}: {{title}}
112
+
113
+ **Status:** {{status}}
114
+ **Date:** {{date}}
115
+ **Decided By:** {{decidedBy}}
116
+
117
+ **Context:** {{context}}
118
+
119
+ **Decision:** {{decision}}
120
+
121
+ {{#if constraints}}
122
+ **Constraints for Validators:**
123
+ ```json
124
+ {{constraints}}
125
+ ```
126
+ {{/if}}
127
+
128
+ {{#if alternatives}}
129
+ **Alternatives Considered:**
130
+ {{#each alternatives}}
131
+ - {{name}}: {{rationale}}
132
+ {{/each}}
133
+ {{/if}}
134
+
135
+ ---
136
+ {{/each}}
137
+
138
+ {{#unless DECISIONS}}
139
+ No decisions documented yet. Decisions will be logged in `decisions.md` during Design phase.
140
+ {{/unless}}
141
+
142
+ ---
143
+
144
+ ## Validation Status
145
+
146
+ {{#if VALIDATION_RESULTS}}
147
+ ### Latest Validation ({{VALIDATION_TIMESTAMP}})
148
+
149
+ **Overall:** {{#if VALIDATION_PASSED}}✅ PASSED{{else}}❌ FAILED{{/if}}
150
+
151
+ {{#each VALIDATION_RESULTS}}
152
+ #### {{validator}}
153
+ **Status:** {{#if passed}}✅ PASSED{{else}}❌ FAILED{{/if}}
154
+ {{#if issues}}
155
+ **Issues ({{issues.length}}):**
156
+ {{#each issues}}
157
+ - [{{severity}}] {{message}} ({{file}}:{{line}})
158
+ {{/each}}
159
+ {{/if}}
160
+ {{/each}}
161
+
162
+ {{else}}
163
+ No validation runs yet. Validators run automatically via checkpoints.
164
+ {{/if}}
165
+
166
+ ---
167
+
168
+ ## Tasks Breakdown
169
+
170
+ {{#each TASKS}}
171
+ ### {{id}}: {{title}}
172
+
173
+ **Status:** {{status}}
174
+ {{#if priority}}**Priority:** {{priority}}{{/if}}
175
+ {{#if estimatedFiles}}**Estimated Files:** {{estimatedFiles}}{{/if}}
176
+ {{#if dependencies}}**Dependencies:** {{dependencies}}{{/if}}
177
+
178
+ {{#if description}}
179
+ {{description}}
180
+ {{/if}}
181
+
182
+ {{#if agent}}**Assigned Agent:** `{{agent}}`{{/if}}
183
+
184
+ {{#if checkpointAfter}}🔖 **Checkpoint after this task**{{/if}}
185
+
186
+ {{#if completedAt}}✅ Completed: {{completedAt}}{{/if}}
187
+ {{#if blockedReason}}❌ Blocked: {{blockedReason}}{{/if}}
188
+
189
+ ---
190
+ {{/each}}
191
+
192
+ ---
193
+
194
+ ## Checkpoints
195
+
196
+ {{#each CHECKPOINTS}}
197
+ ### {{timestamp}}
198
+ **Phase:** {{phase}}
199
+ **Tasks Completed:** {{tasksCompleted}}/{{tasksTotal}}
200
+
201
+ {{#if note}}
202
+ **Note:** {{note}}
203
+ {{/if}}
204
+
205
+ {{#if validation}}
206
+ **Validation:** {{validation.passed}}/{{validation.total}} checks passed
207
+ {{#if validation.issues}}
208
+ - Issues: {{validation.issues}}
209
+ {{/if}}
210
+ {{/if}}
211
+
212
+ ---
213
+ {{/each}}
214
+
215
+ ---
216
+
217
+ ## Related Standards
218
+
219
+ {{#each RELATED_STANDARDS}}
220
+ ### {{name}}
221
+ **Path:** `{{path}}`
222
+ {{#if relevantSections}}
223
+ **Relevant Sections:** {{relevantSections}}
224
+ {{/if}}
225
+ {{/each}}
226
+
227
+ ---
228
+
229
+ ## Quick Actions
230
+
231
+ ### Continue Implementation
232
+ ```bash
233
+ # Start next task
234
+ morph-spec task next {{FEATURE_NAME}}
235
+
236
+ # Complete current task (runs validators)
237
+ morph-spec task done {{FEATURE_NAME}} {{CURRENT_TASK_ID}}
238
+
239
+ # Generate recap after task completion
240
+ morph-spec generate recap {{FEATURE_NAME}}
241
+ ```
242
+
243
+ ### Advance Phase
244
+ ```bash
245
+ # Check prerequisites and advance
246
+ morph-spec phase advance {{FEATURE_NAME}}
247
+
248
+ # Validate feature outputs
249
+ morph-spec validate-feature {{FEATURE_NAME}}
250
+ ```
251
+
252
+ ### Validation
253
+ ```bash
254
+ # Run all validators for active agents
255
+ morph-spec validate {{FEATURE_NAME}}
256
+
257
+ # Run specific validator
258
+ morph-spec validate-{{VALIDATOR}} {{FEATURE_NAME}}
259
+ ```
260
+
261
+ ---
262
+
263
+ ## File Paths
264
+
265
+ - **Outputs Directory:** `.morph/features/{{FEATURE_NAME}}/`
266
+ - **Proposal:** `{{PROPOSAL_PATH}}`
267
+ - **Spec:** `{{SPEC_PATH}}`
268
+ - **Contracts:** `{{CONTRACTS_PATH}}`
269
+ - **Tasks:** `{{TASKS_PATH}}`
270
+ - **Decisions:** `{{DECISIONS_PATH}}`
271
+ - **Recap:** `{{RECAP_PATH}}`
272
+
273
+ ---
274
+
275
+ *Generated by MORPH-SPEC Framework v{{MORPH_VERSION}}*
276
+ *Feature ID: {{FEATURE_ID}}*
@@ -71,12 +71,8 @@ morph-spec task next <feature>
71
71
  morph-spec task start <feature> <task-id>
72
72
  morph-spec task done <feature> <task-id>
73
73
 
74
- # Save/restore checkpoints
74
+ # Save a checkpoint
75
75
  morph-spec checkpoint-save <feature>
76
- morph-spec checkpoint-list <feature>
77
-
78
- # View changes since last snapshot
79
- morph-spec diff <feature>
80
76
 
81
77
  # Health check
82
78
  morph-spec doctor
@@ -0,0 +1,40 @@
1
+ {
2
+ "id": "nodejs-cli",
3
+ "name": "Node.js CLI Development",
4
+ "description": "Workflow otimizado para desenvolvimento de features em projetos CLI Node.js/ESM, como o morph-spec-framework.",
5
+ "criteria": {
6
+ "maxFiles": 15,
7
+ "maxLines": 400,
8
+ "maxComponents": 0,
9
+ "noInfrastructure": true,
10
+ "noArchitecturalDecisions": false
11
+ },
12
+ "keywords": [
13
+ "nodejs", "javascript", "esm", "cli", "commander", "command", "morph-spec",
14
+ "hook", "validator", "plugin", "script"
15
+ ],
16
+ "phases": {
17
+ "run": ["proposal", "setup", "design", "tasks", "implement"],
18
+ "skip": ["uiux", "clarify", "sync"],
19
+ "combined": {}
20
+ },
21
+ "pausePoints": [
22
+ {
23
+ "phase": "design",
24
+ "question": "O design da feature está correto? Approve para gerar tasks."
25
+ },
26
+ {
27
+ "phase": "tasks",
28
+ "question": "As tasks estão bem definidas? Approve para iniciar implementação."
29
+ }
30
+ ],
31
+ "outputs": {
32
+ "required": ["proposal", "spec", "tasks"],
33
+ "optional": ["contracts", "decisions", "recap"]
34
+ },
35
+ "agentPreferences": {
36
+ "specialists": ["morph-spec-architect", "nodejs-cli-expert"],
37
+ "validators": ["morph-spec-validator"]
38
+ },
39
+ "priority": 5
40
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polymorphism-tech/morph-spec",
3
- "version": "4.8.18",
3
+ "version": "4.9.0",
4
4
  "description": "MORPH-SPEC: AI-First development framework with validation pipeline and multi-stack support",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -52,18 +52,14 @@
52
52
  "postinstall": "node src/scripts/global-install.js"
53
53
  },
54
54
  "dependencies": {
55
- "ajv": "^8.12.0",
56
- "ajv-formats": "^3.0.1",
57
55
  "chalk": "^5.3.0",
58
56
  "commander": "^12.0.0",
59
- "diff": "^5.2.0",
60
57
  "fs-extra": "^11.2.0",
61
58
  "glob": "^10.3.0",
62
59
  "handlebars": "^4.7.8",
63
60
  "inquirer": "^9.2.0",
64
61
  "minimatch": "^9.0.5",
65
- "ora": "^8.0.0",
66
- "yaml": "^2.3.4"
62
+ "ora": "^8.0.0"
67
63
  },
68
64
  "repository": {
69
65
  "type": "git",