@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.
- package/CLAUDE.md +98 -0
- package/README.md +2 -2
- package/bin/morph-spec.js +15 -56
- package/bin/task-manager.js +115 -14
- package/bin/validate.js +67 -33
- package/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +201 -203
- package/docs/QUICKSTART.md +2 -2
- package/framework/CLAUDE.md +21 -0
- package/framework/agents.json +758 -164
- package/framework/hooks/claude-code/post-tool-use/context-refresh.js +1 -1
- package/framework/hooks/claude-code/post-tool-use/dispatch.js +2 -2
- package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +155 -0
- package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +1 -1
- package/framework/hooks/claude-code/session-start/inject-morph-context.js +71 -2
- package/framework/hooks/claude-code/statusline.py +76 -30
- package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +14 -6
- package/framework/hooks/shared/activity-logger.js +0 -24
- package/framework/hooks/shared/phase-utils.js +3 -0
- package/framework/hooks/shared/skill-reminder-helpers.js +79 -0
- package/framework/hooks/shared/stale-task-reset.js +57 -0
- package/framework/hooks/shared/state-reader.js +2 -2
- package/framework/hooks/shared/worktree-helpers.js +53 -0
- package/framework/phases.json +40 -8
- package/framework/skills/level-0-meta/brainstorming/SKILL.md +1 -1
- package/framework/skills/level-0-meta/code-review/SKILL.md +1 -1
- package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +163 -163
- package/framework/skills/level-0-meta/frontend-review/SKILL.md +5 -5
- package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
- package/framework/skills/level-0-meta/morph-init/SKILL.md +5 -5
- package/framework/skills/level-0-meta/morph-replicate/SKILL.md +4 -4
- package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +1 -1
- package/framework/skills/level-0-meta/post-implementation/SKILL.md +59 -12
- package/framework/skills/level-0-meta/simulation-checklist/SKILL.md +1 -1
- package/framework/skills/level-0-meta/terminal-title/SKILL.md +1 -1
- package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +1 -1
- package/framework/skills/level-0-meta/tool-usage-guide/references/tools-per-phase.md +6 -5
- package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +215 -189
- package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +251 -251
- package/framework/skills/level-1-workflows/phase-design/SKILL.md +382 -365
- package/framework/skills/level-1-workflows/phase-implement/SKILL.md +492 -450
- package/framework/skills/level-1-workflows/phase-setup/SKILL.md +194 -190
- package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +270 -270
- package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +285 -285
- package/framework/standards/STANDARDS.json +640 -88
- package/framework/standards/infrastructure/vercel/vercel-database.md +106 -0
- package/framework/templates/REGISTRY.json +1825 -1909
- package/framework/templates/context/CONTEXT-FEATURE.md +276 -276
- package/framework/templates/docs/onboarding.md +1 -5
- package/framework/workflows/configs/nodejs-cli.json +40 -0
- package/package.json +2 -6
- package/src/commands/agents/dispatch-agents.js +55 -4
- package/src/commands/project/doctor.js +16 -47
- package/src/commands/project/init.js +1 -1
- package/src/commands/project/status.js +2 -2
- package/src/commands/project/update.js +381 -365
- package/src/commands/project/worktree.js +154 -0
- package/src/commands/state/advance-phase.js +120 -30
- package/src/commands/state/approve.js +2 -2
- package/src/commands/state/index.js +7 -8
- package/src/commands/state/phase-runner.js +1 -1
- package/src/commands/state/state.js +61 -6
- package/src/commands/tasks/task.js +78 -99
- package/src/commands/templates/template-render.js +93 -173
- package/src/commands/trust/trust.js +26 -21
- package/src/core/paths/output-schema.js +15 -0
- package/src/core/state/state-manager.js +28 -54
- package/src/core/workflows/workflow-detector.js +9 -87
- package/src/lib/phase-chain/phase-validator.js +330 -0
- package/src/lib/stack/stack-profile.js +88 -0
- package/src/lib/tasks/task-classifier.js +16 -0
- package/src/lib/tasks/test-runner.js +77 -0
- package/src/lib/trust/trust-manager.js +32 -144
- package/src/lib/validators/spec-validator.js +58 -4
- package/src/lib/validators/validation-runner.js +23 -11
- package/src/scripts/setup-infra.js +240 -224
- package/src/utils/agents-installer.js +2 -2
- package/src/utils/banner.js +1 -1
- package/src/utils/claude-settings-manager.js +1 -1
- package/src/utils/file-copier.js +1 -0
- package/src/utils/hooks-installer.js +258 -8
- package/framework/hooks/dev/check-sync-health.js +0 -117
- package/framework/hooks/dev/guard-version-numbers.js +0 -57
- package/framework/hooks/dev/sync-standards-registry.js +0 -60
- package/framework/hooks/dev/sync-template-registry.js +0 -60
- package/framework/hooks/dev/validate-skill-format.js +0 -70
- package/framework/hooks/dev/validate-standard-format.js +0 -73
- package/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
- package/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
- package/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
- package/framework/workflows/configs/design-impl.json +0 -49
- package/framework/workflows/configs/express.json +0 -45
- package/framework/workflows/configs/fast-track.json +0 -42
- package/framework/workflows/configs/full-morph.json +0 -79
- package/framework/workflows/configs/fusion.json +0 -39
- package/framework/workflows/configs/long-running.json +0 -33
- package/framework/workflows/configs/spec-only.json +0 -43
- package/framework/workflows/configs/ui-refresh.json +0 -49
- package/framework/workflows/configs/zero-touch.json +0 -82
- package/src/commands/project/monitor.js +0 -295
- package/src/commands/project/tutorial.js +0 -115
- package/src/commands/state/validate-phase.js +0 -238
- package/src/commands/templates/generate-contracts.js +0 -445
- package/src/core/orchestrator.js +0 -171
- package/src/core/registry/command-registry.js +0 -28
- package/src/core/registry/index.js +0 -8
- package/src/core/registry/validator-registry.js +0 -204
- package/src/core/templates/template-validator.js +0 -296
- package/src/generator/config-generator.js +0 -206
- package/src/generator/templates/config.json.template +0 -40
- package/src/generator/templates/project.md.template +0 -67
- package/src/lib/agents/micro-agent-factory.js +0 -161
- package/src/lib/analysis/complexity-analyzer.js +0 -441
- package/src/lib/analysis/index.js +0 -7
- package/src/lib/analytics/analytics-engine.js +0 -345
- package/src/lib/checkpoints/checkpoint-hooks.js +0 -298
- package/src/lib/checkpoints/index.js +0 -7
- package/src/lib/context/context-bundler.js +0 -241
- package/src/lib/context/context-optimizer.js +0 -212
- package/src/lib/context/context-tracker.js +0 -273
- package/src/lib/context/core-four-tracker.js +0 -201
- package/src/lib/context/mcp-optimizer.js +0 -200
- package/src/lib/execution/fusion-executor.js +0 -304
- package/src/lib/execution/parallel-executor.js +0 -270
- package/src/lib/hooks/stop-hook-executor.js +0 -286
- package/src/lib/hops/hop-composer.js +0 -221
- package/src/lib/phase-chain/eligibility-checker.js +0 -243
- package/src/lib/threads/thread-coordinator.js +0 -238
- package/src/lib/threads/thread-manager.js +0 -317
- package/src/lib/tracking/artifact-trail.js +0 -202
- package/src/scanner/project-scanner.js +0 -242
- package/src/ui/diff-display.js +0 -91
- package/src/ui/interactive-wizard.js +0 -96
- package/src/ui/user-review.js +0 -211
- package/src/ui/wizard-questions.js +0 -188
- package/src/utils/color-utils.js +0 -70
- package/src/utils/process-handler.js +0 -97
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: morph
|
|
2
|
+
name: morph:init
|
|
3
3
|
description: >
|
|
4
4
|
LLM-powered project initialization. Installs morph-spec infrastructure if
|
|
5
5
|
needed, auto-installs required plugins (superpowers, context7), analyzes any
|
|
6
6
|
project structure intelligently, generates rich context/README.md and
|
|
7
7
|
config.json, and configures MCPs. Use once per project after installing
|
|
8
|
-
@polymorphism-tech/morph-spec. Re-run with /morph
|
|
8
|
+
@polymorphism-tech/morph-spec. Re-run with /morph:init refresh to update
|
|
9
9
|
context as the project evolves.
|
|
10
10
|
argument-hint: "[refresh]"
|
|
11
11
|
user-invocable: true
|
|
@@ -15,7 +15,7 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
|
15
15
|
# morph-init — LLM-Powered Project Initialization
|
|
16
16
|
|
|
17
17
|
> Run once after `npm install @polymorphism-tech/morph-spec`.
|
|
18
|
-
> Re-run as `/morph
|
|
18
|
+
> Re-run as `/morph:init refresh` when your project evolves.
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -55,7 +55,7 @@ claude plugin install superpowers@claude-plugins-official
|
|
|
55
55
|
claude plugin install context7@claude-plugins-official
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
**If the command succeeds:** `✓ {plugin} installed. Restart Claude Code after /morph
|
|
58
|
+
**If the command succeeds:** `✓ {plugin} installed. Restart Claude Code after /morph:init completes.`
|
|
59
59
|
|
|
60
60
|
**If the command fails:** Show this and **STOP** — do not continue:
|
|
61
61
|
|
|
@@ -63,7 +63,7 @@ claude plugin install context7@claude-plugins-official
|
|
|
63
63
|
Plugin {plugin} could not be installed automatically.
|
|
64
64
|
Run manually and restart Claude Code:
|
|
65
65
|
claude plugin install {plugin}
|
|
66
|
-
Then re-run /morph
|
|
66
|
+
Then re-run /morph:init.
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
Both `superpowers` and `context7` are required. Do not continue if either is missing.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: morph
|
|
2
|
+
name: morph:replicate
|
|
3
3
|
description: Simplified workflow for converting HTML prototypes into functional Blazor components, extracting design patterns and mapping HTML elements to Fluent UI/MudBlazor equivalents. Use when an approved HTML prototype exists and needs conversion to Blazor without a full MORPH-SPEC spec pipeline.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[feature-name] [prototype-path]"
|
|
@@ -14,12 +14,12 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
|
14
14
|
## Comando
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
/morph
|
|
17
|
+
/morph:replicate {feature-name} {prototype-path}
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
**Exemplo:**
|
|
21
21
|
```bash
|
|
22
|
-
/morph
|
|
22
|
+
/morph:replicate ui-redesign prototipo/
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
---
|
|
@@ -154,7 +154,7 @@ Este workflow gera apenas:
|
|
|
154
154
|
## Exemplo de Execucao
|
|
155
155
|
|
|
156
156
|
```markdown
|
|
157
|
-
/morph
|
|
157
|
+
/morph:replicate checkout-redesign prototipo/checkout/
|
|
158
158
|
|
|
159
159
|
📁 Analisando prototipo em prototipo/checkout/...
|
|
160
160
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# HTML → Blazor Component Mapping Reference
|
|
2
2
|
|
|
3
3
|
> Reference for converting HTML prototype elements to Fluent UI / MudBlazor equivalents.
|
|
4
|
-
> Used during FASE 1 of the `/morph
|
|
4
|
+
> Used during FASE 1 of the `/morph:replicate` workflow.
|
|
5
5
|
|
|
6
6
|
## Common Component Mappings
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: post-implementation
|
|
2
|
+
name: morph:post-implementation
|
|
3
3
|
description: Orquestra o fluxo completo pós-implementação: detecção de stack,
|
|
4
4
|
scans automáticos (C#/Next.js), testes, validate-feature, smoke test via
|
|
5
5
|
Playwright (obrigatório se dev server ativo), checklist de code review por
|
|
@@ -49,20 +49,20 @@ Execute os scans automáticos conforme o stack detectado.
|
|
|
49
49
|
### Se DOTNET ou FULLSTACK:
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
|
-
node .claude/skills/code-review/scripts/scan-csharp.mjs --diff
|
|
52
|
+
node .claude/skills/morph:code-review/scripts/scan-csharp.mjs --diff
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
### Se NEXTJS ou FULLSTACK:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
node .claude/skills/code-review-nextjs/scripts/scan-nextjs.mjs --diff
|
|
58
|
+
node .claude/skills/morph:code-review-nextjs/scripts/scan-nextjs.mjs --diff
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
**🚫 BLOCK se qualquer finding CRITICAL encontrado.**
|
|
62
62
|
|
|
63
63
|
Corrija todos os CRITICALs antes de continuar. Para revisar a lista completa de checks:
|
|
64
|
-
- .NET: `/code-review`
|
|
65
|
-
- Next.js: `/code-review-nextjs`
|
|
64
|
+
- .NET: `/morph:code-review`
|
|
65
|
+
- Next.js: `/morph:code-review-nextjs`
|
|
66
66
|
|
|
67
67
|
---
|
|
68
68
|
|
|
@@ -181,7 +181,7 @@ Não é possível prosseguir para criação de PR sem smoke test ou confirmaçã
|
|
|
181
181
|
|
|
182
182
|
## Step 6 — Code Review Checklist (CRITICAL + HIGH)
|
|
183
183
|
|
|
184
|
-
> Antes de revisar, leia: `.claude/skills/code-review/references/review-guidelines.md` — aplique confidence ≥ 75, ignore violações pré-existentes, inclua file:line em cada finding.
|
|
184
|
+
> Antes de revisar, leia: `.claude/skills/morph:code-review/references/review-guidelines.md` — aplique confidence ≥ 75, ignore violações pré-existentes, inclua file:line em cada finding.
|
|
185
185
|
|
|
186
186
|
Revise os itens mais importantes por stack. Para review completo, use os skills dedicados.
|
|
187
187
|
|
|
@@ -191,14 +191,14 @@ Dispatch dois subagents em paralelo (Task tool):
|
|
|
191
191
|
|
|
192
192
|
**Subagent 1 — Backend Review:**
|
|
193
193
|
> Revisor .NET focado. Escopo: APENAS arquivos .cs alterados (git diff main...HEAD).
|
|
194
|
-
> Run: `node .claude/skills/code-review/scripts/scan-csharp.mjs --diff`
|
|
194
|
+
> Run: `node .claude/skills/morph:code-review/scripts/scan-csharp.mjs --diff`
|
|
195
195
|
> Depois revisar manualmente itens CRITICAL+HIGH do checklist .NET.
|
|
196
196
|
> Aplicar review-guidelines.md: confidence ≥ 75, skip pré-existentes.
|
|
197
197
|
> Output: findings com file:line, ou "✅ Sem CRITICAL/HIGH em backend alterado."
|
|
198
198
|
|
|
199
199
|
**Subagent 2 — Frontend Review:**
|
|
200
200
|
> Revisor Next.js focado. Escopo: APENAS arquivos .tsx/.ts alterados (git diff main...HEAD).
|
|
201
|
-
> Run: `node .claude/skills/code-review-nextjs/scripts/scan-nextjs.mjs --diff`
|
|
201
|
+
> Run: `node .claude/skills/morph:code-review-nextjs/scripts/scan-nextjs.mjs --diff`
|
|
202
202
|
> Depois revisar manualmente itens CRITICAL+HIGH do checklist Next.js.
|
|
203
203
|
> Aplicar review-guidelines.md: confidence ≥ 75, skip pré-existentes.
|
|
204
204
|
> Output: findings com file:line, ou "✅ Sem CRITICAL/HIGH em frontend alterado."
|
|
@@ -222,14 +222,14 @@ Aguardar ambos. **🚫 BLOCK se algum retornar CRITICAL não resolvido.**
|
|
|
222
222
|
[ ] DTOs com nomes descritivos + tipos corretos
|
|
223
223
|
```
|
|
224
224
|
|
|
225
|
-
> Para lista completa: `/code-review`
|
|
225
|
+
> Para lista completa: `/morph:code-review`
|
|
226
226
|
|
|
227
227
|
### Se NEXTJS:
|
|
228
228
|
|
|
229
229
|
**Itens CRITICAL e HIGH — Next.js:**
|
|
230
230
|
|
|
231
231
|
```
|
|
232
|
-
[ ] node .claude/skills/code-review-nextjs/scripts/scan-nextjs.mjs --diff → 0 CRITICAL
|
|
232
|
+
[ ] node .claude/skills/morph:code-review-nextjs/scripts/scan-nextjs.mjs --diff → 0 CRITICAL
|
|
233
233
|
[ ] File names em kebab-case (user-card.tsx, não UserCard.tsx)
|
|
234
234
|
[ ] 'use client' apenas em componentes com hooks/event handlers
|
|
235
235
|
[ ] Sem useEffect para data fetching → Server Component ou useQuery
|
|
@@ -241,7 +241,7 @@ Aguardar ambos. **🚫 BLOCK se algum retornar CRITICAL não resolvido.**
|
|
|
241
241
|
[ ] Sem any type annotation
|
|
242
242
|
```
|
|
243
243
|
|
|
244
|
-
> Para lista completa: `/code-review-nextjs`
|
|
244
|
+
> Para lista completa: `/morph:code-review-nextjs`
|
|
245
245
|
|
|
246
246
|
**🚫 BLOCK se qualquer item CRITICAL não estiver resolvido.**
|
|
247
247
|
|
|
@@ -259,7 +259,52 @@ npx morph-spec generate recap $ARGUMENTS
|
|
|
259
259
|
|
|
260
260
|
---
|
|
261
261
|
|
|
262
|
-
## Step 8 —
|
|
262
|
+
## Step 8 — Finish Worktree
|
|
263
|
+
|
|
264
|
+
Implementation is complete. If the feature was developed in a morph worktree, finalize it now.
|
|
265
|
+
|
|
266
|
+
**Check if a worktree exists:**
|
|
267
|
+
```bash
|
|
268
|
+
git worktree list | grep morph/
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**If a `morph/{feature}` worktree exists:**
|
|
272
|
+
|
|
273
|
+
Invoke the finishing-a-development-branch skill:
|
|
274
|
+
```
|
|
275
|
+
Skill(superpowers:finishing-a-development-branch)
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
This skill will:
|
|
279
|
+
1. Verify tests pass
|
|
280
|
+
2. Present 4 options:
|
|
281
|
+
- **Merge locally** → merge into base branch + delete worktree
|
|
282
|
+
- **Push and create PR** → push branch + create GitHub PR (keeps worktree)
|
|
283
|
+
- **Keep as-is** → no action (worktree preserved for later)
|
|
284
|
+
- **Discard** → delete branch + worktree (requires typed confirmation)
|
|
285
|
+
3. Clean up worktree for options 1 and 4
|
|
286
|
+
|
|
287
|
+
**If NOT in a worktree** (legacy mode): skip this step and proceed to Step 9.
|
|
288
|
+
|
|
289
|
+
> **Note:** If the `superpowers` plugin is not installed, create the PR manually:
|
|
290
|
+
> `gh pr create --title "feat({feature}): <description>" --body "..."`
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Step 9 — Pre-PR Compliance Checklist
|
|
295
|
+
|
|
296
|
+
Antes de criar o PR, invoque o checklist de compliance:
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
Skill(morph:checklist)
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Este skill verifica: segurança, SEO, performance, acessibilidade e conformidade LGPD.
|
|
303
|
+
**🚫 BLOCK se qualquer item CRITICAL não estiver resolvido.**
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Step 10 — PR Suggestion
|
|
263
308
|
|
|
264
309
|
Quando todos os steps passarem, sugira o PR:
|
|
265
310
|
|
|
@@ -307,6 +352,8 @@ EOF
|
|
|
307
352
|
| Step 5 | Dev server ativo + smoke test com falha |
|
|
308
353
|
| Step 5 | Dev server não detectado sem confirmação explícita do usuário |
|
|
309
354
|
| Step 6 | Qualquer item CRITICAL não resolvido no checklist manual |
|
|
355
|
+
| Step 8 | Tests failing in worktree before merge/PR |
|
|
356
|
+
| Step 9 | Item CRITICAL no `morph:checklist` não resolvido |
|
|
310
357
|
|
|
311
358
|
**Todos os BLOCKs devem ser resolvidos antes de criar o PR.**
|
|
312
359
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: simulation-checklist
|
|
2
|
+
name: morph:simulation-checklist
|
|
3
3
|
description: Checklist for implementing mock/simulation clients for external .NET services (AI APIs, payments, email). Use when setting up simulation mode without real API access, when creating fake service implementations for development/testing, or when debugging external service integrations.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: terminal-title
|
|
2
|
+
name: morph:terminal-title
|
|
3
3
|
description: Manually set the terminal window title for the current task. Use when you need to override the automatic title set by the hook, or to set a specific descriptive title for the current work context.
|
|
4
4
|
argument-hint: "[title]"
|
|
5
5
|
user-invocable: true
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: tool-usage-guide
|
|
2
|
+
name: morph:tool-usage-guide
|
|
3
3
|
description: Decision flowchart and per-phase reference for selecting the right Claude Code tool (Read, Grep, Glob, Bash, Task) or MCP tool in MORPH-SPEC workflows. Use when unsure which tool to use for a given action, when choosing between native tools and MCPs, or when deciding whether to use a subagent vs direct tools.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
| Detect project stack | **Read** `.morph/framework/agents.json` → match keywords → **Bash** `npx morph-spec state add-agent` | agents.json is the source of truth |
|
|
18
18
|
| Research external requirement | **WebSearch** | Current information needed |
|
|
19
19
|
| Render proposal template | **Bash** `npx morph-spec template render docs/proposal ...` | CLI command |
|
|
20
|
-
| Update state | **Bash** `npx morph-spec state mark-output
|
|
20
|
+
| Update state | **Bash** `npx morph-spec state mark-output {feature} proposal` | CLI command |
|
|
21
21
|
|
|
22
22
|
**MCPs used:** None typically. GitHub MCP if feature comes from an issue.
|
|
23
23
|
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
| Search for design references | **WebSearch** + **WebFetch** | External inspiration |
|
|
71
71
|
| Render UI templates | **Bash** `npx morph-spec template render docs/ui-mockups ...` | CLI command |
|
|
72
72
|
| Generate design system from CSS | **Bash** `npx morph-spec generate design-system --scan` | CLI command |
|
|
73
|
-
| Update state | **Bash** `npx morph-spec state mark-output
|
|
73
|
+
| Update state | **Bash** `npx morph-spec state mark-output {feature} uiDesignSystem && npx morph-spec state mark-output {feature} uiMockups && npx morph-spec state mark-output {feature} uiComponents && npx morph-spec state mark-output {feature} uiFlows` | CLI command |
|
|
74
74
|
|
|
75
75
|
**MCPs used:** Figma (design tokens), Playwright (live preview, page inspection), Context7 (component docs).
|
|
76
76
|
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
| Render spec template | **Bash** `npx morph-spec template render docs/spec ...` | CLI command |
|
|
105
105
|
| Render decisions template | **Bash** `npx morph-spec template render docs/decisions ...` | CLI command |
|
|
106
106
|
| Create schema-analysis.md | **Write** to output directory | Document findings |
|
|
107
|
-
| Update state | **Bash** `npx morph-spec state mark-output
|
|
107
|
+
| Update state | **Bash** `npx morph-spec state mark-output {feature} schemaAnalysis && npx morph-spec state mark-output {feature} spec && npx morph-spec state mark-output {feature} contracts && npx morph-spec state mark-output {feature} decisions` | CLI command |
|
|
108
108
|
|
|
109
109
|
**MCPs used:** Supabase (schema analysis), Context7 (library research), GitHub (code search).
|
|
110
110
|
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
| Research edge case behavior | **WebSearch** | External knowledge for edge cases |
|
|
134
134
|
| Update spec with clarifications | **Edit** spec.md | Preserve existing content, add sections |
|
|
135
135
|
| Create clarifications.md | **Bash** `npx morph-spec template render docs/clarifications ...` | Use template |
|
|
136
|
-
| Update state | **Bash** `npx morph-spec state mark-output
|
|
136
|
+
| Update state | **Bash** `npx morph-spec state mark-output {feature} clarifications` | CLI command |
|
|
137
137
|
|
|
138
138
|
**MCPs used:** Context7 (validate feasibility), GitHub (known issues).
|
|
139
139
|
|
|
@@ -159,6 +159,7 @@
|
|
|
159
159
|
| Create GitHub issues from tasks | **GitHub MCP** `create_issue()` | Sync tasks to project management |
|
|
160
160
|
| **Fallback:** Create issues via CLI | **Bash** `gh issue create ...` | When no GitHub MCP |
|
|
161
161
|
| Render tasks template | **Bash** `npx morph-spec template render docs/tasks ...` | CLI command |
|
|
162
|
+
| Mark tasks output | **Bash** `npx morph-spec state mark-output {feature} tasks` | CLI command |
|
|
162
163
|
| Update state with task count | **Bash** `npx morph-spec state set ... tasks.total N` | CLI command |
|
|
163
164
|
|
|
164
165
|
**MCPs used:** Context7 (complexity estimation), GitHub (issue creation).
|
|
@@ -195,7 +196,7 @@
|
|
|
195
196
|
| Smoke test feature no browser | **Playwright MCP** `browser_navigate()` + `browser_snapshot()` | Manual testing |
|
|
196
197
|
| Verificar erros de console | **Playwright MCP** `browser_console_messages()` | Browser DevTools |
|
|
197
198
|
| Screenshot para recap.md | **Playwright MCP** `browser_take_screenshot()` | Manual screenshot |
|
|
198
|
-
|
|
|
199
|
+
| Mark recap output | **Bash** `npx morph-spec state mark-output {feature} recap` | CLI command |
|
|
199
200
|
|
|
200
201
|
**MCPs used:** Supabase (migrations, RLS), Context7 (API lookup), GitHub (PRs), Playwright (smoke test, verification).
|
|
201
202
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: verification-before-completion
|
|
2
|
+
name: morph:verification-before-completion
|
|
3
3
|
description: Phase-specific verification checklists and morph-spec validation commands for confirming MORPH-SPEC outputs are complete and correct. Use before marking any task done, before advancing to the next phase, before committing, or before creating PRs.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[feature-name] [phase?]"
|