@polymorphism-tech/morph-spec 4.10.7 → 4.10.9
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/CLAUDE.md +3 -3
- package/LICENSE +71 -71
- package/README.md +379 -379
- package/bin/morph-spec.js +1 -1
- package/claude-plugin.json +14 -14
- package/docs/CHEATSHEET.md +1 -1
- package/docs/QUICKSTART.md +206 -206
- package/framework/agents/README.md +14 -14
- package/framework/agents/architecture/standards-architect.md +159 -159
- package/framework/agents/frontend/blazor-builder.md +13 -0
- package/framework/agents/frontend/css-specialist.md +87 -0
- package/framework/agents/frontend/nextjs-expert.md +13 -0
- package/framework/agents/frontend/nextjs-ui-specialist.md +218 -0
- package/framework/agents/frontend/ui-ux-designer.md +80 -10
- package/framework/agents/infrastructure/azure-architect.md +149 -149
- package/framework/agents/infrastructure/infra-architect.md +48 -48
- package/framework/agents.json +2268 -2204
- package/framework/hooks/README.md +204 -204
- package/framework/hooks/claude-code/session-start/inject-morph-context.js +10 -24
- package/framework/hooks/shared/phase-utils.js +139 -139
- package/framework/hooks/shared/worktree-helpers.js +30 -8
- package/framework/rules/csharp-standards.md +13 -13
- package/framework/rules/frontend-standards.md +13 -13
- package/framework/rules/infrastructure-standards.md +16 -16
- package/framework/rules/testing-standards.md +14 -14
- package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +12 -0
- package/framework/skills/level-0-meta/morph-code-review-nextjs/references/review-example-nextjs.md +254 -254
- package/framework/skills/level-0-meta/morph-init/SKILL.md +136 -3
- package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +247 -247
- package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +270 -270
- package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +515 -499
- package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +508 -500
- package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +12 -1
- package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +272 -262
- package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +317 -311
- package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +457 -323
- package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
- package/framework/standards/STANDARDS.json +2040 -2040
- package/framework/standards/frontend/nextjs/motion-patterns.md +321 -0
- package/framework/standards/frontend/nextjs/nextjs-patterns.md +17 -17
- package/framework/templates/README.md +814 -814
- package/framework/templates/code/dotnet/contracts/Commands.cs +74 -74
- package/framework/templates/code/dotnet/contracts/Entities.cs +25 -25
- package/framework/templates/code/dotnet/contracts/Queries.cs +74 -74
- package/framework/templates/code/dotnet/contracts/README.md +74 -74
- package/framework/templates/code/dotnet/contracts/api-contracts.cs +173 -173
- package/framework/templates/code/dotnet/frontend/component.razor +239 -239
- package/framework/templates/code/dotnet/jobs/agent.cs +163 -163
- package/framework/templates/code/dotnet/jobs/job.cs +171 -171
- package/framework/templates/code/dotnet/test.cs +239 -239
- package/framework/templates/code/sql/rls-policy.sql +57 -57
- package/framework/templates/code/sql/supabase-migration.sql +100 -100
- package/framework/templates/code/sql/supabase-migration.template.sql +113 -113
- package/framework/templates/code/typescript/contracts.ts +168 -168
- package/framework/templates/context/CONTEXT.md +181 -181
- package/framework/templates/context/design-system.md +211 -0
- package/framework/templates/docs/proposal.md +182 -182
- package/framework/templates/docs/user-stories.md +34 -34
- package/framework/templates/examples/design-system-examples.md +357 -357
- package/framework/templates/examples/spec-examples.md +90 -90
- package/framework/templates/feature/decisions.md +187 -187
- package/framework/templates/feature/recap.md +146 -146
- package/framework/templates/feature/tasks.md +199 -199
- package/framework/templates/infrastructure/azure/README.md +286 -286
- package/framework/templates/infrastructure/azure/deploy-checklist.md +426 -426
- package/framework/templates/infrastructure/azure/parameters.dev.json +29 -29
- package/framework/templates/infrastructure/azure/parameters.prod.json +29 -29
- package/framework/templates/infrastructure/azure/parameters.staging.json +29 -29
- package/framework/templates/infrastructure/docker/docker-compose.template.yml +67 -67
- package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -38
- package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -48
- package/framework/templates/infrastructure/docker/easypanel.template.json +54 -54
- package/package.json +82 -82
- package/src/commands/agents/index.js +13 -13
- package/src/commands/project/install-plugin-cmd.js +28 -28
- package/src/commands/project/setup-infra-cmd.js +12 -12
- package/src/commands/project/worktree.js +58 -2
- package/src/commands/tasks/index.js +4 -4
- package/src/commands/templates/index.js +5 -5
- package/src/commands/utils/index.js +3 -3
- package/src/commands/validation/index.js +4 -4
- package/src/core/state/phase-state-machine.js +217 -217
- package/src/lib/detectors/design-system-detector.js +73 -31
- package/src/lib/generators/design-system-generator.js +298 -298
- package/src/lib/generators/index.js +10 -10
- package/src/lib/generators/metadata-extractor.js +387 -387
- package/src/lib/stack-filter.js +65 -65
- package/src/lib/standards/index.js +7 -7
- package/src/lib/standards/standards-context-injector.js +302 -302
- package/src/lib/validators/architecture/architecture-validator.js +387 -387
- package/src/lib/validators/architecture/index.js +7 -7
- package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +316 -316
- package/src/lib/validators/blazor/blazor-state-validator.js +279 -279
- package/src/lib/validators/blazor/blazor-validator.js +369 -369
- package/src/lib/validators/blazor/index.js +9 -9
- package/src/lib/validators/content/content-validator.js +287 -287
- package/src/lib/validators/content/index.js +7 -7
- package/src/lib/validators/contracts/index.js +7 -7
- package/src/lib/validators/css/css-validator.js +352 -352
- package/src/lib/validators/css/index.js +7 -7
- package/src/lib/validators/design-system/design-system-validator.js +231 -231
- package/src/lib/validators/design-system/index.js +7 -7
- package/src/lib/validators/nextjs/index.js +6 -6
- package/src/lib/validators/nextjs/next-component-validator.js +183 -183
- package/src/lib/validators/packages/index.js +7 -7
- package/src/lib/validators/packages/package-validator.js +360 -360
- package/src/lib/validators/shared/index.js +12 -12
- package/src/lib/validators/shared/issue-counter.js +18 -18
- package/src/lib/validators/shared/result-formatter.js +124 -124
- package/src/lib/validators/ui/index.js +7 -7
- package/src/lib/validators/ui/ui-contrast-validator.js +422 -422
- package/src/scripts/global-install.js +58 -58
- package/src/scripts/install-plugin.js +126 -126
- package/src/utils/claude-md-injector.js +90 -90
- package/src/utils/file-copier.js +200 -196
- package/src/utils/hooks-installer.js +556 -494
- package/src/utils/logger.js +32 -32
- package/src/utils/skills-installer.js +178 -178
- package/src/utils/version-checker.js +175 -175
- package/framework/skills/level-1-workflows/morph-phase-implement/.morph/logs/activity.json +0 -38
- package/framework/skills/level-1-workflows/morph-phase-tasks/.morph/logs/activity.json +0 -14
- package/framework/templates/.idea/morph-templates.xml +0 -92
- package/framework/templates/.vscode/morph-templates.code-snippets +0 -186
|
@@ -1,181 +1,181 @@
|
|
|
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
|
-
{{#if EF_VERSION}}- **Entity Framework Core** {{EF_VERSION}}{{/if}}
|
|
26
|
-
{{#if DAPPER_ENABLED}}- **Dapper** (Micro-ORM){{/if}}
|
|
27
|
-
{{#if HANGFIRE_ENABLED}}- **Hangfire** (Background Jobs){{/if}}
|
|
28
|
-
{{#if AGENT_FRAMEWORK_ENABLED}}- **Microsoft Agent Framework** (AI Agents){{/if}}
|
|
29
|
-
|
|
30
|
-
### Database
|
|
31
|
-
{{#if SQL_ENABLED}}- **Azure SQL** ({{SQL_SERVER}}/{{SQL_DATABASE}}){{/if}}
|
|
32
|
-
{{#if SUPABASE_ENABLED}}- **Supabase** (PostgreSQL + Auth + Storage + RLS)
|
|
33
|
-
- Project: {{SUPABASE_PROJECT_ID}}
|
|
34
|
-
- Region: {{SUPABASE_REGION}}
|
|
35
|
-
{{/if}}
|
|
36
|
-
|
|
37
|
-
### Infrastructure
|
|
38
|
-
{{#if AZURE_ENABLED}}- **Azure** ({{AZURE_LOCATION}})
|
|
39
|
-
{{#if CONTAINER_APPS_ENABLED}}- **Container Apps** ({{CONTAINER_ENV}}){{/if}}
|
|
40
|
-
{{#if OPENAI_ENABLED}}- **Azure OpenAI** ({{OPENAI_MODEL}}){{/if}}
|
|
41
|
-
{{#if MONITORING_ENABLED}}- **Application Insights** ({{APP_INSIGHTS}}){{/if}}
|
|
42
|
-
{{/if}}
|
|
43
|
-
|
|
44
|
-
{{#if EASYPANEL_ENABLED}}- **EasyPanel** (Docker Deployment)
|
|
45
|
-
- API: {{EASYPANEL_API_URL}}
|
|
46
|
-
- Web: {{EASYPANEL_WEB_URL}}
|
|
47
|
-
{{/if}}
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Active Features
|
|
52
|
-
|
|
53
|
-
{{#each ACTIVE_FEATURES}}
|
|
54
|
-
### {{name}} ({{phase}})
|
|
55
|
-
**Status:** {{status}}
|
|
56
|
-
**Complexity:** {{complexity}}
|
|
57
|
-
**Active Agents:** {{activeAgents}}
|
|
58
|
-
|
|
59
|
-
{{#if description}}{{description}}{{/if}}
|
|
60
|
-
|
|
61
|
-
**Progress:**
|
|
62
|
-
- Tasks: {{tasks.completed}}/{{tasks.total}}
|
|
63
|
-
- Outputs: {{outputs}}
|
|
64
|
-
|
|
65
|
-
{{/each}}
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Project Standards
|
|
70
|
-
|
|
71
|
-
### Coding Standards
|
|
72
|
-
{{#each PROJECT_STANDARDS}}
|
|
73
|
-
- [{{name}}]({{path}}){{#if description}} - {{description}}{{/if}}
|
|
74
|
-
{{/each}}
|
|
75
|
-
|
|
76
|
-
### Inferred Patterns
|
|
77
|
-
{{#if INFERRED_STANDARDS}}
|
|
78
|
-
{{INFERRED_STANDARDS}}
|
|
79
|
-
{{/if}}
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Active Agents ({{AGENT_COUNT}})
|
|
84
|
-
|
|
85
|
-
### Tier 1: Orchestrators
|
|
86
|
-
{{#each TIER_1_AGENTS}}
|
|
87
|
-
- **{{title}}** (`{{id}}`) {{#if always_active}}[Always Active]{{/if}}
|
|
88
|
-
{{/each}}
|
|
89
|
-
|
|
90
|
-
### Tier 2: Domain Leaders
|
|
91
|
-
{{#each TIER_2_AGENTS}}
|
|
92
|
-
- **{{title}}** (`{{id}}`) - {{domains}}
|
|
93
|
-
{{/each}}
|
|
94
|
-
|
|
95
|
-
### Tier 3: Specialists
|
|
96
|
-
{{#each TIER_3_AGENTS}}
|
|
97
|
-
- **{{title}}** (`{{id}}`) - Reports to `{{reports_to}}`
|
|
98
|
-
{{/each}}
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## Agent Teams Status
|
|
103
|
-
|
|
104
|
-
{{#if AGENT_TEAMS_ENABLED}}
|
|
105
|
-
✅ **Enabled** (Display Mode: {{AGENT_TEAMS_DISPLAY_MODE}})
|
|
106
|
-
|
|
107
|
-
**Spawn Thresholds:**
|
|
108
|
-
- Complexity: {{AGENT_TEAMS_THRESHOLDS.complexity}}
|
|
109
|
-
- Estimated Files: ≥ {{AGENT_TEAMS_THRESHOLDS.estimatedFiles}}
|
|
110
|
-
- Active Agents: ≥ {{AGENT_TEAMS_THRESHOLDS.activeAgents}}
|
|
111
|
-
- Multi-Domain: {{AGENT_TEAMS_THRESHOLDS.multiDomain}}
|
|
112
|
-
|
|
113
|
-
{{else}}
|
|
114
|
-
❌ **Disabled** - Use single session with subagents
|
|
115
|
-
{{/if}}
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Recent Checkpoints
|
|
120
|
-
|
|
121
|
-
{{#each RECENT_CHECKPOINTS}}
|
|
122
|
-
### {{timestamp}}
|
|
123
|
-
**Feature:** {{feature}}
|
|
124
|
-
**Phase:** {{phase}}
|
|
125
|
-
**Note:** {{note}}
|
|
126
|
-
|
|
127
|
-
{{#if validation}}
|
|
128
|
-
**Validation:** {{validation.passed}}/{{validation.total}} checks passed
|
|
129
|
-
{{/if}}
|
|
130
|
-
|
|
131
|
-
{{/each}}
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
{{#if DEVOPS_ENABLED}}
|
|
136
|
-
## DevOps Integration
|
|
137
|
-
|
|
138
|
-
**Organization:** {{DEVOPS_ORG}}
|
|
139
|
-
**Project:** {{DEVOPS_PROJECT}}
|
|
140
|
-
|
|
141
|
-
- **Boards:** {{#if DEVOPS_BOARDS_ENABLED}}Enabled ({{DEVOPS_AREA_PATH}}){{else}}Disabled{{/if}}
|
|
142
|
-
- **Wiki:** {{#if DEVOPS_WIKI_ENABLED}}Enabled ({{DEVOPS_WIKI_NAME}}){{else}}Disabled{{/if}}
|
|
143
|
-
- **Pipelines:** CI: {{DEVOPS_BUILD_PIPELINE}}, CD: {{DEVOPS_RELEASE_PIPELINE}}
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
{{/if}}
|
|
148
|
-
|
|
149
|
-
## Quick Reference
|
|
150
|
-
|
|
151
|
-
### Workflow Commands
|
|
152
|
-
```bash
|
|
153
|
-
# Detect agents for feature
|
|
154
|
-
morph-spec detect-agents "{feature description}"
|
|
155
|
-
|
|
156
|
-
# Initialize new feature
|
|
157
|
-
morph-spec state init
|
|
158
|
-
|
|
159
|
-
# Generate design system
|
|
160
|
-
morph-spec generate design-system {feature}
|
|
161
|
-
|
|
162
|
-
# Advance to next phase
|
|
163
|
-
morph-spec phase advance {feature}
|
|
164
|
-
|
|
165
|
-
# Mark task complete (runs validators)
|
|
166
|
-
morph-spec task done {feature} {task-id}
|
|
167
|
-
|
|
168
|
-
# Generate recap
|
|
169
|
-
morph-spec generate recap {feature}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Key Paths
|
|
173
|
-
- **Outputs:** `.morph/features/{feature}/`
|
|
174
|
-
- **Standards:** `.morph/context/` (project overrides)
|
|
175
|
-
- **Config:** `.morph/config/config.json`
|
|
176
|
-
- **State:** `.morph/state.json`
|
|
177
|
-
- **Templates:** `.morph/framework/templates/`
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
*Generated by MORPH-SPEC Framework v{{MORPH_VERSION}}*
|
|
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
|
+
{{#if EF_VERSION}}- **Entity Framework Core** {{EF_VERSION}}{{/if}}
|
|
26
|
+
{{#if DAPPER_ENABLED}}- **Dapper** (Micro-ORM){{/if}}
|
|
27
|
+
{{#if HANGFIRE_ENABLED}}- **Hangfire** (Background Jobs){{/if}}
|
|
28
|
+
{{#if AGENT_FRAMEWORK_ENABLED}}- **Microsoft Agent Framework** (AI Agents){{/if}}
|
|
29
|
+
|
|
30
|
+
### Database
|
|
31
|
+
{{#if SQL_ENABLED}}- **Azure SQL** ({{SQL_SERVER}}/{{SQL_DATABASE}}){{/if}}
|
|
32
|
+
{{#if SUPABASE_ENABLED}}- **Supabase** (PostgreSQL + Auth + Storage + RLS)
|
|
33
|
+
- Project: {{SUPABASE_PROJECT_ID}}
|
|
34
|
+
- Region: {{SUPABASE_REGION}}
|
|
35
|
+
{{/if}}
|
|
36
|
+
|
|
37
|
+
### Infrastructure
|
|
38
|
+
{{#if AZURE_ENABLED}}- **Azure** ({{AZURE_LOCATION}})
|
|
39
|
+
{{#if CONTAINER_APPS_ENABLED}}- **Container Apps** ({{CONTAINER_ENV}}){{/if}}
|
|
40
|
+
{{#if OPENAI_ENABLED}}- **Azure OpenAI** ({{OPENAI_MODEL}}){{/if}}
|
|
41
|
+
{{#if MONITORING_ENABLED}}- **Application Insights** ({{APP_INSIGHTS}}){{/if}}
|
|
42
|
+
{{/if}}
|
|
43
|
+
|
|
44
|
+
{{#if EASYPANEL_ENABLED}}- **EasyPanel** (Docker Deployment)
|
|
45
|
+
- API: {{EASYPANEL_API_URL}}
|
|
46
|
+
- Web: {{EASYPANEL_WEB_URL}}
|
|
47
|
+
{{/if}}
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Active Features
|
|
52
|
+
|
|
53
|
+
{{#each ACTIVE_FEATURES}}
|
|
54
|
+
### {{name}} ({{phase}})
|
|
55
|
+
**Status:** {{status}}
|
|
56
|
+
**Complexity:** {{complexity}}
|
|
57
|
+
**Active Agents:** {{activeAgents}}
|
|
58
|
+
|
|
59
|
+
{{#if description}}{{description}}{{/if}}
|
|
60
|
+
|
|
61
|
+
**Progress:**
|
|
62
|
+
- Tasks: {{tasks.completed}}/{{tasks.total}}
|
|
63
|
+
- Outputs: {{outputs}}
|
|
64
|
+
|
|
65
|
+
{{/each}}
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Project Standards
|
|
70
|
+
|
|
71
|
+
### Coding Standards
|
|
72
|
+
{{#each PROJECT_STANDARDS}}
|
|
73
|
+
- [{{name}}]({{path}}){{#if description}} - {{description}}{{/if}}
|
|
74
|
+
{{/each}}
|
|
75
|
+
|
|
76
|
+
### Inferred Patterns
|
|
77
|
+
{{#if INFERRED_STANDARDS}}
|
|
78
|
+
{{INFERRED_STANDARDS}}
|
|
79
|
+
{{/if}}
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Active Agents ({{AGENT_COUNT}})
|
|
84
|
+
|
|
85
|
+
### Tier 1: Orchestrators
|
|
86
|
+
{{#each TIER_1_AGENTS}}
|
|
87
|
+
- **{{title}}** (`{{id}}`) {{#if always_active}}[Always Active]{{/if}}
|
|
88
|
+
{{/each}}
|
|
89
|
+
|
|
90
|
+
### Tier 2: Domain Leaders
|
|
91
|
+
{{#each TIER_2_AGENTS}}
|
|
92
|
+
- **{{title}}** (`{{id}}`) - {{domains}}
|
|
93
|
+
{{/each}}
|
|
94
|
+
|
|
95
|
+
### Tier 3: Specialists
|
|
96
|
+
{{#each TIER_3_AGENTS}}
|
|
97
|
+
- **{{title}}** (`{{id}}`) - Reports to `{{reports_to}}`
|
|
98
|
+
{{/each}}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Agent Teams Status
|
|
103
|
+
|
|
104
|
+
{{#if AGENT_TEAMS_ENABLED}}
|
|
105
|
+
✅ **Enabled** (Display Mode: {{AGENT_TEAMS_DISPLAY_MODE}})
|
|
106
|
+
|
|
107
|
+
**Spawn Thresholds:**
|
|
108
|
+
- Complexity: {{AGENT_TEAMS_THRESHOLDS.complexity}}
|
|
109
|
+
- Estimated Files: ≥ {{AGENT_TEAMS_THRESHOLDS.estimatedFiles}}
|
|
110
|
+
- Active Agents: ≥ {{AGENT_TEAMS_THRESHOLDS.activeAgents}}
|
|
111
|
+
- Multi-Domain: {{AGENT_TEAMS_THRESHOLDS.multiDomain}}
|
|
112
|
+
|
|
113
|
+
{{else}}
|
|
114
|
+
❌ **Disabled** - Use single session with subagents
|
|
115
|
+
{{/if}}
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Recent Checkpoints
|
|
120
|
+
|
|
121
|
+
{{#each RECENT_CHECKPOINTS}}
|
|
122
|
+
### {{timestamp}}
|
|
123
|
+
**Feature:** {{feature}}
|
|
124
|
+
**Phase:** {{phase}}
|
|
125
|
+
**Note:** {{note}}
|
|
126
|
+
|
|
127
|
+
{{#if validation}}
|
|
128
|
+
**Validation:** {{validation.passed}}/{{validation.total}} checks passed
|
|
129
|
+
{{/if}}
|
|
130
|
+
|
|
131
|
+
{{/each}}
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
{{#if DEVOPS_ENABLED}}
|
|
136
|
+
## DevOps Integration
|
|
137
|
+
|
|
138
|
+
**Organization:** {{DEVOPS_ORG}}
|
|
139
|
+
**Project:** {{DEVOPS_PROJECT}}
|
|
140
|
+
|
|
141
|
+
- **Boards:** {{#if DEVOPS_BOARDS_ENABLED}}Enabled ({{DEVOPS_AREA_PATH}}){{else}}Disabled{{/if}}
|
|
142
|
+
- **Wiki:** {{#if DEVOPS_WIKI_ENABLED}}Enabled ({{DEVOPS_WIKI_NAME}}){{else}}Disabled{{/if}}
|
|
143
|
+
- **Pipelines:** CI: {{DEVOPS_BUILD_PIPELINE}}, CD: {{DEVOPS_RELEASE_PIPELINE}}
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
{{/if}}
|
|
148
|
+
|
|
149
|
+
## Quick Reference
|
|
150
|
+
|
|
151
|
+
### Workflow Commands
|
|
152
|
+
```bash
|
|
153
|
+
# Detect agents for feature
|
|
154
|
+
morph-spec detect-agents "{feature description}"
|
|
155
|
+
|
|
156
|
+
# Initialize new feature
|
|
157
|
+
morph-spec state init
|
|
158
|
+
|
|
159
|
+
# Generate design system
|
|
160
|
+
morph-spec generate design-system {feature}
|
|
161
|
+
|
|
162
|
+
# Advance to next phase
|
|
163
|
+
morph-spec phase advance {feature}
|
|
164
|
+
|
|
165
|
+
# Mark task complete (runs validators)
|
|
166
|
+
morph-spec task done {feature} {task-id}
|
|
167
|
+
|
|
168
|
+
# Generate recap
|
|
169
|
+
morph-spec generate recap {feature}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Key Paths
|
|
173
|
+
- **Outputs:** `.morph/features/{feature}/`
|
|
174
|
+
- **Standards:** `.morph/context/` (project overrides)
|
|
175
|
+
- **Config:** `.morph/config/config.json`
|
|
176
|
+
- **State:** `.morph/state.json`
|
|
177
|
+
- **Templates:** `.morph/framework/templates/`
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
*Generated by MORPH-SPEC Framework v{{MORPH_VERSION}}*
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Design System — [PROJECT_NAME]
|
|
2
|
+
|
|
3
|
+
> **Template** — copy to `.morph/context/design-system.md` and fill in TODOs.
|
|
4
|
+
|
|
5
|
+
Living document. All agents read this before any UI work. All design decisions land here.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Aesthetic Direction
|
|
10
|
+
|
|
11
|
+
- **Direction**: [Minimal Refined / Editorial / Soft Professional / Industrial / Modern Luxury]
|
|
12
|
+
- **Tone**: [TODO: 1-2 sentences about the feel]
|
|
13
|
+
- **Differentiator**: [TODO: The 1 memorable element of this interface]
|
|
14
|
+
- **Font Pair**: [Display font] + [Body font]
|
|
15
|
+
- **Color Philosophy**: [Dominant color] + [Accent color] — [1-sentence rationale]
|
|
16
|
+
- **Motion Personality**: [subtle / expressive / playful / precise]
|
|
17
|
+
- **Visual Density**: [compact / balanced / spacious]
|
|
18
|
+
- **Composition**: [TODO: Layout approach]
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Color Tokens
|
|
23
|
+
|
|
24
|
+
```css
|
|
25
|
+
:root {
|
|
26
|
+
/* Dominant palette */
|
|
27
|
+
--color-primary: #TODO;
|
|
28
|
+
--color-primary-light: #TODO;
|
|
29
|
+
--color-primary-dark: #TODO;
|
|
30
|
+
|
|
31
|
+
/* Sharp accent */
|
|
32
|
+
--color-accent: #TODO;
|
|
33
|
+
--color-accent-hover: #TODO;
|
|
34
|
+
|
|
35
|
+
/* Neutrals */
|
|
36
|
+
--color-neutral-50: #f9fafb;
|
|
37
|
+
--color-neutral-100: #f3f4f6;
|
|
38
|
+
--color-neutral-200: #e5e7eb;
|
|
39
|
+
--color-neutral-300: #d1d5db;
|
|
40
|
+
--color-neutral-400: #9ca3af;
|
|
41
|
+
--color-neutral-500: #6b7280;
|
|
42
|
+
--color-neutral-600: #4b5563;
|
|
43
|
+
--color-neutral-700: #374151;
|
|
44
|
+
--color-neutral-800: #1f2937;
|
|
45
|
+
--color-neutral-900: #111827;
|
|
46
|
+
|
|
47
|
+
/* Surface */
|
|
48
|
+
--color-surface: #ffffff;
|
|
49
|
+
--color-surface-alt: #f8f9fa;
|
|
50
|
+
--color-border: rgba(0,0,0,0.08);
|
|
51
|
+
|
|
52
|
+
/* Semantic */
|
|
53
|
+
--color-success: #22c55e;
|
|
54
|
+
--color-warning: #f59e0b;
|
|
55
|
+
--color-error: #ef4444;
|
|
56
|
+
--color-info: #3b82f6;
|
|
57
|
+
|
|
58
|
+
/* Text */
|
|
59
|
+
--color-text-primary: #TODO;
|
|
60
|
+
--color-text-secondary: #TODO;
|
|
61
|
+
--color-text-muted: #9ca3af;
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Typography
|
|
68
|
+
|
|
69
|
+
```css
|
|
70
|
+
:root {
|
|
71
|
+
/* Font families */
|
|
72
|
+
--font-display: '[TODO: Display font]', serif;
|
|
73
|
+
--font-body: '[TODO: Body font]', sans-serif;
|
|
74
|
+
--font-mono: 'JetBrains Mono', monospace;
|
|
75
|
+
|
|
76
|
+
/* Scale */
|
|
77
|
+
--text-xs: 0.75rem; /* 12px */
|
|
78
|
+
--text-sm: 0.875rem; /* 14px */
|
|
79
|
+
--text-base: 1rem; /* 16px */
|
|
80
|
+
--text-lg: 1.125rem; /* 18px */
|
|
81
|
+
--text-xl: 1.25rem; /* 20px */
|
|
82
|
+
--text-2xl: 1.5rem; /* 24px */
|
|
83
|
+
--text-3xl: 1.875rem; /* 30px */
|
|
84
|
+
--text-4xl: 2.25rem; /* 36px */
|
|
85
|
+
|
|
86
|
+
/* Weights */
|
|
87
|
+
--font-weight-regular: 400;
|
|
88
|
+
--font-weight-medium: 500;
|
|
89
|
+
--font-weight-semibold: 600;
|
|
90
|
+
--font-weight-bold: 700;
|
|
91
|
+
|
|
92
|
+
/* Line heights */
|
|
93
|
+
--leading-tight: 1.25;
|
|
94
|
+
--leading-normal: 1.5;
|
|
95
|
+
--leading-relaxed: 1.75;
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Motion Tokens
|
|
102
|
+
|
|
103
|
+
```css
|
|
104
|
+
:root {
|
|
105
|
+
/* Durations */
|
|
106
|
+
--duration-instant: 0.05s;
|
|
107
|
+
--duration-fast: 0.15s;
|
|
108
|
+
--duration-base: 0.3s;
|
|
109
|
+
--duration-slow: 0.5s;
|
|
110
|
+
--duration-slower: 0.8s;
|
|
111
|
+
|
|
112
|
+
/* Easings */
|
|
113
|
+
--easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
114
|
+
--easing-decelerate: cubic-bezier(0, 0, 0.2, 1);
|
|
115
|
+
--easing-accelerate: cubic-bezier(0.4, 0, 1, 1);
|
|
116
|
+
--easing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
117
|
+
--easing-spring: cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Framer Motion mapping (TypeScript)
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
// Map CSS tokens to Framer Motion values
|
|
125
|
+
export const durations = {
|
|
126
|
+
instant: 0.05,
|
|
127
|
+
fast: 0.15,
|
|
128
|
+
base: 0.3,
|
|
129
|
+
slow: 0.5,
|
|
130
|
+
slower: 0.8,
|
|
131
|
+
} as const;
|
|
132
|
+
|
|
133
|
+
export const easings = {
|
|
134
|
+
standard: [0.4, 0, 0.2, 1] as const,
|
|
135
|
+
decelerate: [0, 0, 0.2, 1] as const,
|
|
136
|
+
accelerate: [0.4, 0, 1, 1] as const,
|
|
137
|
+
bounce: [0.34, 1.56, 0.64, 1] as const,
|
|
138
|
+
spring: [0.68, -0.55, 0.265, 1.55] as const,
|
|
139
|
+
};
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Spacing Tokens
|
|
145
|
+
|
|
146
|
+
```css
|
|
147
|
+
:root {
|
|
148
|
+
/* 4px base grid */
|
|
149
|
+
--space-1: 0.25rem; /* 4px */
|
|
150
|
+
--space-2: 0.5rem; /* 8px */
|
|
151
|
+
--space-3: 0.75rem; /* 12px */
|
|
152
|
+
--space-4: 1rem; /* 16px */
|
|
153
|
+
--space-5: 1.25rem; /* 20px */
|
|
154
|
+
--space-6: 1.5rem; /* 24px */
|
|
155
|
+
--space-8: 2rem; /* 32px */
|
|
156
|
+
--space-10: 2.5rem; /* 40px */
|
|
157
|
+
--space-12: 3rem; /* 48px */
|
|
158
|
+
--space-16: 4rem; /* 64px */
|
|
159
|
+
--space-20: 5rem; /* 80px */
|
|
160
|
+
--space-24: 6rem; /* 96px */
|
|
161
|
+
|
|
162
|
+
/* Container */
|
|
163
|
+
--container-padding: var(--space-8);
|
|
164
|
+
--grid-gap: var(--space-6);
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Border Radius Tokens
|
|
171
|
+
|
|
172
|
+
```css
|
|
173
|
+
:root {
|
|
174
|
+
--radius-none: 0;
|
|
175
|
+
--radius-sm: 0.25rem; /* 4px */
|
|
176
|
+
--radius-base: 0.375rem; /* 6px */
|
|
177
|
+
--radius-md: 0.5rem; /* 8px */
|
|
178
|
+
--radius-lg: 0.75rem; /* 12px */
|
|
179
|
+
--radius-xl: 1rem; /* 16px */
|
|
180
|
+
--radius-2xl: 1.5rem; /* 24px */
|
|
181
|
+
--radius-full: 9999px;
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Shadow Tokens
|
|
188
|
+
|
|
189
|
+
```css
|
|
190
|
+
:root {
|
|
191
|
+
--shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
|
|
192
|
+
--shadow-base: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
|
|
193
|
+
--shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06);
|
|
194
|
+
--shadow-lg: 0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05);
|
|
195
|
+
--shadow-xl: 0 20px 25px rgba(0,0,0,0.1), 0 10px 10px rgba(0,0,0,0.04);
|
|
196
|
+
--shadow-lift: 0 8px 30px rgba(0,0,0,0.12); /* Card hover lift */
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Changelog
|
|
203
|
+
|
|
204
|
+
> Living record — every agent that adds tokens or design decisions registers here.
|
|
205
|
+
> Format: `- YYYY-MM-DD [agent-id] Description of addition/change`
|
|
206
|
+
|
|
207
|
+
<!-- Entries below this line, newest first -->
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
*MORPH-SPEC by Polymorphism Tech*
|