@polymorphism-tech/morph-spec 8.0.0 โ†’ 8.1.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.
Files changed (168) hide show
  1. package/README.md +2 -2
  2. package/bin/validate.js +379 -379
  3. package/claude-plugin.json +1 -1
  4. package/docs/CHEATSHEET.md +1 -1
  5. package/docs/QUICKSTART.md +1 -1
  6. package/framework/CLAUDE.md +1 -1
  7. package/framework/MORPH.md +5 -5
  8. package/framework/agents.json +1 -1
  9. package/framework/commands/commit.md +166 -166
  10. package/framework/commands/morph-infra.md +215 -215
  11. package/framework/commands/morph-preflight.md +205 -205
  12. package/framework/commands/morph-troubleshoot.md +124 -124
  13. package/framework/hooks/README.md +0 -1
  14. package/framework/hooks/claude-code/statusline.py +679 -679
  15. package/framework/hooks/claude-code/statusline.sh +11 -11
  16. package/framework/hooks/git/commit-msg/conventional-commits.sh +33 -33
  17. package/framework/hooks/git/pre-commit/agents.sh +25 -25
  18. package/framework/hooks/git/pre-commit/orchestrator.sh +64 -64
  19. package/framework/hooks/git/pre-commit/specs.sh +50 -50
  20. package/framework/hooks/git/pre-push/run-tests.sh +44 -44
  21. package/framework/hooks/shared/activity-logger.js +160 -160
  22. package/framework/hooks/shared/stdin-reader.js +26 -26
  23. package/framework/rubrics/backend.json +41 -41
  24. package/framework/rules/ai-agents-standards.md +45 -45
  25. package/framework/rules/dotnet-templates.md +86 -86
  26. package/framework/rules/frontend-standards.md +13 -13
  27. package/framework/rules/infrastructure-standards.md +27 -27
  28. package/framework/rules/neon-standards.md +25 -25
  29. package/framework/rules/nextjs-standards.md +20 -20
  30. package/framework/rules/nextjs-templates.md +40 -40
  31. package/framework/skills/core/create-umbraco-lp/SKILL.md +1 -1
  32. package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +1 -1
  33. package/framework/skills/core/morph-apply/SKILL.md +12 -21
  34. package/framework/skills/core/morph-brainstorming/SKILL.md +1 -1
  35. package/framework/skills/core/morph-eval/SKILL.md +1 -1
  36. package/framework/skills/core/morph-hotfix/SKILL.md +2 -4
  37. package/framework/skills/core/morph-implement/SKILL.md +10 -19
  38. package/framework/skills/core/morph-plan/SKILL.md +1 -1
  39. package/framework/skills/core/morph-proposal/SKILL.md +1 -1
  40. package/framework/skills/core/morph-review/SKILL.md +11 -15
  41. package/framework/skills/core/morph-stack-scan/SKILL.md +1 -1
  42. package/framework/skills/core/morph-standards/SKILL.md +1 -1
  43. package/framework/standards/ai-agents/agent-session.md +160 -160
  44. package/framework/standards/ai-agents/batching.md +193 -193
  45. package/framework/standards/ai-agents/context-providers.md +188 -188
  46. package/framework/standards/ai-agents/mcp-server.md +250 -250
  47. package/framework/standards/ai-agents/mcp-tools.md +197 -197
  48. package/framework/standards/ai-agents/middleware-patterns.md +207 -207
  49. package/framework/standards/ai-agents/modalities-image-gen.md +173 -173
  50. package/framework/standards/ai-agents/modalities-speech-to-text.md +171 -171
  51. package/framework/standards/ai-agents/modalities-text-to-speech.md +181 -181
  52. package/framework/standards/ai-agents/modalities-vision.md +201 -201
  53. package/framework/standards/ai-agents/multi-agent-patterns.md +155 -155
  54. package/framework/standards/ai-agents/production.md +275 -275
  55. package/framework/standards/ai-agents/prompts-in-db.md +214 -214
  56. package/framework/standards/ai-agents/providers/model-registry.md +158 -158
  57. package/framework/standards/ai-agents/service-tier-flex.md +135 -135
  58. package/framework/standards/ai-agents/structured-output.md +249 -249
  59. package/framework/standards/ai-agents/sweet-spot.md +109 -109
  60. package/framework/templates/IDE-SNIPPETS.md +262 -262
  61. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -7
  62. package/framework/templates/code/dotnet/ai-agents/AgentBootstrap.cs.template +39 -39
  63. package/framework/templates/code/dotnet/ai-agents/EmbeddingService.cs.template +68 -68
  64. package/framework/templates/code/dotnet/ai-agents/ModelRegistry.cs.template +117 -117
  65. package/framework/templates/code/dotnet/ai-agents/PromptRepository.cs.template +95 -95
  66. package/framework/templates/code/dotnet/ai-agents/ResilientToolMiddleware.cs.template +61 -61
  67. package/framework/templates/code/dotnet/ai-agents/VectorSearchTool.cs.template +107 -107
  68. package/framework/templates/code/dotnet/ai-agents/model-registry.json.template +58 -58
  69. package/framework/templates/code/dotnet/contracts/contracts-vsa.cs +281 -281
  70. package/framework/templates/code/dotnet/database/migration.cs +83 -83
  71. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -21
  72. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -4
  73. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -4
  74. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -15
  75. package/framework/templates/code/sql/ai-agents/agent-prompts-migration.sql.template +58 -58
  76. package/framework/templates/code/sql/ai-agents/pgvector-embeddings-migration.sql.template +91 -91
  77. package/framework/templates/code/typescript/contracts.ts +167 -167
  78. package/framework/templates/docs/clarifications.md +253 -253
  79. package/framework/templates/docs/schema-analysis.md +119 -119
  80. package/framework/templates/docs/ui-components.md +52 -52
  81. package/framework/templates/docs/ui-design-system.md +76 -76
  82. package/framework/templates/docs/ui-flows.md +167 -167
  83. package/framework/templates/docs/ui-mockups.md +98 -98
  84. package/framework/templates/feature/decisions.md +122 -122
  85. package/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -43
  86. package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -26
  87. package/framework/templates/frontend/nextjs/env.mjs.hbs +32 -32
  88. package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -56
  89. package/framework/templates/frontend/nextjs/page.tsx.hbs +22 -22
  90. package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -26
  91. package/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -54
  92. package/framework/templates/infrastructure/docker/Dockerfile.template +58 -58
  93. package/framework/templates/infrastructure/docker/docker-compose.template.yml +50 -50
  94. package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -38
  95. package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -48
  96. package/framework/templates/infrastructure/github/README.md +56 -56
  97. package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -45
  98. package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -27
  99. package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -59
  100. package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -39
  101. package/framework/templates/integrations/asaas-client.cs +387 -387
  102. package/framework/templates/integrations/asaas-webhook.cs +351 -351
  103. package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -76
  104. package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -100
  105. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -95
  106. package/framework/templates/project/validate.js +120 -120
  107. package/framework/templates/state.template.json +17 -17
  108. package/framework/templates/ui/design-system.css +226 -226
  109. package/package.json +1 -1
  110. package/src/commands/dashboard/dashboard.js +53 -53
  111. package/src/commands/index.js +13 -13
  112. package/src/commands/mcp/mcp-setup.js +519 -519
  113. package/src/commands/project/checkpoint.js +209 -209
  114. package/src/commands/project/worktree.js +83 -1
  115. package/src/core/state/phase-state-machine.js +197 -197
  116. package/src/core/templates/template-renderer.js +477 -477
  117. package/src/dashboard/app/components/DetailPanel.jsx +11 -11
  118. package/src/dashboard/app/components/FlowGraph.jsx +17 -17
  119. package/src/dashboard/app/components/SearchFilter.jsx +22 -22
  120. package/src/dashboard/app/hooks/useDetailPanel.js +15 -15
  121. package/src/dashboard/app/main.jsx +13 -13
  122. package/src/dashboard/app/pages/AgentMap.jsx +370 -370
  123. package/src/dashboard/app/pages/HookInspector.jsx +418 -418
  124. package/src/dashboard/app/pages/PhasePipeline.jsx +408 -408
  125. package/src/dashboard/app/pages/RulesMap.jsx +273 -273
  126. package/src/dashboard/app/pages/SkillsLibrary.jsx +366 -366
  127. package/src/dashboard/app/pages/Standards.jsx +332 -332
  128. package/src/dashboard/app/styles/index.css +47 -47
  129. package/src/dashboard/index.html +12 -12
  130. package/src/dashboard/package.json +24 -24
  131. package/src/dashboard/scanner/hooks-scanner.js +41 -41
  132. package/src/dashboard/scanner/phases-scanner.js +15 -15
  133. package/src/dashboard/scanner/rubrics-scanner.js +12 -12
  134. package/src/dashboard/scanner/rules-scanner.js +37 -37
  135. package/src/dashboard/scanner/skills-scanner.js +43 -43
  136. package/src/dashboard/scanner/squads-scanner.js +13 -13
  137. package/src/dashboard/scanner/standards-scanner.js +26 -26
  138. package/src/dashboard/vite-plugin-morph-data.js +17 -17
  139. package/src/dashboard/vite.config.js +24 -24
  140. package/src/lib/agents/metrics-aggregator.js +56 -56
  141. package/src/lib/agents/metrics-calculator.js +125 -125
  142. package/src/lib/agents/output-collector.js +73 -73
  143. package/src/lib/detectors/claude-config-detector.js +152 -152
  144. package/src/lib/detectors/design-system-detector.js +231 -231
  145. package/src/lib/detectors/index.js +217 -217
  146. package/src/lib/generators/architecture-scanner.js +639 -639
  147. package/src/lib/generators/design-system-generator.js +508 -508
  148. package/src/lib/generators/index.js +13 -13
  149. package/src/lib/generators/settings-generator.js +209 -209
  150. package/src/lib/hooks/hook-executor.js +167 -167
  151. package/src/lib/installers/mcp-installer.js +719 -719
  152. package/src/lib/tasks/task-classifier.js +30 -30
  153. package/src/lib/tasks/task-parser.js +209 -209
  154. package/src/lib/validators/architecture/architecture-validator.js +259 -259
  155. package/src/lib/validators/checkpoint-persistence.js +39 -39
  156. package/src/lib/validators/contracts/contract-compliance-validator.js +274 -274
  157. package/src/lib/validators/css/css-validator.js +340 -340
  158. package/src/lib/validators/packages/package-validator.js +347 -347
  159. package/src/lib/validators/shared/emit-validator-dispatch.js +14 -14
  160. package/src/lib/validators/shared/issue-counter.js +14 -14
  161. package/src/lib/validators/validation-runner.js +349 -349
  162. package/src/utils/agent-id-mapper.js +11 -11
  163. package/src/utils/claude-settings-manager.js +300 -300
  164. package/src/utils/hooks-installer.js +3 -24
  165. package/src/utils/skills-installer.js +174 -174
  166. package/framework/hooks/claude-code/core/subagent-report-guard.js +0 -95
  167. package/framework/templates/.idea/morph-templates.xml +0 -92
  168. package/framework/templates/.vscode/morph-templates.code-snippets +0 -186
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "morph-spec",
3
- "version": "8.0.0",
3
+ "version": "8.1.1",
4
4
  "displayName": "MORPH-SPEC Framework",
5
5
  "description": "Spec-driven development with 38 agents and 8-phase workflow for .NET/Blazor/Next.js/Azure",
6
6
  "publisher": "polymorphism-tech",
@@ -237,4 +237,4 @@ These files are never edited directly. Use CLI commands or `morph-spec update` i
237
237
 
238
238
  ---
239
239
 
240
- *morph-spec v8.0.0 by Polymorphism Tech*
240
+ *morph-spec v8.1.1 by Polymorphism Tech*
@@ -256,4 +256,4 @@ morph-spec doctor
256
256
 
257
257
  ---
258
258
 
259
- *morph-spec v8.0.0 by Polymorphism Tech*
259
+ *morph-spec v8.1.1 by Polymorphism Tech*
@@ -25,7 +25,7 @@ Se nรฃo houver feature ativa, pergunte ao usuรกrio qual feature trabalhar.
25
25
  - Apresentar gates com o template fixo definido em MORPH.md / morph-plan.
26
26
  - Registrar decisรตes nรฃo triviais em `decisions.md`.
27
27
  - Aplicar `morph-eval` apรณs cada tarefa; silรชncio em score โ‰ฅ 9 รฉ o sinal correto. Score < 9 dispara o loop de correรงรฃo autรดnomo (re-implementa, sem pausa), nรฃo escala ao humano entre tarefas. No Gate 3, o score composto da feature vem do **avaliador independente** despachado pela `morph-review` (persona `evaluator`, contexto fresco) โ€” nunca de auto-avaliaรงรฃo de quem implementou.
28
- - Incluir as 3 clรกusulas de protocolo em todo dispatch de sub-agent (**ato final = relatรณrio via `SendMessage` para `main` como a รšLTIMA tool call, encerrando imediatamente depois โ€” zero texto extra, zero "aguardando confirmaรงรฃo"** โ€” รบltima mensagem em texto nรฃo chega ao orquestrador; nรฃo tocar tasks.json/feature.json/board; sem build/test da suรญte compartilhada em batch paralelo) โ€” templates com exemplo literal em `morph-implement` ยง4 e `morph-apply` ยง3b. O hook `subagent-report-guard` bloqueia uma vez o encerramento de subagent despachado sem SendMessage. **Ao consumir o relatรณrio, libere a sessรฃo do sub-agent com `TaskStop`** โ€” nรฃo deixe o idle-detector do harness ser o รบnico a encerrรก-la.
28
+ - Incluir as 3 clรกusulas do contrato do relatรณrio final em todo dispatch de sub-agent (**ato final = o relatรณrio รฉ a รšLTIMA MENSAGEM DE TEXTO do sub-agent, com os 4 itens obrigatรณrios (o quรช / arquivos / problemas / auto-score 0-10) โ€” ela รฉ o valor de retorno e chega inteira ao orquestrador; nรฃo chamar `SendMessage`, que gera um evento a mais e custa um turno inรบtil**; nรฃo tocar tasks.json/feature.json/board; sem build/test da suรญte compartilhada em batch paralelo) โ€” templates em `morph-implement` ยง4 e `morph-apply` ยง3b.
29
29
 
30
30
  ## Slash commands
31
31
 
@@ -250,7 +250,7 @@ Inline (sem dispatch) รฉ aceitรกvel para tasks curtas (effort S/M) **dentro do d
250
250
 
251
251
  **Mecanismo de dispatch:** os agents de domรญnio sรฃo subagents **registrados** (`.claude/agents/morph-{id}.md`, gerados de `agents.json` โ€” a fonte รบnica โ€” na instalaรงรฃo). Despache com `subagent_type: "morph-{id}"` (ex.: `morph-dotnet-senior`): a persona รฉ o **system prompt** do subagent, com tools, model e MCPs definidos por domรญnio no prรณprio `agents.json` (ex.: `context7` para docs vivas nos implementadores; Stitch/Gemini/Playwright no `morph-ui-designer`; o `morph-evaluator` รฉ read-only). **Fallback** quando o tipo nรฃo estรก registrado (stack nรฃo instalado neste projeto): `general-purpose` com o campo `persona` de `agents.json` colado no prompt, **registrado nas `notes` da task**. O `**Persona:**` do recap registra sempre o mecanismo real usado โ€” nunca uma auto-declaraรงรฃo.
252
252
 
253
- **Persona de estรกgio โ€” scout:** alรฉm das personas de domรญnio, existe o `morph-scout` (read-only: Read/Glob/Grep/Bash somente-leitura). Despache-o quando precisar de um mapa do territรณrio sem contaminar a thread principal โ€” obrigatoriamente no inรญcio de um hotfix (localizar root cause + blast radius) e opcionalmente antes do plan de uma feature grande (buscar cรณdigo, docs e specs anteriores relevantes). Ele devolve um mapa curto via SendMessage e encerra; nรฃo escreve cรณdigo.
253
+ **Persona de estรกgio โ€” scout:** alรฉm das personas de domรญnio, existe o `morph-scout` (read-only: Read/Glob/Grep/Bash somente-leitura). Despache-o quando precisar de um mapa do territรณrio sem contaminar a thread principal โ€” obrigatoriamente no inรญcio de um hotfix (localizar root cause + blast radius) e opcionalmente antes do plan de uma feature grande (buscar cรณdigo, docs e specs anteriores relevantes). Ele devolve um mapa curto como relatรณrio final e encerra; nรฃo escreve cรณdigo.
254
254
 
255
255
  **O que passar ao sub-agent:**
256
256
  - Especificaรงรฃo da tarefa (do tasks.json)
@@ -269,10 +269,10 @@ Inline (sem dispatch) รฉ aceitรกvel para tasks curtas (effort S/M) **dentro do d
269
269
  - Problemas encontrados e como foram resolvidos
270
270
  - Auto-score 0-10 com justificativa em uma linha
271
271
 
272
- **Protocolo obrigatรณrio do sub-agent** (clรกusulas que todo prompt de dispatch inclui โ€” ver templates em `morph-implement` ยง4 e `morph-apply` ยง3b):
273
- 1. **ATO FINAL: enviar o relatรณrio completo via `SendMessage` para `main` como a รšLTIMA tool call do turno, e encerrar IMEDIATAMENTE depois** โ€” a รบltima mensagem em texto NรƒO chega ao orquestrador; sรณ SendMessage chega. Zero texto adicional, zero nova tool call, zero "aguardando confirmaรงรฃo" depois do SendMessage: รฉ o encerramento, nรฃo um passo intermediรกrio. Terminar idle sem SendMessage, ou continuar agindo depois dele, รฉ **falha de protocolo**: o hook `subagent-report-guard` bloqueia o encerramento uma vez com a instruรงรฃo, e a cobranรงa do orquestrador via SendMessage รฉ apenas o fallback (registrada como falha no recap). Os templates trazem o exemplo literal da chamada.
272
+ **Contrato do relatรณrio final** (clรกusulas que todo prompt de dispatch inclui โ€” ver templates em `morph-implement` ยง4 e `morph-apply` ยง3b):
273
+ 1. **ATO FINAL: o seu relatรณrio รฉ a sua รšLTIMA MENSAGEM DE TEXTO** โ€” ela รฉ o valor de retorno do sub-agent e chega inteira ao orquestrador. **Nรฃo chame `SendMessage`**: ele gera um evento a mais (o teammate-message) alรฉm da notificaรงรฃo de tรฉrmino, custando um turno inรบtil ao orquestrador. Conteรบdo obrigatรณrio: (1) o que foi feito em 2-3 frases, (2) arquivos modificados, (3) problemas encontrados e como foram resolvidos, (4) auto-score 0-10 com justificativa em uma linha. Relatรณrio oco ou sem os 4 itens รฉ **falha de protocolo** โ€” registrada no recap.
274
274
  2. Nรฃo tocar em `tasks.json`, `feature.json`, `state.json` nem no board de sessรฃo (TaskCreate/TaskUpdate) โ€” todo estado รฉ gravado exclusivamente pelo orquestrador.
275
- 3. **Verificaรงรฃo em batch paralelo โ€” condicional ao isolamento:** em batch **sem isolamento** (agentes na mesma working tree), nรฃo rode build/test da suรญte compartilhada โ€” a verificaรงรฃo (`morph-spec verify`) รฉ do orquestrador, uma vez, pรณs-batch. Em batch **com `isolation: "worktree"`** (quando o `morph-spec dag` recomenda, por colisรฃo de `outputs` entre fluxos), a regra se inverte: rode build/test **dentro do seu worktree**, commite o trabalho na branch do worktree como penรบltimo ato (antes do SendMessage), reporte a branch + status de build, e **nunca** faรงa merge nem toque na รกrvore principal โ€” a integraรงรฃo รฉ do orquestrador.
275
+ 3. **Verificaรงรฃo em batch paralelo โ€” condicional ao isolamento:** em batch **sem isolamento** (agentes na mesma working tree), nรฃo rode build/test da suรญte compartilhada โ€” a verificaรงรฃo (`morph-spec verify`) รฉ do orquestrador, uma vez, pรณs-batch. Em batch **com `isolation: "worktree"`** (quando o `morph-spec dag` recomenda, por colisรฃo de `outputs` entre fluxos), a regra se inverte: rode build/test **dentro do seu worktree**, commite o trabalho na branch do worktree como รบltimo ato antes do relatรณrio, reporte a branch + status de build, e **nunca** faรงa merge nem toque na รกrvore principal โ€” a integraรงรฃo รฉ do orquestrador.
276
276
 
277
277
  O sub-agent deve ser autossuficiente com o que vocรช passou. Se precisar de mais contexto para comeรงar, a tarefa nรฃo estava bem especificada โ€” refine antes de despachar.
278
278
 
@@ -281,7 +281,7 @@ O sub-agent deve ser autossuficiente com o que vocรช passou. Se precisar de mais
281
281
  - Quando o feedback do sub-agent precisaria ser discutido em tempo real โ€” dispatch รฉ assรญncrono.
282
282
  - Quando a tarefa envolve mudanรงas de arquitetura que o Orchestrator precisa validar antes de executar.
283
283
 
284
- **Apรณs receber o retorno do sub-agent:** leia o auto-score โ€” ele รฉ **triagem, nรฃo aprovaรงรฃo**. Se for < 7, re-despache com o feedback especรญfico (ou corrija inline) antes de avaliar. Em qualquer caso, a task sรณ avanรงa quando `morph-eval` der score โ‰ฅ 9 (a barra รบnica do ยง0); integre o resultado ao recap.md e siga para a prรณxima tarefa. **Libere a sessรฃo do sub-agent imediatamente ao consumir o relatรณrio** โ€” `TaskStop(task_id: <id/nome retornado pelo dispatch>)`, tratando falha (agente jรก finalizado sozinho) como nรฃo-fatal โ€” nรฃo espere o idle-detector do harness fazer isso sozinho minutos depois.
284
+ **Apรณs receber o retorno do sub-agent:** leia o auto-score โ€” ele รฉ **triagem, nรฃo aprovaรงรฃo**. Se for < 7, re-despache com o feedback especรญfico (ou corrija inline) antes de avaliar. Em qualquer caso, a task sรณ avanรงa quando `morph-eval` der score โ‰ฅ 9 (a barra รบnica do ยง0); integre o resultado ao recap.md e siga para a prรณxima tarefa.
285
285
 
286
286
  > **Anti-padrรฃo a evitar:** implementar mรบltiplas tasks de domรญnios diferentes inline, em sequรชncia, na thread principal โ€” "eu jรก sei o padrรฃo de cada uma". Isso รฉ exatamente o sinal de que o sistema de delegaรงรฃo foi ignorado. Quando uma feature cruza โ‰ฅ2 domรญnios, o caminho default รฉ o Orchestrator despachando especialistas, nรฃo o Orchestrator virando faz-tudo.
287
287
 
@@ -155,7 +155,7 @@
155
155
  "standards": [],
156
156
  "tools": "Read, Glob, Grep, Bash",
157
157
  "model": "haiku",
158
- "persona": "Vocรช รฉ um scout read-only: mapeia o territรณrio sem escrever cรณdigo. Dado um sintoma ou uma feature, localiza os arquivos relevantes, o root cause provรกvel e o blast radius (o que mais รฉ afetado). Usa Read/Glob/Grep e Bash SOMENTE-LEITURA (git log/diff/show, ls, cat) โ€” nunca Write/Edit, nunca comandos que mudam estado. Devolve um mapa curto e acionรกvel (arquivos com paths, hipรณtese de causa, รกreas de impacto) via SendMessage e encerra. Nรฃo implementa, nรฃo corrige โ€” ilumina o caminho para quem vai."
158
+ "persona": "Vocรช รฉ um scout read-only: mapeia o territรณrio sem escrever cรณdigo. Dado um sintoma ou uma feature, localiza os arquivos relevantes, o root cause provรกvel e o blast radius (o que mais รฉ afetado). Usa Read/Glob/Grep e Bash SOMENTE-LEITURA (git log/diff/show, ls, cat) โ€” nunca Write/Edit, nunca comandos que mudam estado. Devolve um mapa curto e acionรกvel (arquivos com paths, hipรณtese de causa, รกreas de impacto) como relatรณrio final e encerra. Nรฃo implementa, nรฃo corrige โ€” ilumina o caminho para quem vai."
159
159
  }
160
160
  }
161
161
  }
@@ -1,166 +1,166 @@
1
- ---
2
- allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), Bash(git diff:*), Bash(git log:*)
3
- argument-hint: [message] | --no-verify | --amend
4
- description: Create well-formatted commits with conventional commit format and emoji
5
- ---
6
-
7
- # Smart Git Commit
8
-
9
- Create well-formatted commit: $ARGUMENTS
10
-
11
- ## Current Repository State
12
-
13
- - Git status: !git status --porcelain
14
- - Current branch: !git branch --show-current
15
- - Staged changes: !git diff --cached --stat
16
- - Unstaged changes: !git diff --stat
17
- - Recent commits: !git log --oneline -5
18
-
19
- ## What This Command Does
20
-
21
- 1. Unless specified with --no-verify, automatically runs pre-commit checks:
22
- - pnpm lint to ensure code quality
23
- - pnpm build to verify the build succeeds
24
- - pnpm generate:docs to update documentation
25
- 2. Checks which files are staged with git status
26
- 3. If 0 files are staged, automatically adds all modified and new files with git add
27
- 4. Performs a git diff to understand what changes are being committed
28
- 5. Analyzes the diff to determine if multiple distinct logical changes are present
29
- 6. If multiple distinct changes are detected, suggests breaking the commit into multiple smaller commits
30
- 7. For each commit (or the single commit if not split), creates a commit message using emoji conventional commit format
31
-
32
- ## Best Practices for Commits
33
-
34
- - **Verify before committing**: Ensure code is linted, builds correctly, and documentation is updated
35
- - **Atomic commits**: Each commit should contain related changes that serve a single purpose
36
- - **Split large changes**: If changes touch multiple concerns, split them into separate commits
37
- - **Conventional commit format**: Use the format <type>: <description> where type is one of:
38
- - feat: A new feature
39
- - fix: A bug fix
40
- - docs: Documentation changes
41
- - style: Code style changes (formatting, etc)
42
- - refactor: Code changes that neither fix bugs nor add features
43
- - perf: Performance improvements
44
- - test: Adding or fixing tests
45
- - chore: Changes to the build process, tools, etc.
46
- - **Present tense, imperative mood**: Write commit messages as commands (e.g., "add feature" not "added feature")
47
- - **Concise first line**: Keep the first line under 72 characters
48
- - **Emoji**: Each commit type is paired with an appropriate emoji:
49
- - โœจ feat: New feature
50
- - ๐Ÿ› fix: Bug fix
51
- - ๐Ÿ“ docs: Documentation
52
- - ๐Ÿ’„ style: Formatting/style
53
- - โ™ป๏ธ refactor: Code refactoring
54
- - โšก๏ธ perf: Performance improvements
55
- - โœ… test: Tests
56
- - ๐Ÿ”ง chore: Tooling, configuration
57
- - ๐Ÿš€ ci: CI/CD improvements
58
- - ๐Ÿ—‘๏ธ revert: Reverting changes
59
- - ๐Ÿงช test: Add a failing test
60
- - ๐Ÿšจ fix: Fix compiler/linter warnings
61
- - ๐Ÿ”’๏ธ fix: Fix security issues
62
- - ๐Ÿ‘ฅ chore: Add or update contributors
63
- - ๐Ÿšš refactor: Move or rename resources
64
- - ๐Ÿ—๏ธ refactor: Make architectural changes
65
- - ๐Ÿ”€ chore: Merge branches
66
- - ๐Ÿ“ฆ๏ธ chore: Add or update compiled files or packages
67
- - โž• chore: Add a dependency
68
- - โž– chore: Remove a dependency
69
- - ๐ŸŒฑ chore: Add or update seed files
70
- - ๐Ÿง‘โ€๐Ÿ’ป chore: Improve developer experience
71
- - ๐Ÿงต feat: Add or update code related to multithreading or concurrency
72
- - ๐Ÿ”๏ธ feat: Improve SEO
73
- - ๐Ÿท๏ธ feat: Add or update types
74
- - ๐Ÿ’ฌ feat: Add or update text and literals
75
- - ๐ŸŒ feat: Internationalization and localization
76
- - ๐Ÿ‘” feat: Add or update business logic
77
- - ๐Ÿ“ฑ feat: Work on responsive design
78
- - ๐Ÿšธ feat: Improve user experience / usability
79
- - ๐Ÿฉน fix: Simple fix for a non-critical issue
80
- - ๐Ÿฅ… fix: Catch errors
81
- - ๐Ÿ‘ฝ๏ธ fix: Update code due to external API changes
82
- - ๐Ÿ”ฅ fix: Remove code or files
83
- - ๐ŸŽจ style: Improve structure/format of the code
84
- - ๐Ÿš‘๏ธ fix: Critical hotfix
85
- - ๐ŸŽ‰ chore: Begin a project
86
- - ๐Ÿ”– chore: Release/Version tags
87
- - ๐Ÿšง wip: Work in progress
88
- - ๐Ÿ’š fix: Fix CI build
89
- - ๐Ÿ“Œ chore: Pin dependencies to specific versions
90
- - ๐Ÿ‘ท ci: Add or update CI build system
91
- - ๐Ÿ“ˆ feat: Add or update analytics or tracking code
92
- - โœ๏ธ fix: Fix typos
93
- - โช๏ธ revert: Revert changes
94
- - ๐Ÿ“„ chore: Add or update license
95
- - ๐Ÿ’ฅ feat: Introduce breaking changes
96
- - ๐Ÿฑ assets: Add or update assets
97
- - โ™ฟ๏ธ feat: Improve accessibility
98
- - ๐Ÿ’ก docs: Add or update comments in source code
99
- - ๐Ÿ—ƒ๏ธ db: Perform database related changes
100
- - ๐Ÿ”Š feat: Add or update logs
101
- - ๐Ÿ”‡ fix: Remove logs
102
- - ๐Ÿคก test: Mock things
103
- - ๐Ÿฅš feat: Add or update an easter egg
104
- - ๐Ÿ™ˆ chore: Add or update .gitignore file
105
- - ๐Ÿ“ธ test: Add or update snapshots
106
- - โš—๏ธ experiment: Perform experiments
107
- - ๐Ÿšฉ feat: Add, update, or remove feature flags
108
- - ๐Ÿ’ซ ui: Add or update animations and transitions
109
- - โšฐ๏ธ refactor: Remove dead code
110
- - ๐Ÿฆบ feat: Add or update code related to validation
111
- - โœˆ๏ธ feat: Improve offline support
112
-
113
- ## Guidelines for Splitting Commits
114
-
115
- When analyzing the diff, consider splitting commits based on these criteria:
116
-
117
- 1. **Different concerns**: Changes to unrelated parts of the codebase
118
- 2. **Different types of changes**: Mixing features, fixes, refactoring, etc.
119
- 3. **File patterns**: Changes to different types of files (e.g., source code vs documentation)
120
- 4. **Logical grouping**: Changes that would be easier to understand or review separately
121
- 5. **Size**: Very large changes that would be clearer if broken down
122
-
123
- ## Examples
124
-
125
- Good commit messages:
126
- - โœจ feat: add user authentication system
127
- - ๐Ÿ› fix: resolve memory leak in rendering process
128
- - ๐Ÿ“ docs: update API documentation with new endpoints
129
- - โ™ป๏ธ refactor: simplify error handling logic in parser
130
- - ๐Ÿšจ fix: resolve linter warnings in component files
131
- - ๐Ÿง‘โ€๐Ÿ’ป chore: improve developer tooling setup process
132
- - ๐Ÿ‘” feat: implement business logic for transaction validation
133
- - ๐Ÿฉน fix: address minor styling inconsistency in header
134
- - ๐Ÿš‘๏ธ fix: patch critical security vulnerability in auth flow
135
- - ๐ŸŽจ style: reorganize component structure for better readability
136
- - ๐Ÿ”ฅ fix: remove deprecated legacy code
137
- - ๐Ÿฆบ feat: add input validation for user registration form
138
- - ๐Ÿ’š fix: resolve failing CI pipeline tests
139
- - ๐Ÿ“ˆ feat: implement analytics tracking for user engagement
140
- - ๐Ÿ”’๏ธ fix: strengthen authentication password requirements
141
- - โ™ฟ๏ธ feat: improve form accessibility for screen readers
142
-
143
- Example of splitting commits:
144
- - First commit: โœจ feat: add new solc version type definitions
145
- - Second commit: ๐Ÿ“ docs: update documentation for new solc versions
146
- - Third commit: ๐Ÿ”ง chore: update package.json dependencies
147
- - Fourth commit: ๐Ÿท๏ธ feat: add type definitions for new API endpoints
148
- - Fifth commit: ๐Ÿงต feat: improve concurrency handling in worker threads
149
- - Sixth commit: ๐Ÿšจ fix: resolve linting issues in new code
150
- - Seventh commit: โœ… test: add unit tests for new solc version features
151
- - Eighth commit: ๐Ÿ”’๏ธ fix: update dependencies with security vulnerabilities
152
-
153
- ## Command Options
154
-
155
- - --no-verify: Skip running the pre-commit checks (lint, build, generate:docs)
156
-
157
- ## Important Notes
158
-
159
- - By default, pre-commit checks (pnpm lint, pnpm build, pnpm generate:docs) will run to ensure code quality
160
- - If these checks fail, you'll be asked if you want to proceed with the commit anyway or fix the issues first
161
- - If specific files are already staged, the command will only commit those files
162
- - If no files are staged, it will automatically stage all modified and new files
163
- - The commit message will be constructed based on the changes detected
164
- - Before committing, the command will review the diff to identify if multiple commits would be more appropriate
165
- - If suggesting multiple commits, it will help you stage and commit the changes separately
166
- - Always reviews the commit diff to ensure the message matches the changes
1
+ ---
2
+ allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), Bash(git diff:*), Bash(git log:*)
3
+ argument-hint: [message] | --no-verify | --amend
4
+ description: Create well-formatted commits with conventional commit format and emoji
5
+ ---
6
+
7
+ # Smart Git Commit
8
+
9
+ Create well-formatted commit: $ARGUMENTS
10
+
11
+ ## Current Repository State
12
+
13
+ - Git status: !git status --porcelain
14
+ - Current branch: !git branch --show-current
15
+ - Staged changes: !git diff --cached --stat
16
+ - Unstaged changes: !git diff --stat
17
+ - Recent commits: !git log --oneline -5
18
+
19
+ ## What This Command Does
20
+
21
+ 1. Unless specified with --no-verify, automatically runs pre-commit checks:
22
+ - pnpm lint to ensure code quality
23
+ - pnpm build to verify the build succeeds
24
+ - pnpm generate:docs to update documentation
25
+ 2. Checks which files are staged with git status
26
+ 3. If 0 files are staged, automatically adds all modified and new files with git add
27
+ 4. Performs a git diff to understand what changes are being committed
28
+ 5. Analyzes the diff to determine if multiple distinct logical changes are present
29
+ 6. If multiple distinct changes are detected, suggests breaking the commit into multiple smaller commits
30
+ 7. For each commit (or the single commit if not split), creates a commit message using emoji conventional commit format
31
+
32
+ ## Best Practices for Commits
33
+
34
+ - **Verify before committing**: Ensure code is linted, builds correctly, and documentation is updated
35
+ - **Atomic commits**: Each commit should contain related changes that serve a single purpose
36
+ - **Split large changes**: If changes touch multiple concerns, split them into separate commits
37
+ - **Conventional commit format**: Use the format <type>: <description> where type is one of:
38
+ - feat: A new feature
39
+ - fix: A bug fix
40
+ - docs: Documentation changes
41
+ - style: Code style changes (formatting, etc)
42
+ - refactor: Code changes that neither fix bugs nor add features
43
+ - perf: Performance improvements
44
+ - test: Adding or fixing tests
45
+ - chore: Changes to the build process, tools, etc.
46
+ - **Present tense, imperative mood**: Write commit messages as commands (e.g., "add feature" not "added feature")
47
+ - **Concise first line**: Keep the first line under 72 characters
48
+ - **Emoji**: Each commit type is paired with an appropriate emoji:
49
+ - โœจ feat: New feature
50
+ - ๐Ÿ› fix: Bug fix
51
+ - ๐Ÿ“ docs: Documentation
52
+ - ๐Ÿ’„ style: Formatting/style
53
+ - โ™ป๏ธ refactor: Code refactoring
54
+ - โšก๏ธ perf: Performance improvements
55
+ - โœ… test: Tests
56
+ - ๐Ÿ”ง chore: Tooling, configuration
57
+ - ๐Ÿš€ ci: CI/CD improvements
58
+ - ๐Ÿ—‘๏ธ revert: Reverting changes
59
+ - ๐Ÿงช test: Add a failing test
60
+ - ๐Ÿšจ fix: Fix compiler/linter warnings
61
+ - ๐Ÿ”’๏ธ fix: Fix security issues
62
+ - ๐Ÿ‘ฅ chore: Add or update contributors
63
+ - ๐Ÿšš refactor: Move or rename resources
64
+ - ๐Ÿ—๏ธ refactor: Make architectural changes
65
+ - ๐Ÿ”€ chore: Merge branches
66
+ - ๐Ÿ“ฆ๏ธ chore: Add or update compiled files or packages
67
+ - โž• chore: Add a dependency
68
+ - โž– chore: Remove a dependency
69
+ - ๐ŸŒฑ chore: Add or update seed files
70
+ - ๐Ÿง‘โ€๐Ÿ’ป chore: Improve developer experience
71
+ - ๐Ÿงต feat: Add or update code related to multithreading or concurrency
72
+ - ๐Ÿ”๏ธ feat: Improve SEO
73
+ - ๐Ÿท๏ธ feat: Add or update types
74
+ - ๐Ÿ’ฌ feat: Add or update text and literals
75
+ - ๐ŸŒ feat: Internationalization and localization
76
+ - ๐Ÿ‘” feat: Add or update business logic
77
+ - ๐Ÿ“ฑ feat: Work on responsive design
78
+ - ๐Ÿšธ feat: Improve user experience / usability
79
+ - ๐Ÿฉน fix: Simple fix for a non-critical issue
80
+ - ๐Ÿฅ… fix: Catch errors
81
+ - ๐Ÿ‘ฝ๏ธ fix: Update code due to external API changes
82
+ - ๐Ÿ”ฅ fix: Remove code or files
83
+ - ๐ŸŽจ style: Improve structure/format of the code
84
+ - ๐Ÿš‘๏ธ fix: Critical hotfix
85
+ - ๐ŸŽ‰ chore: Begin a project
86
+ - ๐Ÿ”– chore: Release/Version tags
87
+ - ๐Ÿšง wip: Work in progress
88
+ - ๐Ÿ’š fix: Fix CI build
89
+ - ๐Ÿ“Œ chore: Pin dependencies to specific versions
90
+ - ๐Ÿ‘ท ci: Add or update CI build system
91
+ - ๐Ÿ“ˆ feat: Add or update analytics or tracking code
92
+ - โœ๏ธ fix: Fix typos
93
+ - โช๏ธ revert: Revert changes
94
+ - ๐Ÿ“„ chore: Add or update license
95
+ - ๐Ÿ’ฅ feat: Introduce breaking changes
96
+ - ๐Ÿฑ assets: Add or update assets
97
+ - โ™ฟ๏ธ feat: Improve accessibility
98
+ - ๐Ÿ’ก docs: Add or update comments in source code
99
+ - ๐Ÿ—ƒ๏ธ db: Perform database related changes
100
+ - ๐Ÿ”Š feat: Add or update logs
101
+ - ๐Ÿ”‡ fix: Remove logs
102
+ - ๐Ÿคก test: Mock things
103
+ - ๐Ÿฅš feat: Add or update an easter egg
104
+ - ๐Ÿ™ˆ chore: Add or update .gitignore file
105
+ - ๐Ÿ“ธ test: Add or update snapshots
106
+ - โš—๏ธ experiment: Perform experiments
107
+ - ๐Ÿšฉ feat: Add, update, or remove feature flags
108
+ - ๐Ÿ’ซ ui: Add or update animations and transitions
109
+ - โšฐ๏ธ refactor: Remove dead code
110
+ - ๐Ÿฆบ feat: Add or update code related to validation
111
+ - โœˆ๏ธ feat: Improve offline support
112
+
113
+ ## Guidelines for Splitting Commits
114
+
115
+ When analyzing the diff, consider splitting commits based on these criteria:
116
+
117
+ 1. **Different concerns**: Changes to unrelated parts of the codebase
118
+ 2. **Different types of changes**: Mixing features, fixes, refactoring, etc.
119
+ 3. **File patterns**: Changes to different types of files (e.g., source code vs documentation)
120
+ 4. **Logical grouping**: Changes that would be easier to understand or review separately
121
+ 5. **Size**: Very large changes that would be clearer if broken down
122
+
123
+ ## Examples
124
+
125
+ Good commit messages:
126
+ - โœจ feat: add user authentication system
127
+ - ๐Ÿ› fix: resolve memory leak in rendering process
128
+ - ๐Ÿ“ docs: update API documentation with new endpoints
129
+ - โ™ป๏ธ refactor: simplify error handling logic in parser
130
+ - ๐Ÿšจ fix: resolve linter warnings in component files
131
+ - ๐Ÿง‘โ€๐Ÿ’ป chore: improve developer tooling setup process
132
+ - ๐Ÿ‘” feat: implement business logic for transaction validation
133
+ - ๐Ÿฉน fix: address minor styling inconsistency in header
134
+ - ๐Ÿš‘๏ธ fix: patch critical security vulnerability in auth flow
135
+ - ๐ŸŽจ style: reorganize component structure for better readability
136
+ - ๐Ÿ”ฅ fix: remove deprecated legacy code
137
+ - ๐Ÿฆบ feat: add input validation for user registration form
138
+ - ๐Ÿ’š fix: resolve failing CI pipeline tests
139
+ - ๐Ÿ“ˆ feat: implement analytics tracking for user engagement
140
+ - ๐Ÿ”’๏ธ fix: strengthen authentication password requirements
141
+ - โ™ฟ๏ธ feat: improve form accessibility for screen readers
142
+
143
+ Example of splitting commits:
144
+ - First commit: โœจ feat: add new solc version type definitions
145
+ - Second commit: ๐Ÿ“ docs: update documentation for new solc versions
146
+ - Third commit: ๐Ÿ”ง chore: update package.json dependencies
147
+ - Fourth commit: ๐Ÿท๏ธ feat: add type definitions for new API endpoints
148
+ - Fifth commit: ๐Ÿงต feat: improve concurrency handling in worker threads
149
+ - Sixth commit: ๐Ÿšจ fix: resolve linting issues in new code
150
+ - Seventh commit: โœ… test: add unit tests for new solc version features
151
+ - Eighth commit: ๐Ÿ”’๏ธ fix: update dependencies with security vulnerabilities
152
+
153
+ ## Command Options
154
+
155
+ - --no-verify: Skip running the pre-commit checks (lint, build, generate:docs)
156
+
157
+ ## Important Notes
158
+
159
+ - By default, pre-commit checks (pnpm lint, pnpm build, pnpm generate:docs) will run to ensure code quality
160
+ - If these checks fail, you'll be asked if you want to proceed with the commit anyway or fix the issues first
161
+ - If specific files are already staged, the command will only commit those files
162
+ - If no files are staged, it will automatically stage all modified and new files
163
+ - The commit message will be constructed based on the changes detected
164
+ - Before committing, the command will review the diff to identify if multiple commits would be more appropriate
165
+ - If suggesting multiple commits, it will help you stage and commit the changes separately
166
+ - Always reviews the commit diff to ensure the message matches the changes