@polymorphism-tech/morph-spec 4.10.8 → 4.10.10
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 +2 -2
- package/bin/morph-spec.js +22 -0
- package/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +1 -1
- package/docs/QUICKSTART.md +1 -1
- package/framework/agents/README.md +14 -14
- package/framework/agents/architecture/standards-architect.md +159 -159
- package/framework/agents/infrastructure/azure-architect.md +149 -149
- package/framework/agents/infrastructure/infra-architect.md +48 -48
- package/framework/hooks/README.md +204 -204
- package/framework/hooks/shared/phase-utils.js +139 -139
- 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-code-review-nextjs/references/review-example-nextjs.md +254 -254
- package/framework/skills/level-0-meta/morph-init/SKILL.md +57 -9
- package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-implement/.morph/logs/activity.json +38 -0
- package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-tasks/.morph/logs/activity.json +14 -0
- package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +49 -16
- package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
- package/framework/standards/STANDARDS.json +2338 -2041
- package/framework/standards/frontend/nextjs/nextjs-patterns.md +17 -17
- package/framework/standards/infrastructure/supabase/supabase-custom-jwt.md +206 -0
- package/framework/templates/.idea/morph-templates.xml +92 -0
- package/framework/templates/.vscode/morph-templates.code-snippets +186 -0
- 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/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 +1 -1
- package/src/commands/agents/dispatch-agents.js +17 -0
- package/src/commands/agents/index.js +13 -13
- package/src/commands/agents/project-metrics.js +74 -0
- package/src/commands/project/install-plugin-cmd.js +28 -28
- package/src/commands/project/setup-infra-cmd.js +12 -12
- package/src/commands/standards/context-budget.js +89 -0
- 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/agents/metrics-aggregator.js +56 -0
- 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/digest-builder.js +57 -3
- 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 -200
- package/src/utils/logger.js +32 -32
- package/src/utils/skills-installer.js +178 -178
- package/src/utils/version-checker.js +175 -175
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"sessionId": "",
|
|
3
|
+
"feature": "",
|
|
4
|
+
"phase": "",
|
|
5
|
+
"hooks": [
|
|
6
|
+
{
|
|
7
|
+
"name": "set-terminal-title",
|
|
8
|
+
"event": "UserPromptSubmit",
|
|
9
|
+
"result": "failed",
|
|
10
|
+
"ts": "16:06:20"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "set-terminal-title",
|
|
14
|
+
"event": "UserPromptSubmit",
|
|
15
|
+
"result": "failed",
|
|
16
|
+
"ts": "16:12:07"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "set-terminal-title",
|
|
20
|
+
"event": "UserPromptSubmit",
|
|
21
|
+
"result": "failed",
|
|
22
|
+
"ts": "16:12:15"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "set-terminal-title",
|
|
26
|
+
"event": "UserPromptSubmit",
|
|
27
|
+
"result": "failed",
|
|
28
|
+
"ts": "16:12:15"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "set-terminal-title",
|
|
32
|
+
"event": "UserPromptSubmit",
|
|
33
|
+
"result": "failed",
|
|
34
|
+
"ts": "16:12:40"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"skills": []
|
|
38
|
+
}
|
|
@@ -4,7 +4,7 @@ description: MORPH-SPEC Phase 4 (Plan). Generates a detailed implementation plan
|
|
|
4
4
|
argument-hint: "[feature-name]"
|
|
5
5
|
user-invocable: false
|
|
6
6
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
7
|
-
cliVersion: "4.10.
|
|
7
|
+
cliVersion: "4.10.10"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MORPH Plan — Phase 4
|
|
@@ -4,7 +4,7 @@ description: MORPH-SPEC Phase 1 (Setup). Reads project context, detects tech sta
|
|
|
4
4
|
argument-hint: "[feature-name]"
|
|
5
5
|
user-invocable: false
|
|
6
6
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
7
|
-
cliVersion: "4.10.
|
|
7
|
+
cliVersion: "4.10.10"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MORPH Setup — Phase 1
|
|
@@ -4,7 +4,7 @@ description: MORPH-SPEC Phase 4 (Tasks). Breaks approved spec into bottom-up ord
|
|
|
4
4
|
argument-hint: "[feature-name]"
|
|
5
5
|
user-invocable: false
|
|
6
6
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
7
|
-
cliVersion: "4.10.
|
|
7
|
+
cliVersion: "4.10.10"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MORPH Tasks — Phase 4
|
|
@@ -4,7 +4,7 @@ description: MORPH-SPEC Phase 1.5 (UI/UX). Creates design-system.md, mockups.md,
|
|
|
4
4
|
argument-hint: "[feature-name]"
|
|
5
5
|
user-invocable: false
|
|
6
6
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
7
|
-
cliVersion: "4.10.
|
|
7
|
+
cliVersion: "4.10.10"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MORPH UI/UX Design - Phase 1.5
|
|
@@ -70,31 +70,64 @@ Check the `"phase"` field in the output:
|
|
|
70
70
|
|
|
71
71
|
---
|
|
72
72
|
|
|
73
|
-
### Step 0.5: Check Design System
|
|
73
|
+
### Step 0.5: Check Design System
|
|
74
74
|
|
|
75
|
-
**
|
|
75
|
+
**This step is MANDATORY and must always run before Step 1.**
|
|
76
|
+
|
|
77
|
+
#### Step 0.5.1 — Scan frontend for CSS tokens (ALWAYS)
|
|
78
|
+
|
|
79
|
+
Search for existing CSS custom properties in the project's frontend directories.
|
|
80
|
+
|
|
81
|
+
Glob these patterns (exclude `node_modules/`, `.next/`, `dist/`, `build/`):
|
|
82
|
+
```
|
|
83
|
+
wwwroot/**/*.css
|
|
84
|
+
wwwroot/**/*.scss
|
|
85
|
+
styles/**/*.css
|
|
86
|
+
src/styles/**/*.css
|
|
87
|
+
src/**/*.css
|
|
88
|
+
src/**/*.scss
|
|
89
|
+
src/**/*.module.css
|
|
90
|
+
public/**/*.css
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
For each CSS/SCSS file found, Grep for `:root {` blocks containing `--` custom properties.
|
|
94
|
+
|
|
95
|
+
Classify found tokens:
|
|
96
|
+
- **Colors**: lines with `--color-*`, or any `--*` containing `#hex` / `rgb(...)`
|
|
97
|
+
- **Fonts**: `--font-*` or `font-family:` declarations
|
|
98
|
+
- **Spacing**: `--space-*`, `--gap-*`, `--size-*` with rem/px values
|
|
99
|
+
|
|
100
|
+
Track: `cssTokensFound` (bool), token counts by category, source file list.
|
|
101
|
+
|
|
102
|
+
#### Step 0.5.2 — Check if design-system.md exists
|
|
76
103
|
|
|
77
104
|
```
|
|
78
105
|
Read: .morph/context/design-system.md
|
|
79
106
|
```
|
|
80
107
|
|
|
81
|
-
|
|
108
|
+
Track: `dsExists` (bool).
|
|
109
|
+
|
|
110
|
+
#### Step 0.5.3 — Decision tree (4 cases)
|
|
111
|
+
|
|
112
|
+
| Case | Condition | Action |
|
|
113
|
+
|------|-----------|--------|
|
|
114
|
+
| **A** | `dsExists` AND `cssTokensFound` | Cross-check DS vs scanned tokens. If >2 colors diverge, flag misalignment and ask user if they want to update DS with `AskUserQuestion`. Proceed to Step 1. |
|
|
115
|
+
| **B** | `dsExists` AND NOT `cssTokensFound` | Print: `✓ Design system found (no CSS tokens to cross-check)`. Proceed to Step 1. |
|
|
116
|
+
| **C** | NOT `dsExists` AND `cssTokensFound` | Auto-generate `.morph/context/design-system.md` from scanned tokens (see Case C detail below). Proceed to Step 1. |
|
|
117
|
+
| **D** | NOT `dsExists` AND NOT `cssTokensFound` | Greenfield project. Ask user for aesthetic direction + brand color using `AskUserQuestion` (same options as morph-init). Scaffold from template. Proceed to Step 1. |
|
|
82
118
|
|
|
83
|
-
|
|
84
|
-
- The system will automatically create a design system when advancing to implementation
|
|
85
|
-
- You can generate manually now: `npx morph-spec generate design-system`
|
|
119
|
+
**Case C — auto-generate from scanned tokens:**
|
|
86
120
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
121
|
+
Create `.morph/context/design-system.md` with these sections populated from scan results:
|
|
122
|
+
- `## Color Tokens` → `:root { }` block with all found color variables (preserve exact variable names)
|
|
123
|
+
- `## Typography` → found font-family values (map by variable name heuristic: `--font-display` vs `--font-body`)
|
|
124
|
+
- `## Spacing Tokens` → found spacing variables
|
|
125
|
+
- `## Aesthetic Direction` → `#TODO` (requires user judgment, fill in manually)
|
|
126
|
+
- `## Changelog` → `- [today's date] [morph-phase-uiux] Auto-generated from CSS scan ([N] tokens from [files])`
|
|
90
127
|
|
|
91
|
-
|
|
92
|
-
- If the project already has CSS with variables: `npx morph-spec generate design-system --scan`
|
|
128
|
+
Print: `✓ Design system generated from [N] tokens — .morph/context/design-system.md`
|
|
93
129
|
|
|
94
|
-
**
|
|
95
|
-
- Design system is **mandatory** for UI features
|
|
96
|
-
- Automatic gate will block implementation (Phase 5) if design system doesn't exist
|
|
97
|
-
- Better to create now to ensure visual consistency
|
|
130
|
+
> **Design system is mandatory** for UI features. The implementation gate (Phase 5) will block if no design system exists.
|
|
98
131
|
|
|
99
132
|
### Step 1: Detect If Phase Is Needed
|
|
100
133
|
|
|
@@ -4,7 +4,7 @@ description: Guided workflow for mid-implementation scope escalation — analyze
|
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[feature-name]"
|
|
6
6
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
7
|
-
cliVersion: "4.10.
|
|
7
|
+
cliVersion: "4.10.10"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Scope Escalation Workflow
|