@polymorphism-tech/morph-spec 2.4.0 → 3.0.1

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 (87) hide show
  1. package/CLAUDE.md +75 -239
  2. package/bin/morph-spec.js +8 -0
  3. package/content/.claude/commands/morph-deploy.md +529 -0
  4. package/content/.claude/skills/level-0-meta/README.md +7 -0
  5. package/content/.claude/skills/{checklists → level-0-meta}/morph-checklist.md +117 -117
  6. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  7. package/content/.claude/skills/{workflows → level-1-workflows}/morph-replicate.md +213 -213
  8. package/content/.claude/skills/{workflows → level-1-workflows}/phase-clarify.md +131 -131
  9. package/content/.claude/skills/{workflows → level-1-workflows}/phase-design.md +213 -205
  10. package/content/.claude/skills/{workflows → level-1-workflows}/phase-setup.md +106 -92
  11. package/content/.claude/skills/{workflows → level-1-workflows}/phase-tasks.md +164 -164
  12. package/content/.claude/skills/{workflows → level-1-workflows}/phase-uiux.md +169 -138
  13. package/content/.claude/skills/level-2-domains/README.md +14 -0
  14. package/content/.claude/skills/level-2-domains/architecture/prompt-engineer.md +189 -0
  15. package/content/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +320 -0
  16. package/content/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +699 -0
  17. package/content/.claude/skills/{specialists → level-2-domains/quality}/testing-specialist.md +126 -126
  18. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  19. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  20. package/content/.morph/config/agents.json +744 -358
  21. package/content/.morph/config/config.template.json +33 -0
  22. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  23. package/content/.morph/examples/scheduled-reports/decisions.md +158 -158
  24. package/content/.morph/examples/scheduled-reports/proposal.md +95 -95
  25. package/content/.morph/examples/scheduled-reports/spec.md +267 -267
  26. package/content/.morph/hooks/README.md +158 -0
  27. package/content/.morph/hooks/task-completed.js +73 -0
  28. package/content/.morph/hooks/teammate-idle.js +68 -0
  29. package/content/.morph/schemas/tasks.schema.json +220 -220
  30. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  31. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  32. package/content/.morph/templates/CONTEXT.md +170 -0
  33. package/content/.morph/templates/clarify-questions.md +159 -159
  34. package/content/.morph/templates/contracts/Commands.cs +74 -74
  35. package/content/.morph/templates/contracts/Entities.cs +25 -25
  36. package/content/.morph/templates/contracts/Queries.cs +74 -74
  37. package/content/.morph/templates/contracts/README.md +74 -74
  38. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  39. package/package.json +1 -2
  40. package/scripts/reorganize-skills.cjs +175 -0
  41. package/scripts/validate-agents-structure.cjs +52 -0
  42. package/scripts/validate-skills.cjs +180 -0
  43. package/src/commands/advance-phase.js +83 -0
  44. package/src/commands/deploy.js +780 -0
  45. package/src/commands/detect-agents.js +43 -6
  46. package/src/commands/detect.js +1 -1
  47. package/src/commands/generate-context.js +40 -0
  48. package/src/commands/state.js +2 -1
  49. package/src/commands/sync.js +1 -1
  50. package/src/commands/update.js +13 -1
  51. package/src/lib/context-generator.js +513 -0
  52. package/src/lib/design-system-detector.js +187 -0
  53. package/src/lib/design-system-scaffolder.js +299 -0
  54. package/src/lib/hook-executor.js +256 -0
  55. package/src/lib/spec-validator.js +258 -0
  56. package/src/lib/standards-context-injector.js +287 -0
  57. package/src/lib/state-manager.js +21 -4
  58. package/src/lib/team-orchestrator.js +322 -0
  59. package/src/lib/validation-runner.js +65 -13
  60. package/src/lib/validators/design-system-validator.js +231 -0
  61. package/src/utils/file-copier.js +9 -1
  62. /package/content/.claude/skills/{checklists → level-0-meta}/code-review.md +0 -0
  63. /package/content/.claude/skills/{checklists → level-0-meta}/simulation-checklist.md +0 -0
  64. /package/content/.claude/skills/{specialists → level-2-domains/ai-agents}/ai-system-architect.md +0 -0
  65. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +0 -0
  66. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/standards-architect.md +0 -0
  67. /package/content/.claude/skills/{specialists → level-2-domains/backend}/dotnet-senior.md +0 -0
  68. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ef-modeler.md +0 -0
  69. /package/content/.claude/skills/{specialists → level-2-domains/backend}/hangfire-orchestrator.md +0 -0
  70. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ms-agent-expert.md +0 -0
  71. /package/content/.claude/skills/{stacks/dotnet-blazor.md → level-2-domains/frontend/blazor-builder.md} +0 -0
  72. /package/content/.claude/skills/{stacks/dotnet-nextjs.md → level-2-domains/frontend/nextjs-expert.md} +0 -0
  73. /package/content/.claude/skills/{specialists → level-2-domains/frontend}/ui-ux-designer.md +0 -0
  74. /package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +0 -0
  75. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/bicep-architect.md +0 -0
  76. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/container-specialist.md +0 -0
  77. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/devops-engineer.md +0 -0
  78. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/asaas-financial.md +0 -0
  79. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/azure-identity.md +0 -0
  80. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/clerk-auth.md +0 -0
  81. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/resend-email.md +0 -0
  82. /package/content/.claude/skills/{specialists → level-2-domains/quality}/code-analyzer.md +0 -0
  83. /package/{detectors → src/lib/detectors}/config-detector.js +0 -0
  84. /package/{detectors → src/lib/detectors}/conversation-analyzer.js +0 -0
  85. /package/{detectors → src/lib/detectors}/index.js +0 -0
  86. /package/{detectors → src/lib/detectors}/standards-generator.js +0 -0
  87. /package/{detectors → src/lib/detectors}/structure-detector.js +0 -0
@@ -0,0 +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 FASE 2 (Design).
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 `morph-spec task done`.
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/project/outputs/{{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}}*
@@ -0,0 +1,170 @@
1
+ # {{PROJECT_NAME}} - Project Context
2
+
3
+ > Auto-generated by MORPH-SPEC Framework
4
+ > Last updated: {{TIMESTAMP}}
5
+
6
+ ## Project Overview
7
+
8
+ **Name:** {{PROJECT_NAME}}
9
+ **Type:** {{PROJECT_TYPE}}
10
+ **Repository:** {{REPOSITORY_URL}}
11
+
12
+ {{PROJECT_DESCRIPTION}}
13
+
14
+ ---
15
+
16
+ ## Technology Stack
17
+
18
+ ### Frontend
19
+ {{#if BLAZOR_ENABLED}}- **Blazor Server** {{BLAZOR_VERSION}}{{/if}}
20
+ {{#if NEXTJS_ENABLED}}- **Next.js** {{NEXTJS_VERSION}}{{/if}}
21
+ {{#if UI_LIBRARY}}- **UI Library:** {{UI_LIBRARY}}{{/if}}
22
+
23
+ ### Backend
24
+ - **.NET** {{DOTNET_VERSION}}
25
+ - **Entity Framework Core** {{EF_VERSION}}
26
+ {{#if HANGFIRE_ENABLED}}- **Hangfire** (Background Jobs){{/if}}
27
+ {{#if AGENT_FRAMEWORK_ENABLED}}- **Microsoft Agent Framework** (AI Agents){{/if}}
28
+
29
+ ### Infrastructure
30
+ - **Azure** ({{AZURE_LOCATION}})
31
+ {{#if CONTAINER_APPS_ENABLED}}- **Container Apps** ({{CONTAINER_ENV}}){{/if}}
32
+ {{#if SQL_ENABLED}}- **Azure SQL** ({{SQL_SERVER}}/{{SQL_DATABASE}}){{/if}}
33
+ {{#if OPENAI_ENABLED}}- **Azure OpenAI** ({{OPENAI_MODEL}}){{/if}}
34
+ {{#if MONITORING_ENABLED}}- **Application Insights** ({{APP_INSIGHTS}}){{/if}}
35
+
36
+ ---
37
+
38
+ ## Active Features
39
+
40
+ {{#each ACTIVE_FEATURES}}
41
+ ### {{name}} ({{phase}})
42
+ **Status:** {{status}}
43
+ **Complexity:** {{complexity}}
44
+ **Active Agents:** {{activeAgents}}
45
+
46
+ {{#if description}}{{description}}{{/if}}
47
+
48
+ **Progress:**
49
+ - Tasks: {{tasks.completed}}/{{tasks.total}}
50
+ - Outputs: {{outputs}}
51
+
52
+ {{/each}}
53
+
54
+ ---
55
+
56
+ ## Project Standards
57
+
58
+ ### Coding Standards
59
+ {{#each PROJECT_STANDARDS}}
60
+ - [{{name}}]({{path}}){{#if description}} - {{description}}{{/if}}
61
+ {{/each}}
62
+
63
+ ### Inferred Patterns
64
+ {{#if INFERRED_STANDARDS}}
65
+ {{INFERRED_STANDARDS}}
66
+ {{/if}}
67
+
68
+ ---
69
+
70
+ ## Active Agents ({{AGENT_COUNT}})
71
+
72
+ ### Tier 1: Orchestrators
73
+ {{#each TIER_1_AGENTS}}
74
+ - **{{title}}** (`{{id}}`) {{#if always_active}}[Always Active]{{/if}}
75
+ {{/each}}
76
+
77
+ ### Tier 2: Domain Leaders
78
+ {{#each TIER_2_AGENTS}}
79
+ - **{{title}}** (`{{id}}`) - {{domains}}
80
+ {{/each}}
81
+
82
+ ### Tier 3: Specialists
83
+ {{#each TIER_3_AGENTS}}
84
+ - **{{title}}** (`{{id}}`) - Reports to `{{reports_to}}`
85
+ {{/each}}
86
+
87
+ ---
88
+
89
+ ## Agent Teams Status
90
+
91
+ {{#if AGENT_TEAMS_ENABLED}}
92
+ ✅ **Enabled** (Display Mode: {{AGENT_TEAMS_DISPLAY_MODE}})
93
+
94
+ **Spawn Thresholds:**
95
+ - Complexity: {{AGENT_TEAMS_THRESHOLDS.complexity}}
96
+ - Estimated Files: ≥ {{AGENT_TEAMS_THRESHOLDS.estimatedFiles}}
97
+ - Active Agents: ≥ {{AGENT_TEAMS_THRESHOLDS.activeAgents}}
98
+ - Multi-Domain: {{AGENT_TEAMS_THRESHOLDS.multiDomain}}
99
+
100
+ {{else}}
101
+ ❌ **Disabled** - Use single session with subagents
102
+ {{/if}}
103
+
104
+ ---
105
+
106
+ ## Recent Checkpoints
107
+
108
+ {{#each RECENT_CHECKPOINTS}}
109
+ ### {{timestamp}}
110
+ **Feature:** {{feature}}
111
+ **Phase:** {{phase}}
112
+ **Note:** {{note}}
113
+
114
+ {{#if validation}}
115
+ **Validation:** {{validation.passed}}/{{validation.total}} checks passed
116
+ {{/if}}
117
+
118
+ {{/each}}
119
+
120
+ ---
121
+
122
+ ## DevOps Integration
123
+
124
+ {{#if DEVOPS_ENABLED}}
125
+ **Organization:** {{DEVOPS_ORG}}
126
+ **Project:** {{DEVOPS_PROJECT}}
127
+
128
+ - **Boards:** {{#if DEVOPS_BOARDS_ENABLED}}Enabled ({{DEVOPS_AREA_PATH}}){{else}}Disabled{{/if}}
129
+ - **Wiki:** {{#if DEVOPS_WIKI_ENABLED}}Enabled ({{DEVOPS_WIKI_NAME}}){{else}}Disabled{{/if}}
130
+ - **Pipelines:** CI: {{DEVOPS_BUILD_PIPELINE}}, CD: {{DEVOPS_RELEASE_PIPELINE}}
131
+
132
+ {{else}}
133
+ DevOps integration not configured.
134
+ {{/if}}
135
+
136
+ ---
137
+
138
+ ## Quick Reference
139
+
140
+ ### Workflow Commands
141
+ ```bash
142
+ # Detect agents for feature
143
+ morph-spec detect-agents "{feature description}"
144
+
145
+ # Initialize new feature
146
+ morph-spec state init
147
+
148
+ # Generate design system
149
+ morph-spec generate design-system {feature}
150
+
151
+ # Advance to next phase
152
+ morph-spec phase advance {feature}
153
+
154
+ # Mark task complete (runs validators)
155
+ morph-spec task done {feature} {task-id}
156
+
157
+ # Generate recap
158
+ morph-spec generate recap {feature}
159
+ ```
160
+
161
+ ### Key Paths
162
+ - **Outputs:** `.morph/project/outputs/{feature}/`
163
+ - **Standards:** `.morph/project/standards/` (project overrides)
164
+ - **Config:** `.morph/config/config.json`
165
+ - **State:** `.morph/state.json`
166
+ - **Templates:** `.morph/templates/`
167
+
168
+ ---
169
+
170
+ *Generated by MORPH-SPEC Framework v{{MORPH_VERSION}}*