@polymorphism-tech/morph-spec 4.10.6 → 4.10.8
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 -0
- package/LICENSE +71 -71
- package/README.md +379 -379
- package/bin/morph-spec.js +89 -0
- package/bin/task-manager.js +59 -6
- 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 -2567
- package/framework/hooks/README.md +204 -204
- package/framework/hooks/claude-code/post-tool-use/dispatch.js +10 -5
- 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/README.md +0 -1
- 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 +88 -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 -471
- 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 -258
- package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +317 -311
- package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +424 -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/agent-metrics.js +174 -0
- package/src/commands/agents/audit-dispatch.js +82 -0
- package/src/commands/agents/detect-agents.js +275 -0
- package/src/commands/agents/dispatch-agents.js +41 -135
- package/src/commands/agents/index.js +13 -4
- package/src/commands/agents/manage-agents.js +352 -0
- package/src/commands/project/doctor.js +59 -0
- package/src/commands/project/install-plugin-cmd.js +28 -28
- package/src/commands/project/setup-infra-cmd.js +12 -12
- package/src/commands/project/update.js +1 -17
- package/src/commands/project/worktree.js +58 -2
- package/src/commands/state/advance-phase.js +11 -3
- 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/core/state/state-manager.js +81 -0
- package/src/lib/agents/agents-manager.js +349 -0
- package/src/lib/agents/metrics-calculator.js +125 -0
- package/src/lib/agents/output-collector.js +75 -0
- package/src/lib/generators/context-generator.js +8 -7
- 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/tasks/task-parser.js +94 -3
- 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/checkpoint-persistence.js +39 -0
- package/src/lib/validators/content/content-validator.js +287 -279
- 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/spec-validator.js +2 -2
- package/src/lib/validators/ui/index.js +7 -7
- package/src/lib/validators/ui/ui-contrast-validator.js +422 -422
- package/src/lib/validators/validation-runner.js +20 -0
- package/src/scripts/global-install.js +58 -58
- package/src/scripts/install-plugin.js +126 -126
- package/src/scripts/setup-infra.js +1 -17
- package/src/utils/agent-id-mapper.js +11 -0
- package/src/utils/agents-installer.js +40 -8
- package/src/utils/claude-md-injector.js +90 -90
- package/src/utils/claude-settings-manager.js +1 -1
- package/src/utils/file-copier.js +200 -196
- package/src/utils/hooks-installer.js +556 -739
- package/src/utils/logger.js +32 -32
- package/src/utils/skills-installer.js +178 -178
- package/src/utils/tier-helpers.js +24 -0
- package/src/utils/version-checker.js +175 -175
- package/framework/agents/architecture/po-pm-advisor.md +0 -203
- package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +0 -68
- 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
package/docs/QUICKSTART.md
CHANGED
|
@@ -1,206 +1,206 @@
|
|
|
1
|
-
# morph-spec Quick Start
|
|
2
|
-
|
|
3
|
-
## Install
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npm install -g @polymorphism-tech/morph-spec
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Or use `npx` without a global install:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npx @polymorphism-tech/morph-spec init
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
> **Windows / nvm-windows:** Global installs may not appear on PATH. Use `npx` or add the npm prefix to PATH manually: `npm config get prefix`, then add `{prefix}` to your PATH.
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Initialize a project
|
|
20
|
-
|
|
21
|
-
Navigate to your project root and run:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
morph-spec init
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
`init` does the following:
|
|
28
|
-
- Auto-detects your stack (Blazor, Next.js, Node.js, monorepo)
|
|
29
|
-
- Creates `.morph/` with framework files, standards, and templates
|
|
30
|
-
- Creates `.morph/context/` with inferred project context
|
|
31
|
-
- Installs `.claude/skills/`, `.claude/agents/`, `.claude/rules/`
|
|
32
|
-
- Writes `.claude/settings.local.json` with 10 Claude Code hooks
|
|
33
|
-
- Copies `CLAUDE.md` with runtime instructions
|
|
34
|
-
|
|
35
|
-
Verify the installation:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
morph-spec doctor
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Your first feature
|
|
44
|
-
|
|
45
|
-
Open your project in Claude Code and run:
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
/morph-proposal my-feature
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Replace `my-feature` with a short kebab-case name for your feature (e.g., `user-notifications`, `payment-flow`).
|
|
52
|
-
|
|
53
|
-
The proposal pipeline runs phases 0–4 with three approval gates:
|
|
54
|
-
|
|
55
|
-
### Phase 0 — Proposal
|
|
56
|
-
|
|
57
|
-
Claude analyzes your request, detects which agents are relevant, and produces `0-proposal/proposal.md`. You review it and approve (or request changes).
|
|
58
|
-
|
|
59
|
-
### Phase 1 — Setup
|
|
60
|
-
|
|
61
|
-
Loads project context from `.morph/context/`, confirms stack and active agents. No approval needed.
|
|
62
|
-
|
|
63
|
-
### Phase 1.5 — UI/UX (conditional)
|
|
64
|
-
|
|
65
|
-
Only runs if frontend agents are active. Claude generates:
|
|
66
|
-
- `2-ui/design-system.md` — colors, typography, spacing
|
|
67
|
-
- `2-ui/mockups.md` — ASCII wireframes
|
|
68
|
-
- `2-ui/components.md` — component specs
|
|
69
|
-
- `2-ui/flows.md` — user flows and edge cases
|
|
70
|
-
|
|
71
|
-
You approve the UI design before design phase begins.
|
|
72
|
-
|
|
73
|
-
### Phase 2 — Design
|
|
74
|
-
|
|
75
|
-
Claude produces the technical specification:
|
|
76
|
-
- `1-design/spec.md` — full requirements, use cases, validations
|
|
77
|
-
- `1-design/contracts.cs` — C# interfaces, DTOs, enums
|
|
78
|
-
- `1-design/decisions.md` — architectural decision records (ADRs)
|
|
79
|
-
|
|
80
|
-
You review and approve the design.
|
|
81
|
-
|
|
82
|
-
### Phase 3 — Clarify
|
|
83
|
-
|
|
84
|
-
Claude identifies 3–7 ambiguities in the spec, asks you to resolve them, then updates the spec. No gate.
|
|
85
|
-
|
|
86
|
-
### Phase 4 — Tasks
|
|
87
|
-
|
|
88
|
-
Claude breaks the spec into atomic tasks (`T001`, `T002`, …) saved to `3-tasks/tasks.md`. You approve the task list.
|
|
89
|
-
|
|
90
|
-
At this point, planning is complete:
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
✅ Planning complete — run /morph-apply my-feature to implement
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## Implement
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
/morph-apply my-feature
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Claude reads `spec.md`, `contracts.cs`, and `tasks.md`, then implements task by task:
|
|
105
|
-
- Starts each task, writes the code, marks it done
|
|
106
|
-
- Runs 5 validators automatically after each task: security, architecture, packages, design system, Blazor concurrency
|
|
107
|
-
- Auto-checkpoints every 3 tasks (validates, saves state)
|
|
108
|
-
- Generates `4-implement/recap.md` on completion
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## During development
|
|
113
|
-
|
|
114
|
-
Check feature state:
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
morph-spec state get my-feature
|
|
118
|
-
morph-spec status my-feature
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
Advance to the next phase manually (when needed):
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
morph-spec phase advance my-feature
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Mark a task complete:
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
morph-spec task done my-feature T001
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
Run validators at any time:
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
morph-spec validate # all validators
|
|
137
|
-
morph-spec validate architecture # specific validator
|
|
138
|
-
morph-spec validate packages
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## Multiple features
|
|
144
|
-
|
|
145
|
-
You can have multiple features in progress simultaneously. Each has its own directory under `.morph/features/`:
|
|
146
|
-
|
|
147
|
-
```
|
|
148
|
-
.morph/features/
|
|
149
|
-
├── user-notifications/
|
|
150
|
-
│ ├── 0-proposal/
|
|
151
|
-
│ ├── 1-design/
|
|
152
|
-
│ └── 3-tasks/
|
|
153
|
-
└── payment-flow/
|
|
154
|
-
├── 0-proposal/
|
|
155
|
-
└── 1-design/
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
See all feature states:
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
morph-spec state list
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Keeping up to date
|
|
167
|
-
|
|
168
|
-
When a new version of `@polymorphism-tech/morph-spec` is published:
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
# Update the CLI
|
|
172
|
-
npm install -g @polymorphism-tech/morph-spec@latest
|
|
173
|
-
|
|
174
|
-
# Update framework files in your project
|
|
175
|
-
morph-spec update
|
|
176
|
-
|
|
177
|
-
# Verify
|
|
178
|
-
morph-spec doctor
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
`morph-spec update` re-syncs `.morph/framework/`, `.claude/skills/`, `.claude/agents/`, `.claude/rules/`, and `CLAUDE.md`. It does not touch your config, context, or feature outputs.
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Tips
|
|
186
|
-
|
|
187
|
-
**Use `/morph-proposal` even for small features.** The proposal phase catches scope creep, identifies the right agents, and generates contracts early — before implementation makes it expensive to change direction.
|
|
188
|
-
|
|
189
|
-
**Approve explicitly at each gate.** The design gate exists to prevent implementing the wrong thing. If something in `spec.md` or `contracts.cs` looks off, say so before approving.
|
|
190
|
-
|
|
191
|
-
**ADRs belong in `decisions.md`.** When Claude makes an architectural choice, it documents it there. Read it after Design completes. Decisions drive the validators that run during implementation.
|
|
192
|
-
|
|
193
|
-
**`morph-spec doctor` is your first debugging step.** If something is behaving unexpectedly, doctor will surface version mismatches, missing files, and hook configuration issues.
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## Next steps
|
|
198
|
-
|
|
199
|
-
- [CHEATSHEET.md](CHEATSHEET.md) — command reference
|
|
200
|
-
- [ARCHITECTURE.md](ARCHITECTURE.md) — system design and agent hierarchy
|
|
201
|
-
- [CHANGELOG.md](../CHANGELOG.md) — release history
|
|
202
|
-
- `.morph/framework/standards/` — all coding and architecture standards
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
*morph-spec v4.10.
|
|
1
|
+
# morph-spec Quick Start
|
|
2
|
+
|
|
3
|
+
## Install
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install -g @polymorphism-tech/morph-spec
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Or use `npx` without a global install:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx @polymorphism-tech/morph-spec init
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
> **Windows / nvm-windows:** Global installs may not appear on PATH. Use `npx` or add the npm prefix to PATH manually: `npm config get prefix`, then add `{prefix}` to your PATH.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Initialize a project
|
|
20
|
+
|
|
21
|
+
Navigate to your project root and run:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
morph-spec init
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`init` does the following:
|
|
28
|
+
- Auto-detects your stack (Blazor, Next.js, Node.js, monorepo)
|
|
29
|
+
- Creates `.morph/` with framework files, standards, and templates
|
|
30
|
+
- Creates `.morph/context/` with inferred project context
|
|
31
|
+
- Installs `.claude/skills/`, `.claude/agents/`, `.claude/rules/`
|
|
32
|
+
- Writes `.claude/settings.local.json` with 10 Claude Code hooks
|
|
33
|
+
- Copies `CLAUDE.md` with runtime instructions
|
|
34
|
+
|
|
35
|
+
Verify the installation:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
morph-spec doctor
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Your first feature
|
|
44
|
+
|
|
45
|
+
Open your project in Claude Code and run:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
/morph-proposal my-feature
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Replace `my-feature` with a short kebab-case name for your feature (e.g., `user-notifications`, `payment-flow`).
|
|
52
|
+
|
|
53
|
+
The proposal pipeline runs phases 0–4 with three approval gates:
|
|
54
|
+
|
|
55
|
+
### Phase 0 — Proposal
|
|
56
|
+
|
|
57
|
+
Claude analyzes your request, detects which agents are relevant, and produces `0-proposal/proposal.md`. You review it and approve (or request changes).
|
|
58
|
+
|
|
59
|
+
### Phase 1 — Setup
|
|
60
|
+
|
|
61
|
+
Loads project context from `.morph/context/`, confirms stack and active agents. No approval needed.
|
|
62
|
+
|
|
63
|
+
### Phase 1.5 — UI/UX (conditional)
|
|
64
|
+
|
|
65
|
+
Only runs if frontend agents are active. Claude generates:
|
|
66
|
+
- `2-ui/design-system.md` — colors, typography, spacing
|
|
67
|
+
- `2-ui/mockups.md` — ASCII wireframes
|
|
68
|
+
- `2-ui/components.md` — component specs
|
|
69
|
+
- `2-ui/flows.md` — user flows and edge cases
|
|
70
|
+
|
|
71
|
+
You approve the UI design before design phase begins.
|
|
72
|
+
|
|
73
|
+
### Phase 2 — Design
|
|
74
|
+
|
|
75
|
+
Claude produces the technical specification:
|
|
76
|
+
- `1-design/spec.md` — full requirements, use cases, validations
|
|
77
|
+
- `1-design/contracts.cs` — C# interfaces, DTOs, enums
|
|
78
|
+
- `1-design/decisions.md` — architectural decision records (ADRs)
|
|
79
|
+
|
|
80
|
+
You review and approve the design.
|
|
81
|
+
|
|
82
|
+
### Phase 3 — Clarify
|
|
83
|
+
|
|
84
|
+
Claude identifies 3–7 ambiguities in the spec, asks you to resolve them, then updates the spec. No gate.
|
|
85
|
+
|
|
86
|
+
### Phase 4 — Tasks
|
|
87
|
+
|
|
88
|
+
Claude breaks the spec into atomic tasks (`T001`, `T002`, …) saved to `3-tasks/tasks.md`. You approve the task list.
|
|
89
|
+
|
|
90
|
+
At this point, planning is complete:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
✅ Planning complete — run /morph-apply my-feature to implement
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Implement
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
/morph-apply my-feature
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Claude reads `spec.md`, `contracts.cs`, and `tasks.md`, then implements task by task:
|
|
105
|
+
- Starts each task, writes the code, marks it done
|
|
106
|
+
- Runs 5 validators automatically after each task: security, architecture, packages, design system, Blazor concurrency
|
|
107
|
+
- Auto-checkpoints every 3 tasks (validates, saves state)
|
|
108
|
+
- Generates `4-implement/recap.md` on completion
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## During development
|
|
113
|
+
|
|
114
|
+
Check feature state:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
morph-spec state get my-feature
|
|
118
|
+
morph-spec status my-feature
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Advance to the next phase manually (when needed):
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
morph-spec phase advance my-feature
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Mark a task complete:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
morph-spec task done my-feature T001
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Run validators at any time:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
morph-spec validate # all validators
|
|
137
|
+
morph-spec validate architecture # specific validator
|
|
138
|
+
morph-spec validate packages
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Multiple features
|
|
144
|
+
|
|
145
|
+
You can have multiple features in progress simultaneously. Each has its own directory under `.morph/features/`:
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
.morph/features/
|
|
149
|
+
├── user-notifications/
|
|
150
|
+
│ ├── 0-proposal/
|
|
151
|
+
│ ├── 1-design/
|
|
152
|
+
│ └── 3-tasks/
|
|
153
|
+
└── payment-flow/
|
|
154
|
+
├── 0-proposal/
|
|
155
|
+
└── 1-design/
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
See all feature states:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
morph-spec state list
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Keeping up to date
|
|
167
|
+
|
|
168
|
+
When a new version of `@polymorphism-tech/morph-spec` is published:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# Update the CLI
|
|
172
|
+
npm install -g @polymorphism-tech/morph-spec@latest
|
|
173
|
+
|
|
174
|
+
# Update framework files in your project
|
|
175
|
+
morph-spec update
|
|
176
|
+
|
|
177
|
+
# Verify
|
|
178
|
+
morph-spec doctor
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`morph-spec update` re-syncs `.morph/framework/`, `.claude/skills/`, `.claude/agents/`, `.claude/rules/`, and `CLAUDE.md`. It does not touch your config, context, or feature outputs.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Tips
|
|
186
|
+
|
|
187
|
+
**Use `/morph-proposal` even for small features.** The proposal phase catches scope creep, identifies the right agents, and generates contracts early — before implementation makes it expensive to change direction.
|
|
188
|
+
|
|
189
|
+
**Approve explicitly at each gate.** The design gate exists to prevent implementing the wrong thing. If something in `spec.md` or `contracts.cs` looks off, say so before approving.
|
|
190
|
+
|
|
191
|
+
**ADRs belong in `decisions.md`.** When Claude makes an architectural choice, it documents it there. Read it after Design completes. Decisions drive the validators that run during implementation.
|
|
192
|
+
|
|
193
|
+
**`morph-spec doctor` is your first debugging step.** If something is behaving unexpectedly, doctor will surface version mismatches, missing files, and hook configuration issues.
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Next steps
|
|
198
|
+
|
|
199
|
+
- [CHEATSHEET.md](CHEATSHEET.md) — command reference
|
|
200
|
+
- [ARCHITECTURE.md](ARCHITECTURE.md) — system design and agent hierarchy
|
|
201
|
+
- [CHANGELOG.md](../CHANGELOG.md) — release history
|
|
202
|
+
- `.morph/framework/standards/` — all coding and architecture standards
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
*morph-spec v4.10.8 by Polymorphism Tech*
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# Level 2: Domains
|
|
2
|
-
|
|
3
|
-
Domain expertise skills organized by squad.
|
|
4
|
-
|
|
5
|
-
**Purpose:** Skills that provide deep domain knowledge (backend, frontend, infra, quality, ai-agents, integrations).
|
|
6
|
-
|
|
7
|
-
**Squads:**
|
|
8
|
-
- backend/ - Backend Squad (led by dotnet-senior)
|
|
9
|
-
- frontend/ - Frontend Squad (led by ui-designer)
|
|
10
|
-
- infrastructure/ - Infrastructure Squad (led by infra-architect)
|
|
11
|
-
- quality/ - Quality Squad (coordinated by standards-architect)
|
|
12
|
-
- ai-agents/ - AI/Agent specialists
|
|
13
|
-
- integrations/ - External integration specialists
|
|
14
|
-
- architecture/ - Architecture and planning
|
|
1
|
+
# Level 2: Domains
|
|
2
|
+
|
|
3
|
+
Domain expertise skills organized by squad.
|
|
4
|
+
|
|
5
|
+
**Purpose:** Skills that provide deep domain knowledge (backend, frontend, infra, quality, ai-agents, integrations).
|
|
6
|
+
|
|
7
|
+
**Squads:**
|
|
8
|
+
- backend/ - Backend Squad (led by dotnet-senior)
|
|
9
|
+
- frontend/ - Frontend Squad (led by ui-designer)
|
|
10
|
+
- infrastructure/ - Infrastructure Squad (led by infra-architect)
|
|
11
|
+
- quality/ - Quality Squad (coordinated by standards-architect)
|
|
12
|
+
- ai-agents/ - AI/Agent specialists
|
|
13
|
+
- integrations/ - External integration specialists
|
|
14
|
+
- architecture/ - Architecture and planning
|