@polymorphism-tech/morph-spec 4.7.1 → 4.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.morph/analytics/threads-log.jsonl +54 -0
- package/.morph/state.json +198 -0
- package/LICENSE +1 -2
- package/README.md +379 -414
- package/bin/morph-spec.js +57 -403
- package/bin/validate.js +2 -26
- package/claude-plugin.json +2 -2
- package/docs/ARCHITECTURE.md +43 -46
- package/docs/CHEATSHEET.md +203 -221
- package/docs/COMMAND-FLOWS.md +319 -289
- package/docs/QUICKSTART.md +2 -8
- package/docs/plans/2026-02-22-claude-docs-morph-alignment-analysis.md +2 -0
- package/docs/plans/2026-02-22-claude-settings.md +2 -0
- package/docs/plans/2026-02-22-morph-cc-alignment-impl.md +2 -0
- package/docs/plans/2026-02-22-morph-spec-next.md +2 -0
- package/docs/plans/2026-02-22-native-alignment-design.md +2 -0
- package/docs/plans/2026-02-22-native-alignment-impl.md +2 -0
- package/docs/plans/2026-02-22-native-enrichment-design.md +2 -0
- package/docs/plans/2026-02-22-native-enrichment.md +2 -0
- package/docs/plans/2026-02-23-ddd-architecture-refactor.md +2 -0
- package/docs/plans/2026-02-23-ddd-nextsteps.md +2 -0
- package/docs/plans/2026-02-23-infra-architect-refactor.md +2 -0
- package/docs/plans/2026-02-23-nextjs-code-review-design.md +2 -1
- package/docs/plans/2026-02-23-nextjs-code-review-impl.md +2 -0
- package/docs/plans/2026-02-23-nextjs-standards-design.md +2 -1
- package/docs/plans/2026-02-23-nextjs-standards-impl.md +2 -0
- package/docs/plans/2026-02-24-cli-radical-simplification.md +592 -0
- package/docs/plans/2026-02-24-framework-failure-points.md +125 -0
- package/docs/plans/2026-02-24-morph-init-design.md +337 -0
- package/docs/plans/2026-02-24-morph-init-impl.md +1269 -0
- package/docs/plans/2026-02-24-tutorial-command-design.md +71 -0
- package/docs/plans/2026-02-24-tutorial-command.md +298 -0
- package/framework/CLAUDE.md +2 -2
- package/framework/commands/morph-proposal.md +3 -3
- package/framework/hooks/README.md +11 -10
- package/framework/hooks/claude-code/notification/approval-reminder.js +2 -0
- package/framework/hooks/claude-code/post-tool-use/dispatch.js +1 -1
- package/framework/hooks/claude-code/pre-tool-use/protect-readonly-files.js +4 -55
- package/framework/hooks/claude-code/session-start/inject-morph-context.js +20 -5
- package/framework/hooks/claude-code/statusline.py +6 -1
- package/framework/hooks/claude-code/stop/validate-completion.js +1 -1
- package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +1 -1
- package/framework/hooks/dev/check-sync-health.js +117 -0
- package/framework/hooks/dev/guard-version-numbers.js +57 -0
- package/framework/hooks/dev/sync-standards-registry.js +60 -0
- package/framework/hooks/dev/sync-template-registry.js +60 -0
- package/framework/hooks/dev/validate-skill-format.js +70 -0
- package/framework/hooks/dev/validate-standard-format.js +73 -0
- package/framework/hooks/shared/payload-utils.js +39 -0
- package/framework/hooks/shared/state-reader.js +25 -1
- package/framework/rules/morph-workflow.md +1 -1
- package/framework/skills/level-0-meta/morph-init/SKILL.md +216 -0
- package/framework/skills/level-0-meta/morph-replicate/SKILL.md +4 -4
- package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +4 -4
- package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +192 -191
- package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +181 -180
- package/framework/skills/level-1-workflows/phase-design/SKILL.md +339 -338
- package/framework/skills/level-1-workflows/phase-implement/SKILL.md +254 -253
- package/framework/skills/level-1-workflows/phase-setup/SKILL.md +168 -170
- package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +284 -283
- package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +246 -245
- package/framework/templates/examples/design-system-examples.md +1 -1
- package/framework/templates/ui/FluentDesignTheme.cs +1 -1
- package/framework/templates/ui/MudTheme.cs +1 -1
- package/framework/templates/ui/design-system.css +1 -1
- package/package.json +4 -2
- package/scripts/bump-version.js +248 -0
- package/scripts/install-dev-hooks.js +138 -0
- package/src/commands/agents/index.js +1 -2
- package/src/commands/index.js +13 -16
- package/src/commands/project/doctor.js +100 -14
- package/src/commands/project/index.js +7 -10
- package/src/commands/project/init.js +398 -555
- package/src/commands/project/install-plugin-cmd.js +28 -0
- package/src/commands/project/setup-infra-cmd.js +12 -0
- package/src/commands/project/tutorial.js +115 -0
- package/src/commands/project/update.js +22 -37
- package/src/commands/state/approve.js +213 -221
- package/src/commands/state/index.js +0 -1
- package/src/commands/state/state.js +337 -365
- package/src/commands/templates/index.js +0 -4
- package/src/commands/trust/trust.js +1 -93
- package/src/commands/utils/index.js +1 -5
- package/src/commands/validation/index.js +1 -5
- package/src/core/registry/command-registry.js +11 -285
- package/src/core/state/state-manager.js +5 -2
- package/src/lib/detectors/index.js +81 -87
- package/src/lib/detectors/structure-detector.js +275 -273
- package/src/lib/generators/recap-generator.js +232 -225
- package/src/lib/installers/mcp-installer.js +18 -3
- package/src/scripts/global-install.js +34 -0
- package/src/scripts/install-plugin.js +126 -0
- package/src/scripts/setup-infra.js +203 -0
- package/src/utils/agents-installer.js +10 -1
- package/src/utils/hooks-installer.js +70 -17
- package/CLAUDE.md +0 -77
- package/docs/claude-alignment-report.md +0 -137
- package/docs/examples/order-management/contracts.cs +0 -84
- package/docs/examples/order-management/proposal.md +0 -24
- package/docs/examples/order-management/spec.md +0 -162
- package/src/commands/feature/create-story.js +0 -362
- package/src/commands/feature/index.js +0 -6
- package/src/commands/feature/shard-spec.js +0 -225
- package/src/commands/feature/sprint-status.js +0 -250
- package/src/commands/generation/generate-onboarding.js +0 -169
- package/src/commands/generation/generate.js +0 -276
- package/src/commands/generation/index.js +0 -5
- package/src/commands/learning/capture-pattern.js +0 -121
- package/src/commands/learning/index.js +0 -5
- package/src/commands/learning/search-patterns.js +0 -126
- package/src/commands/mcp/mcp.js +0 -102
- package/src/commands/project/changes.js +0 -66
- package/src/commands/project/cost.js +0 -179
- package/src/commands/project/detect.js +0 -114
- package/src/commands/project/diff.js +0 -278
- package/src/commands/project/revert.js +0 -173
- package/src/commands/project/standards.js +0 -80
- package/src/commands/project/sync.js +0 -167
- package/src/commands/project/update-agents.js +0 -23
- package/src/commands/state/rollback-phase.js +0 -185
- package/src/commands/templates/template-customize.js +0 -87
- package/src/commands/templates/template-list.js +0 -114
- package/src/commands/templates/template-show.js +0 -129
- package/src/commands/templates/template-validate.js +0 -91
- package/src/commands/utils/troubleshoot.js +0 -222
- package/src/commands/validation/analyze-blazor-concurrency.js +0 -193
- package/src/commands/validation/lint-fluent.js +0 -352
- package/src/commands/validation/validate-blazor-state.js +0 -210
- package/src/commands/validation/validate-blazor.js +0 -156
- package/src/commands/validation/validate-css.js +0 -84
- package/src/lib/detectors/conversation-analyzer.js +0 -163
- package/src/lib/learning/index.js +0 -7
- package/src/lib/learning/learning-system.js +0 -520
- package/src/lib/troubleshooting/index.js +0 -8
- package/src/lib/troubleshooting/troubleshoot-grep.js +0 -198
- package/src/lib/troubleshooting/troubleshoot-index.js +0 -144
- package/src/llm/environment-detector.js +0 -43
|
@@ -1,171 +1,169 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: phase-setup
|
|
3
|
-
description: MORPH-SPEC Phase 1 (Setup). Reads project context, detects tech stack, activates relevant agents
|
|
4
|
-
argument-hint: "[feature-name]"
|
|
5
|
-
user-invocable: false
|
|
6
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- [ ]
|
|
19
|
-
- [ ]
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
> **Ref:** `framework/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
| Ler
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
- ❌
|
|
41
|
-
- ❌
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- [ ]
|
|
53
|
-
- [ ]
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
{
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
**
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- [x]
|
|
144
|
-
- [x]
|
|
145
|
-
- [x]
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
1
|
+
---
|
|
2
|
+
name: phase-setup
|
|
3
|
+
description: MORPH-SPEC Phase 1 (Setup). Reads project context, detects tech stack, activates relevant agents by reading agents.json, and confirms the feature environment. Use at the start of every MORPH-SPEC feature workflow after proposal approval to load standards and initialize the context.
|
|
4
|
+
argument-hint: "[feature-name]"
|
|
5
|
+
user-invocable: false
|
|
6
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
7
|
+
cliVersion: "4.8.1"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# MORPH Setup - FASE 1
|
|
11
|
+
|
|
12
|
+
> INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
|
|
13
|
+
|
|
14
|
+
Inicialize o contexto e prepare o ambiente para uma feature aprovada.
|
|
15
|
+
|
|
16
|
+
## Pré-requisitos
|
|
17
|
+
|
|
18
|
+
- [ ] Feature tem `proposal.md` criado (FASE 0 concluída)
|
|
19
|
+
- [ ] Proposal foi aprovado pelo usuário
|
|
20
|
+
- [ ] Agentes foram detectados e registrados no state
|
|
21
|
+
|
|
22
|
+
## Ferramentas Recomendadas
|
|
23
|
+
|
|
24
|
+
> **Ref:** `framework/skills/level-0-meta/tool-usage-guide/SKILL.md` para guia completo.
|
|
25
|
+
> **Ref:** `framework/standards/integration/mcp/mcp-tools.md` para referência MCP.
|
|
26
|
+
|
|
27
|
+
| Ação | Ferramenta | Alternativa |
|
|
28
|
+
|------|------------|-------------|
|
|
29
|
+
| Verificar state | **Bash** `npx morph-spec state get` | — |
|
|
30
|
+
| Detectar agentes + standards | **Read** `.morph/framework/agents.json` → match keywords → **Bash** `npx morph-spec state add-agent` | — |
|
|
31
|
+
| Ler contexto do projeto | **Read** `.morph/context/README.md` | — |
|
|
32
|
+
| Ler config | **Read** `.morph/config.json` | — |
|
|
33
|
+
| Escanear estrutura do projeto | **Glob** `src/**/*.{ts,tsx,cs}` | — |
|
|
34
|
+
| Metadata do repositório | **GitHub MCP** `get_repo()` | **Bash** `gh repo view --json` |
|
|
35
|
+
| Atualizar state | **Bash** `npx morph-spec state set` | — |
|
|
36
|
+
|
|
37
|
+
**MCPs desta fase:** GitHub (opcional — metadata do repo).
|
|
38
|
+
|
|
39
|
+
**Anti-padrões:**
|
|
40
|
+
- ❌ Chamar `detect-agents` CLI (não existe — leia `.morph/framework/agents.json` diretamente)
|
|
41
|
+
- ❌ Task agent para detectar stack (leia agents.json e faça o match de keywords inline)
|
|
42
|
+
- ❌ WebSearch para info local do projeto (use Read/Glob)
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
### CHECKPOINT DE ENTRADA: Verificar Pré-requisitos
|
|
49
|
+
|
|
50
|
+
**⏸️ Antes de prosseguir com setup:**
|
|
51
|
+
|
|
52
|
+
- [ ] `proposal.md` existe em `.morph/features/$ARGUMENTS/`?
|
|
53
|
+
- [ ] Proposal foi apresentado e aprovado pelo usuário?
|
|
54
|
+
- [ ] Feature foi registrada no state?
|
|
55
|
+
|
|
56
|
+
**❌ Se alguma checkbox NÃO estiver marcada:**
|
|
57
|
+
→ Voltar para FASE 0 (Proposal)
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### Passo 1: Verificar State
|
|
62
|
+
|
|
63
|
+
Confirme que a feature existe no state:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx morph-spec state get $ARGUMENTS
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Se não existir, volte para FASE 0 (proposal).
|
|
70
|
+
|
|
71
|
+
### Passo 2: Detectar Agentes e Carregar Standards
|
|
72
|
+
|
|
73
|
+
**Leia agents.json diretamente e faça o match de keywords:**
|
|
74
|
+
|
|
75
|
+
1. Leia `.morph/framework/agents.json`
|
|
76
|
+
2. Extraia título e descrição da feature de `0-proposal/proposal.md`
|
|
77
|
+
3. Para cada agente no JSON, verifique se alguma keyword do campo `keywords[]` aparece no texto da proposta
|
|
78
|
+
4. Adicione os agentes correspondentes ao state:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npx morph-spec state add-agent $ARGUMENTS {agent-id}
|
|
82
|
+
# Exemplo:
|
|
83
|
+
npx morph-spec state add-agent $ARGUMENTS dotnet-senior
|
|
84
|
+
npx morph-spec state add-agent $ARGUMENTS ef-modeler
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Para carregar standards dos agentes detectados:**
|
|
88
|
+
- Para cada agente ativo, leia os standards referenciados pelo campo `standards[]` em `agents.json`
|
|
89
|
+
- Os arquivos de standard ficam em `.morph/framework/standards/{path}`
|
|
90
|
+
|
|
91
|
+
**Standards resolution order** (manual):
|
|
92
|
+
1. `.morph/context/*.md` — project overrides (maior prioridade)
|
|
93
|
+
2. `.morph/framework/standards/` — standards instalados pelo morph-spec
|
|
94
|
+
3. `framework/standards/` — standards do pacote npm (fallback)
|
|
95
|
+
|
|
96
|
+
**Contexto geral** (leia sempre):
|
|
97
|
+
- `.morph/context/README.md` — Overview do projeto
|
|
98
|
+
- `.morph/config/config.json` — Configurações
|
|
99
|
+
|
|
100
|
+
### Passo 3: Confirmar Stack
|
|
101
|
+
|
|
102
|
+
Baseado no proposal e contexto, confirme:
|
|
103
|
+
- Stack tecnológica (Blazor Server, Next.js, etc.)
|
|
104
|
+
- Padrões arquiteturais aplicáveis
|
|
105
|
+
- Componentes reutilizáveis existentes
|
|
106
|
+
|
|
107
|
+
### Passo 4: Listar Agentes Ativos
|
|
108
|
+
|
|
109
|
+
Mostre os agentes detectados no proposal:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
npx morph-spec state get $ARGUMENTS
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Parse o JSON e liste os `activeAgents` com seus emojis e responsabilidades (consulte `.morph/framework/agents.json`).
|
|
116
|
+
|
|
117
|
+
### Passo 5: Atualizar State
|
|
118
|
+
|
|
119
|
+
Marque a feature como na fase SETUP:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
npx morph-spec state set $ARGUMENTS phase setup
|
|
123
|
+
npx morph-spec state set $ARGUMENTS status in_progress
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Outputs
|
|
127
|
+
|
|
128
|
+
**Apresente ao usuário:**
|
|
129
|
+
|
|
130
|
+
1. **Contexto carregado**:
|
|
131
|
+
- Nome do projeto
|
|
132
|
+
- Stack confirmado
|
|
133
|
+
- Standards aplicáveis
|
|
134
|
+
|
|
135
|
+
2. **Agentes ativos**:
|
|
136
|
+
- Lista de agentes com emojis
|
|
137
|
+
- Responsabilidades de cada um
|
|
138
|
+
|
|
139
|
+
## Critérios de Avanço
|
|
140
|
+
|
|
141
|
+
- [x] Contexto do projeto carregado
|
|
142
|
+
- [x] Standards identificados (framework + project)
|
|
143
|
+
- [x] Stack confirmado
|
|
144
|
+
- [x] Agentes listados
|
|
145
|
+
- [x] State atualizado para phase: setup
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Integração com Superpowers
|
|
150
|
+
|
|
151
|
+
> Disponível quando o plugin `superpowers` está instalado.
|
|
152
|
+
|
|
153
|
+
| Skill | Quando Usar | Invocação |
|
|
154
|
+
|-------|-------------|-----------|
|
|
155
|
+
| `using-git-worktrees` | Se feature requer isolamento do workspace | `Skill(superpowers:using-git-worktrees)` |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Outputs desta Fase
|
|
160
|
+
|
|
161
|
+
<!-- morph:outputs:proposal -->
|
|
162
|
+
| Output | Caminho |
|
|
163
|
+
|--------|---------|
|
|
164
|
+
| `proposal` | `.morph/features/{feature}/0-proposal/proposal.md` |
|
|
165
|
+
<!-- /morph:outputs -->
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
171
169
|
Continuar automaticamente para próxima fase (UI/UX se detectado, ou Design).
|