@luanpdd/kit-mcp 1.28.0 → 1.30.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/LICENSE +21 -21
- package/README.md +168 -168
- package/gates/agent-no-recursive-dispatch.md +82 -82
- package/kit/COMANDOS.md +138 -138
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +106 -106
- package/kit/agents/assumptions-analyzer.md +107 -107
- package/kit/agents/audit-log-implementer.md +313 -313
- package/kit/agents/auditor-consistencia-isolamento.md +413 -413
- package/kit/agents/b2b-saas-architect.md +156 -156
- package/kit/agents/cascading-failures-auditor.md +298 -298
- package/kit/agents/codebase-mapper.md +768 -768
- package/kit/agents/crm-pipeline-implementer.md +256 -256
- package/kit/agents/debugger.md +813 -813
- package/kit/agents/detector-tenant-quente.md +337 -337
- package/kit/agents/evolution-go-integrator.md +200 -200
- package/kit/agents/example-reviewer.md +21 -21
- package/kit/agents/executor.md +564 -564
- package/kit/agents/integration-checker.md +200 -200
- package/kit/agents/invite-flow-implementer.md +189 -189
- package/kit/agents/legacy-characterizer.md +368 -368
- package/kit/agents/lgpd-compliance-auditor.md +295 -295
- package/kit/agents/multi-tenant-isolation-auditor.md +253 -253
- package/kit/agents/multi-tenant-rls-writer.md +340 -340
- package/kit/agents/nyquist-auditor.md +178 -178
- package/kit/agents/observability-coverage-auditor.md +315 -315
- package/kit/agents/org-onboarding-implementer.md +223 -223
- package/kit/agents/payload-capture-instrumenter.md +273 -273
- package/kit/agents/phase-researcher.md +696 -696
- package/kit/agents/plan-checker.md +272 -272
- package/kit/agents/planner.md +922 -922
- package/kit/agents/project-researcher.md +652 -652
- package/kit/agents/refactor-safety-auditor.md +404 -404
- package/kit/agents/research-synthesizer.md +245 -245
- package/kit/agents/roadmapper.md +677 -677
- package/kit/agents/seam-finder.md +359 -359
- package/kit/agents/shotgun-surgery-detector.md +349 -349
- package/kit/agents/supabase-branching-architect.md +562 -562
- package/kit/agents/supabase-cicd-pipeline-implementer.md +777 -777
- package/kit/agents/supabase-column-privileges-writer.md +399 -399
- package/kit/agents/supabase-edge-fn-tester.md +287 -0
- package/kit/agents/supabase-edge-fn-writer.md +239 -210
- package/kit/agents/supabase-migration-writer.md +385 -385
- package/kit/agents/supabase-rbac-implementer.md +392 -392
- package/kit/agents/supabase-realtime-implementer.md +363 -267
- package/kit/agents/supabase-rls-hardener.md +521 -521
- package/kit/agents/supabase-rls-writer.md +323 -323
- package/kit/agents/supabase-roles-implementer.md +355 -355
- package/kit/agents/super-admin-implementer.md +281 -281
- package/kit/agents/ui-auditor.md +437 -437
- package/kit/agents/ui-checker.md +302 -302
- package/kit/agents/ui-researcher.md +355 -355
- package/kit/agents/user-profiler.md +175 -175
- package/kit/agents/validador-evolucao-schema.md +335 -335
- package/kit/agents/verifier.md +728 -728
- package/kit/commands/adicionar-backlog.md +75 -75
- package/kit/commands/adicionar-fase.md +42 -42
- package/kit/commands/adicionar-tarefa.md +45 -45
- package/kit/commands/adicionar-testes.md +41 -41
- package/kit/commands/ajuda.md +21 -21
- package/kit/commands/atualizar.md +37 -37
- package/kit/commands/auditar-cascading.md +111 -111
- package/kit/commands/auditar-marco.md +179 -179
- package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
- package/kit/commands/auditar-refactor.md +219 -219
- package/kit/commands/auditar-release.md +109 -109
- package/kit/commands/auditar-uat.md +23 -23
- package/kit/commands/autonomo.md +40 -40
- package/kit/commands/branch-pr.md +24 -24
- package/kit/commands/burn-rate-status.md +408 -408
- package/kit/commands/capturar-payloads.md +193 -193
- package/kit/commands/caracterizar.md +212 -212
- package/kit/commands/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/dados-distribuidos.md +188 -188
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/detectar-duplicacao.md +197 -197
- package/kit/commands/discutir-fase.md +131 -131
- package/kit/commands/encontrar-seams.md +136 -136
- package/kit/commands/entrar-discord.md +17 -17
- package/kit/commands/estatisticas.md +18 -18
- package/kit/commands/example-greeting.md +33 -33
- package/kit/commands/executar-fase.md +58 -58
- package/kit/commands/expresso.md +56 -56
- package/kit/commands/fase-ui.md +34 -34
- package/kit/commands/fazer.md +57 -57
- package/kit/commands/fio.md +125 -125
- package/kit/commands/fluxos-trabalho.md +64 -64
- package/kit/commands/forense.md +176 -176
- package/kit/commands/gerenciador.md +38 -38
- package/kit/commands/inserir-fase.md +31 -31
- package/kit/commands/legacy.md +263 -263
- package/kit/commands/limpeza.md +17 -17
- package/kit/commands/listar-hipoteses-fase.md +45 -45
- package/kit/commands/listar-workspaces.md +18 -18
- package/kit/commands/load-shedding.md +117 -117
- package/kit/commands/mapear-codebase.md +70 -70
- package/kit/commands/multi-tenant.md +163 -163
- package/kit/commands/nota.md +33 -33
- package/kit/commands/novo-marco.md +43 -43
- package/kit/commands/novo-projeto.md +41 -41
- package/kit/commands/novo-workspace.md +43 -43
- package/kit/commands/pausar-trabalho.md +37 -37
- package/kit/commands/perfil-usuario.md +45 -45
- package/kit/commands/pesquisar-fase.md +195 -195
- package/kit/commands/planejar-fase.md +67 -67
- package/kit/commands/planejar-lacunas.md +33 -33
- package/kit/commands/plantar-ideia.md +25 -25
- package/kit/commands/progresso.md +24 -24
- package/kit/commands/proximo.md +30 -30
- package/kit/commands/publicar.md +490 -490
- package/kit/commands/rapido.md +35 -35
- package/kit/commands/reaplicar-patches.md +124 -124
- package/kit/commands/refactor-seguro.md +321 -321
- package/kit/commands/relatorio-sessao.md +19 -19
- package/kit/commands/remover-fase.md +31 -31
- package/kit/commands/remover-workspace.md +26 -26
- package/kit/commands/resumo-marco.md +50 -50
- package/kit/commands/retomar-trabalho.md +40 -40
- package/kit/commands/revisar-backlog.md +60 -60
- package/kit/commands/revisar-ui.md +32 -32
- package/kit/commands/revisar.md +37 -37
- package/kit/commands/saude.md +21 -21
- package/kit/commands/setup-notion.md +93 -93
- package/kit/commands/storytelling.md +179 -179
- package/kit/commands/supabase.md +30 -7
- package/kit/commands/sync-main.md +68 -68
- package/kit/commands/validar-fase.md +35 -35
- package/kit/commands/verificar-tarefas.md +44 -44
- package/kit/commands/verificar-trabalho.md +64 -64
- package/kit/file-manifest.json +14 -8
- package/kit/framework/bin/lib/commands.cjs +959 -959
- package/kit/framework/bin/lib/config.cjs +442 -442
- package/kit/framework/bin/lib/core.cjs +1230 -1230
- package/kit/framework/bin/lib/frontmatter.cjs +336 -336
- package/kit/framework/bin/lib/init.cjs +1442 -1442
- package/kit/framework/bin/lib/milestone.cjs +252 -252
- package/kit/framework/bin/lib/model-profiles.cjs +68 -68
- package/kit/framework/bin/lib/phase.cjs +888 -888
- package/kit/framework/bin/lib/profile-output.cjs +952 -952
- package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
- package/kit/framework/bin/lib/roadmap.cjs +329 -329
- package/kit/framework/bin/lib/security.cjs +382 -382
- package/kit/framework/bin/lib/state.cjs +1031 -1031
- package/kit/framework/bin/lib/template.cjs +222 -222
- package/kit/framework/bin/lib/uat.cjs +282 -282
- package/kit/framework/bin/lib/verify.cjs +888 -888
- package/kit/framework/bin/lib/workstream.cjs +491 -491
- package/kit/framework/bin/tools.cjs +918 -918
- package/kit/framework/commands/workstreams.md +63 -63
- package/kit/framework/references/checkpoints.md +778 -778
- package/kit/framework/references/continuation-format.md +249 -249
- package/kit/framework/references/decimal-phase-calculation.md +64 -64
- package/kit/framework/references/git-integration.md +295 -295
- package/kit/framework/references/git-planning-commit.md +38 -38
- package/kit/framework/references/model-profile-resolution.md +36 -36
- package/kit/framework/references/model-profiles.md +139 -139
- package/kit/framework/references/phase-argument-parsing.md +61 -61
- package/kit/framework/references/planning-config.md +202 -202
- package/kit/framework/references/questioning.md +162 -162
- package/kit/framework/references/tdd.md +263 -263
- package/kit/framework/references/ui-brand.md +160 -160
- package/kit/framework/references/user-profiling.md +657 -657
- package/kit/framework/references/verification-patterns.md +612 -612
- package/kit/framework/references/workstream-flag.md +58 -58
- package/kit/framework/templates/DEBUG.md +164 -164
- package/kit/framework/templates/UAT.md +265 -265
- package/kit/framework/templates/UI-SPEC.md +100 -100
- package/kit/framework/templates/VALIDATION.md +76 -76
- package/kit/framework/templates/claude-md.md +122 -122
- package/kit/framework/templates/codebase/architecture.md +185 -185
- package/kit/framework/templates/codebase/concerns.md +205 -205
- package/kit/framework/templates/codebase/conventions.md +204 -204
- package/kit/framework/templates/codebase/integrations.md +192 -192
- package/kit/framework/templates/codebase/stack.md +158 -158
- package/kit/framework/templates/codebase/structure.md +199 -199
- package/kit/framework/templates/codebase/testing.md +301 -301
- package/kit/framework/templates/config.json +44 -44
- package/kit/framework/templates/context.md +352 -352
- package/kit/framework/templates/continue-here.md +78 -78
- package/kit/framework/templates/copilot-instructions.md +7 -7
- package/kit/framework/templates/debug-subagent-prompt.md +91 -91
- package/kit/framework/templates/dev-preferences.md +20 -20
- package/kit/framework/templates/discovery.md +146 -146
- package/kit/framework/templates/discussion-log.md +63 -63
- package/kit/framework/templates/milestone-archive.md +123 -123
- package/kit/framework/templates/milestone.md +115 -115
- package/kit/framework/templates/phase-prompt.md +610 -610
- package/kit/framework/templates/planner-subagent-prompt.md +117 -117
- package/kit/framework/templates/project.md +186 -186
- package/kit/framework/templates/requirements.md +231 -231
- package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
- package/kit/framework/templates/research-project/FEATURES.md +147 -147
- package/kit/framework/templates/research-project/PITFALLS.md +200 -200
- package/kit/framework/templates/research-project/STACK.md +120 -120
- package/kit/framework/templates/research-project/SUMMARY.md +170 -170
- package/kit/framework/templates/research.md +419 -419
- package/kit/framework/templates/retrospective.md +54 -54
- package/kit/framework/templates/roadmap.md +202 -202
- package/kit/framework/templates/state.md +176 -176
- package/kit/framework/templates/summary-complex.md +59 -59
- package/kit/framework/templates/summary-minimal.md +41 -41
- package/kit/framework/templates/summary-standard.md +48 -48
- package/kit/framework/templates/summary.md +209 -209
- package/kit/framework/templates/user-profile.md +146 -146
- package/kit/framework/templates/user-setup.md +256 -256
- package/kit/framework/templates/verification-report.md +258 -258
- package/kit/framework/workflows/add-phase.md +112 -112
- package/kit/framework/workflows/add-tests.md +351 -351
- package/kit/framework/workflows/add-todo.md +158 -158
- package/kit/framework/workflows/audit-milestone.md +340 -340
- package/kit/framework/workflows/audit-uat.md +109 -109
- package/kit/framework/workflows/autonomous.md +891 -891
- package/kit/framework/workflows/check-todos.md +177 -177
- package/kit/framework/workflows/cleanup.md +152 -152
- package/kit/framework/workflows/complete-milestone.md +696 -696
- package/kit/framework/workflows/diagnose-issues.md +231 -231
- package/kit/framework/workflows/discovery-phase.md +289 -289
- package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
- package/kit/framework/workflows/discuss-phase.md +784 -784
- package/kit/framework/workflows/do.md +104 -104
- package/kit/framework/workflows/execute-phase.md +838 -838
- package/kit/framework/workflows/execute-plan.md +510 -510
- package/kit/framework/workflows/fast.md +102 -102
- package/kit/framework/workflows/forensics.md +265 -265
- package/kit/framework/workflows/health.md +181 -181
- package/kit/framework/workflows/help.md +619 -619
- package/kit/framework/workflows/insert-phase.md +130 -130
- package/kit/framework/workflows/list-phase-assumptions.md +178 -178
- package/kit/framework/workflows/list-workspaces.md +56 -56
- package/kit/framework/workflows/manager.md +362 -362
- package/kit/framework/workflows/map-codebase.md +377 -377
- package/kit/framework/workflows/milestone-summary.md +223 -223
- package/kit/framework/workflows/new-milestone.md +486 -486
- package/kit/framework/workflows/new-project.md +1159 -1159
- package/kit/framework/workflows/new-workspace.md +237 -237
- package/kit/framework/workflows/next.md +97 -97
- package/kit/framework/workflows/node-repair.md +92 -92
- package/kit/framework/workflows/note.md +156 -156
- package/kit/framework/workflows/pause-work.md +176 -176
- package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
- package/kit/framework/workflows/plan-phase.md +765 -765
- package/kit/framework/workflows/plant-seed.md +169 -169
- package/kit/framework/workflows/pr-branch.md +129 -129
- package/kit/framework/workflows/profile-user.md +450 -450
- package/kit/framework/workflows/progress.md +507 -507
- package/kit/framework/workflows/quick.md +757 -757
- package/kit/framework/workflows/remove-phase.md +155 -155
- package/kit/framework/workflows/remove-workspace.md +90 -90
- package/kit/framework/workflows/research-phase.md +82 -82
- package/kit/framework/workflows/resume-project.md +326 -326
- package/kit/framework/workflows/review.md +228 -228
- package/kit/framework/workflows/session-report.md +146 -146
- package/kit/framework/workflows/settings.md +283 -283
- package/kit/framework/workflows/ship.md +228 -228
- package/kit/framework/workflows/stats.md +60 -60
- package/kit/framework/workflows/transition.md +671 -671
- package/kit/framework/workflows/ui-phase.md +302 -302
- package/kit/framework/workflows/ui-review.md +165 -165
- package/kit/framework/workflows/update.md +323 -323
- package/kit/framework/workflows/validate-phase.md +174 -174
- package/kit/framework/workflows/verify-phase.md +252 -252
- package/kit/framework/workflows/verify-work.md +637 -637
- package/kit/hooks/check-update.js +118 -118
- package/kit/hooks/context-monitor.js +163 -163
- package/kit/hooks/prompt-guard.js +103 -103
- package/kit/hooks/statusline.js +125 -125
- package/kit/hooks/workflow-guard.js +101 -101
- package/kit/settings.json +45 -45
- package/kit/skills/_shared-supabase/glossary.md +17 -0
- package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
- package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
- package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
- package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
- package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
- package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
- package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
- package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
- package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
- package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
- package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
- package/kit/skills/legacy-extract-class/SKILL.md +203 -203
- package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
- package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
- package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
- package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
- package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
- package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
- package/kit/skills/member-invite-flow/SKILL.md +305 -305
- package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
- package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
- package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
- package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
- package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
- package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
- package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
- package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
- package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
- package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
- package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
- package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
- package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
- package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
- package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
- package/kit/skills/supabase-edge-functions/SKILL.md +229 -141
- package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -0
- package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -0
- package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -0
- package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -0
- package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -0
- package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
- package/kit/skills/supabase-migrations/SKILL.md +297 -297
- package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
- package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
- package/kit/skills/supabase-realtime/SKILL.md +460 -236
- package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
- package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
- package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
- package/package.json +1 -1
- package/src/cli/index.js +33 -0
- package/src/core/kit.js +216 -216
- package/src/core/reflect.js +247 -247
- package/src/core/reverse-sync.js +372 -372
- package/src/core/sync.js +418 -418
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +693 -490
- package/src/mcp-server/roots.js +124 -0
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: discutir-fase
|
|
3
|
-
description: Reúne contexto da fase por questionamento adaptativo antes do planejamento. Use --auto para pular perguntas interativas (Claude escolhe os padrões recomendados).
|
|
4
|
-
argument-hint: "<phase> [--auto] [--batch] [--analyze] [--text]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
- AskUserQuestion
|
|
12
|
-
- Task
|
|
13
|
-
- mcp__context7__resolve-library-id
|
|
14
|
-
- mcp__context7__query-docs
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
<objective>
|
|
18
|
-
Extrair decisões de implementação que os agentes subsequentes precisam — o pesquisador e o planejador usarão o CONTEXT.md para saber o que investigar e quais escolhas estão travadas.
|
|
19
|
-
|
|
20
|
-
**Como funciona:**
|
|
21
|
-
1. Carregar contexto anterior (PROJECT.md, REQUIREMENTS.md, STATE.md, arquivos CONTEXT.md anteriores)
|
|
22
|
-
2. Explorar base de código em busca de recursos e padrões reutilizáveis
|
|
23
|
-
3. Analisar a fase — pular áreas cinzentas já decididas em fases anteriores
|
|
24
|
-
4. Apresentar áreas cinzentas restantes — usuário seleciona quais discutir
|
|
25
|
-
5. Aprofundar cada área selecionada até satisfação
|
|
26
|
-
6. Criar CONTEXT.md com decisões que guiam pesquisa e planejamento
|
|
27
|
-
|
|
28
|
-
**Saída:** `{phase_num}-CONTEXT.md` — decisões claras o suficiente para que agentes subsequentes possam agir sem perguntar ao usuário novamente
|
|
29
|
-
</objective>
|
|
30
|
-
|
|
31
|
-
<execution_context>
|
|
32
|
-
@./.claude/framework/workflows/discuss-phase.md
|
|
33
|
-
@./.claude/framework/workflows/discuss-phase-assumptions.md
|
|
34
|
-
@./.claude/framework/templates/context.md
|
|
35
|
-
</execution_context>
|
|
36
|
-
|
|
37
|
-
<context>
|
|
38
|
-
Número da fase: $ARGUMENTS (obrigatório)
|
|
39
|
-
|
|
40
|
-
Arquivos de contexto são resolvidos no workflow usando `init phase-op` e chamadas de ferramentas de roadmap/estado.
|
|
41
|
-
</context>
|
|
42
|
-
|
|
43
|
-
<process>
|
|
44
|
-
**Roteamento de modo:**
|
|
45
|
-
```bash
|
|
46
|
-
DISCUSS_MODE=$(node "./.claude/framework/bin/tools.cjs" config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Se `DISCUSS_MODE` for `"assumptions"`: Ler e executar @./.claude/framework/workflows/discuss-phase-assumptions.md do início ao fim.
|
|
50
|
-
|
|
51
|
-
Se `DISCUSS_MODE` for `"discuss"` (ou não definido, ou qualquer outro valor): Ler e executar @./.claude/framework/workflows/discuss-phase.md do início ao fim.
|
|
52
|
-
|
|
53
|
-
**OBRIGATÓRIO:** Os arquivos execution_context listados acima SÃO as instruções. Ler o arquivo de workflow ANTES de tomar qualquer ação. As seções de objective e success_criteria neste arquivo de comando são resumos — o arquivo de workflow contém o processo completo passo a passo com todos os comportamentos obrigatórios, verificações de configuração e padrões de interação. Não improvisar a partir do resumo.
|
|
54
|
-
</process>
|
|
55
|
-
|
|
56
|
-
<success_criteria>
|
|
57
|
-
- Contexto anterior carregado e aplicado (sem re-perguntar questões já decididas)
|
|
58
|
-
- Áreas cinzentas identificadas através de análise inteligente
|
|
59
|
-
- Usuário escolheu quais áreas discutir
|
|
60
|
-
- Cada área selecionada explorada até satisfação
|
|
61
|
-
- Expansão de escopo redirecionada para ideias adiadas
|
|
62
|
-
- CONTEXT.md captura decisões, não visão vaga
|
|
63
|
-
- Usuário conhece os próximos passos
|
|
64
|
-
</success_criteria>
|
|
65
|
-
|
|
66
|
-
<observability_integration>
|
|
67
|
-
**Integração com Observability-Driven Development (v1.9):**
|
|
68
|
-
|
|
69
|
-
Quando o workflow.observability_phase_questions = true (default), o workflow inclui pergunta canônica de ODD na sessão de discussão:
|
|
70
|
-
|
|
71
|
-
> "Quais SLIs essa fase impacta? O que precisa ser instrumentado para responder às 4 perguntas pré-PR?"
|
|
72
|
-
|
|
73
|
-
A pergunta é resolvida consultando a skill [`observability-driven-development`](../skills/observability-driven-development/SKILL.md) e o resultado é registrado na seção `<observability>` do CONTEXT.md gerado:
|
|
74
|
-
|
|
75
|
-
```markdown
|
|
76
|
-
<observability>
|
|
77
|
-
## SLIs impactados
|
|
78
|
-
- [SLI ou "nenhum — fase puramente interna"]
|
|
79
|
-
|
|
80
|
-
## Instrumentação necessária
|
|
81
|
-
- Spans novos: [lista]
|
|
82
|
-
- Atributos canônicos: [user.id, tenant_id, ...]
|
|
83
|
-
- error.type enum esperado: [validation, timeout, ...]
|
|
84
|
-
</observability>
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
O `plan-checker` invocado pelo `/planejar-fase` (Phase 33 — INT-FW-02) lê esta seção e bloqueia o plano se ODD ausente para fases voltadas ao usuário (skip silenciosamente para fases de infraestrutura — ver detecção em `discuss-phase.md`).
|
|
88
|
-
|
|
89
|
-
**REQ:** INT-FW-01.
|
|
90
|
-
</observability_integration>
|
|
91
|
-
|
|
92
|
-
<legacy_refactor_integration>
|
|
93
|
-
**Integração com Suíte Legacy Code (Feathers):**
|
|
94
|
-
|
|
95
|
-
Quando o workflow detecta intent de **refactor** (palavras-chave em descrição da fase: "refator", "refactor", "extrair", "limpar", "reorganizar", "split", "quebrar classe/módulo"), inclui pergunta canônica:
|
|
96
|
-
|
|
97
|
-
> "Esta fase envolve refactor de arquivo existente? Se sim, qual é o arquivo alvo?"
|
|
98
|
-
|
|
99
|
-
Para cada arquivo identificado:
|
|
100
|
-
1. Coleta line count + checa se path matches contrato externo (supabase/functions, src/api, webhooks, pages/api)
|
|
101
|
-
2. Invoca [`refactor-safety-auditor`](../agents/refactor-safety-auditor.md) **em modo dry-run** para coletar evidências sem bloquear
|
|
102
|
-
3. Resultado registrado em CONTEXT.md em seção `<refactor_safety>`:
|
|
103
|
-
|
|
104
|
-
```markdown
|
|
105
|
-
<refactor_safety>
|
|
106
|
-
## Arquivos alvo de refactor
|
|
107
|
-
|
|
108
|
-
| Arquivo | Linhas | Contrato externo | Cobertura | Char tests | Veredito do gate |
|
|
109
|
-
|---|---|---|---|---|---|
|
|
110
|
-
| src/orders/handler.ts | 724 | true | 12% | absent | BLOCK |
|
|
111
|
-
| src/orders/utils.ts | 89 | false | 78% | absent | GO |
|
|
112
|
-
|
|
113
|
-
## Recomendação
|
|
114
|
-
|
|
115
|
-
Para `src/orders/handler.ts`:
|
|
116
|
-
- Caminho preferido: /caracterizar antes de refactor (custo: 8-16h)
|
|
117
|
-
- Alternativa: /refactor-seguro --mode=sprout (se mudança ADICIONA, não modifica)
|
|
118
|
-
- Para safe-extract: assinar checklist canônico de safe extraction
|
|
119
|
-
- Override possível com ticket + reason
|
|
120
|
-
|
|
121
|
-
Para `src/orders/utils.ts`:
|
|
122
|
-
- Refactor pode prosseguir; cobertura adequada existe.
|
|
123
|
-
</refactor_safety>
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
`plan-checker` consume essa seção. Se gate retorna BLOCK e mode=blocking, plano não é aprovado até user escolher caminho explícito.
|
|
127
|
-
|
|
128
|
-
**Skill canônica:** [`pre-refactor-characterization`](../skills/pre-refactor-characterization/SKILL.md)
|
|
129
|
-
|
|
130
|
-
**Quando skip:** fase puramente de infraestrutura (markdown, config, tooling), fase greenfield (sem arquivos existentes a modificar), OR `workflow.legacy_refactor_questions=false` em config.
|
|
131
|
-
</legacy_refactor_integration>
|
|
1
|
+
---
|
|
2
|
+
name: discutir-fase
|
|
3
|
+
description: Reúne contexto da fase por questionamento adaptativo antes do planejamento. Use --auto para pular perguntas interativas (Claude escolhe os padrões recomendados).
|
|
4
|
+
argument-hint: "<phase> [--auto] [--batch] [--analyze] [--text]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
- Task
|
|
13
|
+
- mcp__context7__resolve-library-id
|
|
14
|
+
- mcp__context7__query-docs
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<objective>
|
|
18
|
+
Extrair decisões de implementação que os agentes subsequentes precisam — o pesquisador e o planejador usarão o CONTEXT.md para saber o que investigar e quais escolhas estão travadas.
|
|
19
|
+
|
|
20
|
+
**Como funciona:**
|
|
21
|
+
1. Carregar contexto anterior (PROJECT.md, REQUIREMENTS.md, STATE.md, arquivos CONTEXT.md anteriores)
|
|
22
|
+
2. Explorar base de código em busca de recursos e padrões reutilizáveis
|
|
23
|
+
3. Analisar a fase — pular áreas cinzentas já decididas em fases anteriores
|
|
24
|
+
4. Apresentar áreas cinzentas restantes — usuário seleciona quais discutir
|
|
25
|
+
5. Aprofundar cada área selecionada até satisfação
|
|
26
|
+
6. Criar CONTEXT.md com decisões que guiam pesquisa e planejamento
|
|
27
|
+
|
|
28
|
+
**Saída:** `{phase_num}-CONTEXT.md` — decisões claras o suficiente para que agentes subsequentes possam agir sem perguntar ao usuário novamente
|
|
29
|
+
</objective>
|
|
30
|
+
|
|
31
|
+
<execution_context>
|
|
32
|
+
@./.claude/framework/workflows/discuss-phase.md
|
|
33
|
+
@./.claude/framework/workflows/discuss-phase-assumptions.md
|
|
34
|
+
@./.claude/framework/templates/context.md
|
|
35
|
+
</execution_context>
|
|
36
|
+
|
|
37
|
+
<context>
|
|
38
|
+
Número da fase: $ARGUMENTS (obrigatório)
|
|
39
|
+
|
|
40
|
+
Arquivos de contexto são resolvidos no workflow usando `init phase-op` e chamadas de ferramentas de roadmap/estado.
|
|
41
|
+
</context>
|
|
42
|
+
|
|
43
|
+
<process>
|
|
44
|
+
**Roteamento de modo:**
|
|
45
|
+
```bash
|
|
46
|
+
DISCUSS_MODE=$(node "./.claude/framework/bin/tools.cjs" config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Se `DISCUSS_MODE` for `"assumptions"`: Ler e executar @./.claude/framework/workflows/discuss-phase-assumptions.md do início ao fim.
|
|
50
|
+
|
|
51
|
+
Se `DISCUSS_MODE` for `"discuss"` (ou não definido, ou qualquer outro valor): Ler e executar @./.claude/framework/workflows/discuss-phase.md do início ao fim.
|
|
52
|
+
|
|
53
|
+
**OBRIGATÓRIO:** Os arquivos execution_context listados acima SÃO as instruções. Ler o arquivo de workflow ANTES de tomar qualquer ação. As seções de objective e success_criteria neste arquivo de comando são resumos — o arquivo de workflow contém o processo completo passo a passo com todos os comportamentos obrigatórios, verificações de configuração e padrões de interação. Não improvisar a partir do resumo.
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<success_criteria>
|
|
57
|
+
- Contexto anterior carregado e aplicado (sem re-perguntar questões já decididas)
|
|
58
|
+
- Áreas cinzentas identificadas através de análise inteligente
|
|
59
|
+
- Usuário escolheu quais áreas discutir
|
|
60
|
+
- Cada área selecionada explorada até satisfação
|
|
61
|
+
- Expansão de escopo redirecionada para ideias adiadas
|
|
62
|
+
- CONTEXT.md captura decisões, não visão vaga
|
|
63
|
+
- Usuário conhece os próximos passos
|
|
64
|
+
</success_criteria>
|
|
65
|
+
|
|
66
|
+
<observability_integration>
|
|
67
|
+
**Integração com Observability-Driven Development (v1.9):**
|
|
68
|
+
|
|
69
|
+
Quando o workflow.observability_phase_questions = true (default), o workflow inclui pergunta canônica de ODD na sessão de discussão:
|
|
70
|
+
|
|
71
|
+
> "Quais SLIs essa fase impacta? O que precisa ser instrumentado para responder às 4 perguntas pré-PR?"
|
|
72
|
+
|
|
73
|
+
A pergunta é resolvida consultando a skill [`observability-driven-development`](../skills/observability-driven-development/SKILL.md) e o resultado é registrado na seção `<observability>` do CONTEXT.md gerado:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
<observability>
|
|
77
|
+
## SLIs impactados
|
|
78
|
+
- [SLI ou "nenhum — fase puramente interna"]
|
|
79
|
+
|
|
80
|
+
## Instrumentação necessária
|
|
81
|
+
- Spans novos: [lista]
|
|
82
|
+
- Atributos canônicos: [user.id, tenant_id, ...]
|
|
83
|
+
- error.type enum esperado: [validation, timeout, ...]
|
|
84
|
+
</observability>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
O `plan-checker` invocado pelo `/planejar-fase` (Phase 33 — INT-FW-02) lê esta seção e bloqueia o plano se ODD ausente para fases voltadas ao usuário (skip silenciosamente para fases de infraestrutura — ver detecção em `discuss-phase.md`).
|
|
88
|
+
|
|
89
|
+
**REQ:** INT-FW-01.
|
|
90
|
+
</observability_integration>
|
|
91
|
+
|
|
92
|
+
<legacy_refactor_integration>
|
|
93
|
+
**Integração com Suíte Legacy Code (Feathers):**
|
|
94
|
+
|
|
95
|
+
Quando o workflow detecta intent de **refactor** (palavras-chave em descrição da fase: "refator", "refactor", "extrair", "limpar", "reorganizar", "split", "quebrar classe/módulo"), inclui pergunta canônica:
|
|
96
|
+
|
|
97
|
+
> "Esta fase envolve refactor de arquivo existente? Se sim, qual é o arquivo alvo?"
|
|
98
|
+
|
|
99
|
+
Para cada arquivo identificado:
|
|
100
|
+
1. Coleta line count + checa se path matches contrato externo (supabase/functions, src/api, webhooks, pages/api)
|
|
101
|
+
2. Invoca [`refactor-safety-auditor`](../agents/refactor-safety-auditor.md) **em modo dry-run** para coletar evidências sem bloquear
|
|
102
|
+
3. Resultado registrado em CONTEXT.md em seção `<refactor_safety>`:
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
<refactor_safety>
|
|
106
|
+
## Arquivos alvo de refactor
|
|
107
|
+
|
|
108
|
+
| Arquivo | Linhas | Contrato externo | Cobertura | Char tests | Veredito do gate |
|
|
109
|
+
|---|---|---|---|---|---|
|
|
110
|
+
| src/orders/handler.ts | 724 | true | 12% | absent | BLOCK |
|
|
111
|
+
| src/orders/utils.ts | 89 | false | 78% | absent | GO |
|
|
112
|
+
|
|
113
|
+
## Recomendação
|
|
114
|
+
|
|
115
|
+
Para `src/orders/handler.ts`:
|
|
116
|
+
- Caminho preferido: /caracterizar antes de refactor (custo: 8-16h)
|
|
117
|
+
- Alternativa: /refactor-seguro --mode=sprout (se mudança ADICIONA, não modifica)
|
|
118
|
+
- Para safe-extract: assinar checklist canônico de safe extraction
|
|
119
|
+
- Override possível com ticket + reason
|
|
120
|
+
|
|
121
|
+
Para `src/orders/utils.ts`:
|
|
122
|
+
- Refactor pode prosseguir; cobertura adequada existe.
|
|
123
|
+
</refactor_safety>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`plan-checker` consume essa seção. Se gate retorna BLOCK e mode=blocking, plano não é aprovado até user escolher caminho explícito.
|
|
127
|
+
|
|
128
|
+
**Skill canônica:** [`pre-refactor-characterization`](../skills/pre-refactor-characterization/SKILL.md)
|
|
129
|
+
|
|
130
|
+
**Quando skip:** fase puramente de infraestrutura (markdown, config, tooling), fase greenfield (sem arquivos existentes a modificar), OR `workflow.legacy_refactor_questions=false` em config.
|
|
131
|
+
</legacy_refactor_integration>
|
|
@@ -1,136 +1,136 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: encontrar-seams
|
|
3
|
-
description: Invoca seam-finder — analisa código para identificar seams (object/link/preprocessing) e recomenda técnica do cap 25 Feathers para quebrar dependências bloqueantes.
|
|
4
|
-
argument-hint: "<target_file> [--symbol <name>] [--prefer object|link|preprocessing] [--output PATH]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Grep
|
|
10
|
-
- Glob
|
|
11
|
-
- Task
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
<objective>
|
|
15
|
-
Analisar código alvo para identificar **seams** (lugares onde se pode alterar comportamento sem editar lá) e recomendar **técnica do catálogo cap 25 Feathers** para quebrar dependências bloqueantes (DB real, HTTP, framework objects, singletons, clocks). Invoca o agente [`seam-finder`](../agents/seam-finder.md) que aplica a skill [`legacy-seams-and-test-harness`](../skills/legacy-seams-and-test-harness/SKILL.md) — decision tree por linguagem, prioridade pelo MENOR custo + MAIOR reversibilidade.
|
|
16
|
-
|
|
17
|
-
**Cria/Atualiza:**
|
|
18
|
-
- `.planning/SEAM-ANALYSIS.md` — relatório com deps bloqueantes, técnicas recomendadas, sequência canônica de commits
|
|
19
|
-
|
|
20
|
-
**Após:** o user tem plano mecânico para tornar código testável antes de invocar `/caracterizar`. Tipicamente 5-30 minutos por dep bloqueante; sequência de pequenos commits revertíveis.
|
|
21
|
-
</objective>
|
|
22
|
-
|
|
23
|
-
<context>
|
|
24
|
-
**Argumentos:**
|
|
25
|
-
- `<target_file>` — caminho do arquivo a analisar (relativo ao project root) — OBRIGATÓRIO
|
|
26
|
-
- `--symbol <name>` — analisar apenas símbolo específico (default: arquivo inteiro)
|
|
27
|
-
- `--prefer object|link|preprocessing` — preferência de tipo de seam (default: object)
|
|
28
|
-
- `--output PATH` — caminho do output (default: `.planning/SEAM-ANALYSIS.md`)
|
|
29
|
-
|
|
30
|
-
**Exemplos:**
|
|
31
|
-
```
|
|
32
|
-
/encontrar-seams src/orders/OrderService.ts # análise completa
|
|
33
|
-
/encontrar-seams src/orders/OrderService.ts --symbol charge # método específico
|
|
34
|
-
/encontrar-seams src/legacy/Client.cpp --prefer link # forçar link seam (C++ legado)
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
**Quando este comando é o caminho certo:**
|
|
38
|
-
- `/caracterizar` falhou porque deps externas impedem isolamento
|
|
39
|
-
- Construtor faz I/O direto (cria conexão DB no constructor)
|
|
40
|
-
- Usar singleton/global hardcoded no método a testar
|
|
41
|
-
- Framework type complexo (HttpServletRequest, Express.Request) bloqueando teste
|
|
42
|
-
- Código procedural (C, COBOL, Go) onde polimorfismo não está disponível
|
|
43
|
-
|
|
44
|
-
**Quando NÃO é o caminho:**
|
|
45
|
-
- Código já é testável (deps injetadas via DI) → usar `/caracterizar` direto
|
|
46
|
-
- Código é puro (sem I/O) → não precisa break-dep
|
|
47
|
-
- Mudança é safe-extraction (rename, IDE-extract) → usar `/refactor-seguro --mode=safe-extract`
|
|
48
|
-
</context>
|
|
49
|
-
|
|
50
|
-
<process>
|
|
51
|
-
|
|
52
|
-
## 1. Parsear argumentos
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
TARGET_FILE=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
56
|
-
SYMBOL=$(echo "$ARGUMENTS" | grep -oE -- '--symbol [^ ]+' | awk '{print $2}')
|
|
57
|
-
PREFER=$(echo "$ARGUMENTS" | grep -oE -- '--prefer [^ ]+' | awk '{print $2}')
|
|
58
|
-
OUTPUT_PATH=$(echo "$ARGUMENTS" | grep -oE -- '--output [^ ]+' | awk '{print $2}')
|
|
59
|
-
|
|
60
|
-
[ -z "$OUTPUT_PATH" ] && OUTPUT_PATH=".planning/SEAM-ANALYSIS.md"
|
|
61
|
-
[ -z "$PREFER" ] && PREFER="object"
|
|
62
|
-
|
|
63
|
-
if [ -z "$TARGET_FILE" ]; then
|
|
64
|
-
echo "ERROR: target_file é obrigatório."
|
|
65
|
-
echo "Uso: /encontrar-seams <target_file> [opções]"
|
|
66
|
-
exit 1
|
|
67
|
-
fi
|
|
68
|
-
|
|
69
|
-
if [ ! -f "$TARGET_FILE" ]; then
|
|
70
|
-
echo "ERROR: arquivo não encontrado: $TARGET_FILE"
|
|
71
|
-
exit 1
|
|
72
|
-
fi
|
|
73
|
-
|
|
74
|
-
mkdir -p "$(dirname "$OUTPUT_PATH")"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## 2. Dispatch para `seam-finder`
|
|
78
|
-
|
|
79
|
-
```text
|
|
80
|
-
Task(
|
|
81
|
-
subagent_type="seam-finder",
|
|
82
|
-
prompt="
|
|
83
|
-
target_file: ${TARGET_FILE}
|
|
84
|
-
${SYMBOL:+target_symbol: ${SYMBOL}}
|
|
85
|
-
output_path: ${OUTPUT_PATH}
|
|
86
|
-
prefer_technique: ${PREFER}
|
|
87
|
-
|
|
88
|
-
Aplicar skill legacy-seams-and-test-harness. Etapas:
|
|
89
|
-
1. Detectar linguagem + paradigma (OO vs procedural)
|
|
90
|
-
2. Mapear deps externas (network/DB/FS/clock/random/UUID/global/framework-type/construtor-caro)
|
|
91
|
-
3. Identificar tipos de seam disponíveis (object/link/preprocessing)
|
|
92
|
-
4. Aplicar decision tree do cap 25 escolhendo técnica de menor custo + maior reversibilidade
|
|
93
|
-
5. Gerar SEAM-ANALYSIS.md com:
|
|
94
|
-
- tabela de deps bloqueantes
|
|
95
|
-
- técnica recomendada por dep com custo + reversibilidade
|
|
96
|
-
- exemplo ANTES/DEPOIS por técnica
|
|
97
|
-
- sequência canônica de commits (mais seguro → mais arriscado)
|
|
98
|
-
6. Output curto para caller: lista de N deps + custo total estimado
|
|
99
|
-
"
|
|
100
|
-
)
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## 3. Pós-output: integração com fluxo
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
═══════════════════════════════════════════════════════════
|
|
107
|
-
framework ► ENCONTRAR-SEAMS ▸ ${OUTPUT_PATH}
|
|
108
|
-
═══════════════════════════════════════════════════════════
|
|
109
|
-
|
|
110
|
-
[output do seam-finder]
|
|
111
|
-
|
|
112
|
-
## Próximos passos
|
|
113
|
-
|
|
114
|
-
1. **Aplicar técnicas** — seguir sequência canônica em ${OUTPUT_PATH}
|
|
115
|
-
Cada commit é single-goal, mecânico, revertível
|
|
116
|
-
2. **Rodar suite após cada commit** — compilação verde + tests verdes
|
|
117
|
-
3. **/caracterizar <file>** — após break-deps complete, characterization fica viável
|
|
118
|
-
4. **/auditar-refactor <file>** — gate deve retornar GO ou WARN agora (não mais BLOCK)
|
|
119
|
-
|
|
120
|
-
## Cross-suite
|
|
121
|
-
|
|
122
|
-
- Em projetos Supabase com Edge Functions: `supabase-edge-fn-writer` (v1.8) já segue patterns testáveis
|
|
123
|
-
- Para skills de SOLID/DI: ver também `supabase-architect` (v1.8) — schema design considera testabilidade similarmente
|
|
124
|
-
- Para mudança em código que afeta SLOs: `/instrumentar-fase` (v1.9) durante refactor preserva visibility
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
</process>
|
|
128
|
-
|
|
129
|
-
<success_criteria>
|
|
130
|
-
- [ ] $ARGUMENTS parseados (target_file obrigatório)
|
|
131
|
-
- [ ] `seam-finder` invocado via `Task(subagent_type=...)` com prompt completo (6 etapas)
|
|
132
|
-
- [ ] `.planning/SEAM-ANALYSIS.md` criado pelo agent com deps + técnicas + sequência de commits
|
|
133
|
-
- [ ] Output forwarded transparentemente do agent
|
|
134
|
-
- [ ] Próximos passos sugeridos: aplicar técnicas, rodar suite, /caracterizar, /auditar-refactor
|
|
135
|
-
- [ ] Cross-references com Suíte Supabase (v1.8) e Observabilidade (v1.9) onde aplicável
|
|
136
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: encontrar-seams
|
|
3
|
+
description: Invoca seam-finder — analisa código para identificar seams (object/link/preprocessing) e recomenda técnica do cap 25 Feathers para quebrar dependências bloqueantes.
|
|
4
|
+
argument-hint: "<target_file> [--symbol <name>] [--prefer object|link|preprocessing] [--output PATH]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
- Task
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Analisar código alvo para identificar **seams** (lugares onde se pode alterar comportamento sem editar lá) e recomendar **técnica do catálogo cap 25 Feathers** para quebrar dependências bloqueantes (DB real, HTTP, framework objects, singletons, clocks). Invoca o agente [`seam-finder`](../agents/seam-finder.md) que aplica a skill [`legacy-seams-and-test-harness`](../skills/legacy-seams-and-test-harness/SKILL.md) — decision tree por linguagem, prioridade pelo MENOR custo + MAIOR reversibilidade.
|
|
16
|
+
|
|
17
|
+
**Cria/Atualiza:**
|
|
18
|
+
- `.planning/SEAM-ANALYSIS.md` — relatório com deps bloqueantes, técnicas recomendadas, sequência canônica de commits
|
|
19
|
+
|
|
20
|
+
**Após:** o user tem plano mecânico para tornar código testável antes de invocar `/caracterizar`. Tipicamente 5-30 minutos por dep bloqueante; sequência de pequenos commits revertíveis.
|
|
21
|
+
</objective>
|
|
22
|
+
|
|
23
|
+
<context>
|
|
24
|
+
**Argumentos:**
|
|
25
|
+
- `<target_file>` — caminho do arquivo a analisar (relativo ao project root) — OBRIGATÓRIO
|
|
26
|
+
- `--symbol <name>` — analisar apenas símbolo específico (default: arquivo inteiro)
|
|
27
|
+
- `--prefer object|link|preprocessing` — preferência de tipo de seam (default: object)
|
|
28
|
+
- `--output PATH` — caminho do output (default: `.planning/SEAM-ANALYSIS.md`)
|
|
29
|
+
|
|
30
|
+
**Exemplos:**
|
|
31
|
+
```
|
|
32
|
+
/encontrar-seams src/orders/OrderService.ts # análise completa
|
|
33
|
+
/encontrar-seams src/orders/OrderService.ts --symbol charge # método específico
|
|
34
|
+
/encontrar-seams src/legacy/Client.cpp --prefer link # forçar link seam (C++ legado)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Quando este comando é o caminho certo:**
|
|
38
|
+
- `/caracterizar` falhou porque deps externas impedem isolamento
|
|
39
|
+
- Construtor faz I/O direto (cria conexão DB no constructor)
|
|
40
|
+
- Usar singleton/global hardcoded no método a testar
|
|
41
|
+
- Framework type complexo (HttpServletRequest, Express.Request) bloqueando teste
|
|
42
|
+
- Código procedural (C, COBOL, Go) onde polimorfismo não está disponível
|
|
43
|
+
|
|
44
|
+
**Quando NÃO é o caminho:**
|
|
45
|
+
- Código já é testável (deps injetadas via DI) → usar `/caracterizar` direto
|
|
46
|
+
- Código é puro (sem I/O) → não precisa break-dep
|
|
47
|
+
- Mudança é safe-extraction (rename, IDE-extract) → usar `/refactor-seguro --mode=safe-extract`
|
|
48
|
+
</context>
|
|
49
|
+
|
|
50
|
+
<process>
|
|
51
|
+
|
|
52
|
+
## 1. Parsear argumentos
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
TARGET_FILE=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
56
|
+
SYMBOL=$(echo "$ARGUMENTS" | grep -oE -- '--symbol [^ ]+' | awk '{print $2}')
|
|
57
|
+
PREFER=$(echo "$ARGUMENTS" | grep -oE -- '--prefer [^ ]+' | awk '{print $2}')
|
|
58
|
+
OUTPUT_PATH=$(echo "$ARGUMENTS" | grep -oE -- '--output [^ ]+' | awk '{print $2}')
|
|
59
|
+
|
|
60
|
+
[ -z "$OUTPUT_PATH" ] && OUTPUT_PATH=".planning/SEAM-ANALYSIS.md"
|
|
61
|
+
[ -z "$PREFER" ] && PREFER="object"
|
|
62
|
+
|
|
63
|
+
if [ -z "$TARGET_FILE" ]; then
|
|
64
|
+
echo "ERROR: target_file é obrigatório."
|
|
65
|
+
echo "Uso: /encontrar-seams <target_file> [opções]"
|
|
66
|
+
exit 1
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
if [ ! -f "$TARGET_FILE" ]; then
|
|
70
|
+
echo "ERROR: arquivo não encontrado: $TARGET_FILE"
|
|
71
|
+
exit 1
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
mkdir -p "$(dirname "$OUTPUT_PATH")"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 2. Dispatch para `seam-finder`
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
Task(
|
|
81
|
+
subagent_type="seam-finder",
|
|
82
|
+
prompt="
|
|
83
|
+
target_file: ${TARGET_FILE}
|
|
84
|
+
${SYMBOL:+target_symbol: ${SYMBOL}}
|
|
85
|
+
output_path: ${OUTPUT_PATH}
|
|
86
|
+
prefer_technique: ${PREFER}
|
|
87
|
+
|
|
88
|
+
Aplicar skill legacy-seams-and-test-harness. Etapas:
|
|
89
|
+
1. Detectar linguagem + paradigma (OO vs procedural)
|
|
90
|
+
2. Mapear deps externas (network/DB/FS/clock/random/UUID/global/framework-type/construtor-caro)
|
|
91
|
+
3. Identificar tipos de seam disponíveis (object/link/preprocessing)
|
|
92
|
+
4. Aplicar decision tree do cap 25 escolhendo técnica de menor custo + maior reversibilidade
|
|
93
|
+
5. Gerar SEAM-ANALYSIS.md com:
|
|
94
|
+
- tabela de deps bloqueantes
|
|
95
|
+
- técnica recomendada por dep com custo + reversibilidade
|
|
96
|
+
- exemplo ANTES/DEPOIS por técnica
|
|
97
|
+
- sequência canônica de commits (mais seguro → mais arriscado)
|
|
98
|
+
6. Output curto para caller: lista de N deps + custo total estimado
|
|
99
|
+
"
|
|
100
|
+
)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 3. Pós-output: integração com fluxo
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
═══════════════════════════════════════════════════════════
|
|
107
|
+
framework ► ENCONTRAR-SEAMS ▸ ${OUTPUT_PATH}
|
|
108
|
+
═══════════════════════════════════════════════════════════
|
|
109
|
+
|
|
110
|
+
[output do seam-finder]
|
|
111
|
+
|
|
112
|
+
## Próximos passos
|
|
113
|
+
|
|
114
|
+
1. **Aplicar técnicas** — seguir sequência canônica em ${OUTPUT_PATH}
|
|
115
|
+
Cada commit é single-goal, mecânico, revertível
|
|
116
|
+
2. **Rodar suite após cada commit** — compilação verde + tests verdes
|
|
117
|
+
3. **/caracterizar <file>** — após break-deps complete, characterization fica viável
|
|
118
|
+
4. **/auditar-refactor <file>** — gate deve retornar GO ou WARN agora (não mais BLOCK)
|
|
119
|
+
|
|
120
|
+
## Cross-suite
|
|
121
|
+
|
|
122
|
+
- Em projetos Supabase com Edge Functions: `supabase-edge-fn-writer` (v1.8) já segue patterns testáveis
|
|
123
|
+
- Para skills de SOLID/DI: ver também `supabase-architect` (v1.8) — schema design considera testabilidade similarmente
|
|
124
|
+
- Para mudança em código que afeta SLOs: `/instrumentar-fase` (v1.9) durante refactor preserva visibility
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
</process>
|
|
128
|
+
|
|
129
|
+
<success_criteria>
|
|
130
|
+
- [ ] $ARGUMENTS parseados (target_file obrigatório)
|
|
131
|
+
- [ ] `seam-finder` invocado via `Task(subagent_type=...)` com prompt completo (6 etapas)
|
|
132
|
+
- [ ] `.planning/SEAM-ANALYSIS.md` criado pelo agent com deps + técnicas + sequência de commits
|
|
133
|
+
- [ ] Output forwarded transparentemente do agent
|
|
134
|
+
- [ ] Próximos passos sugeridos: aplicar técnicas, rodar suite, /caracterizar, /auditar-refactor
|
|
135
|
+
- [ ] Cross-references com Suíte Supabase (v1.8) e Observabilidade (v1.9) onde aplicável
|
|
136
|
+
</success_criteria>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: entrar-discord
|
|
3
|
-
description: Entrar na comunidade framework no Discord
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Exibir o link de convite para o servidor da comunidade framework no Discord.
|
|
8
|
-
</objective>
|
|
9
|
-
|
|
10
|
-
<output>
|
|
11
|
-
# Entre no Discord do framework
|
|
12
|
-
|
|
13
|
-
Conecte-se com outros usuários do framework, obtenha ajuda, compartilhe o que está criando e fique atualizado.
|
|
14
|
-
|
|
15
|
-
**Link de convite:** https://discord.gg/framework
|
|
16
|
-
|
|
17
|
-
Clique no link ou cole-o no seu navegador para entrar.
|
|
1
|
+
---
|
|
2
|
+
name: entrar-discord
|
|
3
|
+
description: Entrar na comunidade framework no Discord
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Exibir o link de convite para o servidor da comunidade framework no Discord.
|
|
8
|
+
</objective>
|
|
9
|
+
|
|
10
|
+
<output>
|
|
11
|
+
# Entre no Discord do framework
|
|
12
|
+
|
|
13
|
+
Conecte-se com outros usuários do framework, obtenha ajuda, compartilhe o que está criando e fique atualizado.
|
|
14
|
+
|
|
15
|
+
**Link de convite:** https://discord.gg/framework
|
|
16
|
+
|
|
17
|
+
Clique no link ou cole-o no seu navegador para entrar.
|
|
18
18
|
</output>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: estatisticas
|
|
3
|
-
description: Exibe estatísticas do projeto — fases, planos, requisitos, métricas git e linha do tempo
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- Read
|
|
6
|
-
- Bash
|
|
7
|
-
---
|
|
8
|
-
<objective>
|
|
9
|
-
Exibe estatísticas abrangentes do projeto incluindo progresso de fases, métricas de execução de planos, conclusão de requisitos, estatísticas de histórico git e linha do tempo do projeto.
|
|
10
|
-
</objective>
|
|
11
|
-
|
|
12
|
-
<execution_context>
|
|
13
|
-
@./.claude/framework/workflows/stats.md
|
|
14
|
-
</execution_context>
|
|
15
|
-
|
|
16
|
-
<process>
|
|
17
|
-
Execute o workflow stats de @./.claude/framework/workflows/stats.md do início ao fim.
|
|
18
|
-
</process>
|
|
1
|
+
---
|
|
2
|
+
name: estatisticas
|
|
3
|
+
description: Exibe estatísticas do projeto — fases, planos, requisitos, métricas git e linha do tempo
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
---
|
|
8
|
+
<objective>
|
|
9
|
+
Exibe estatísticas abrangentes do projeto incluindo progresso de fases, métricas de execução de planos, conclusão de requisitos, estatísticas de histórico git e linha do tempo do projeto.
|
|
10
|
+
</objective>
|
|
11
|
+
|
|
12
|
+
<execution_context>
|
|
13
|
+
@./.claude/framework/workflows/stats.md
|
|
14
|
+
</execution_context>
|
|
15
|
+
|
|
16
|
+
<process>
|
|
17
|
+
Execute o workflow stats de @./.claude/framework/workflows/stats.md do início ao fim.
|
|
18
|
+
</process>
|