@luanpdd/kit-mcp 1.33.0 → 1.35.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 +84 -84
- package/kit/COMANDOS.md +138 -138
- package/kit/COMPATIBILITY.md +70 -70
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +109 -109
- package/kit/agents/ai-mutation-tester.md +289 -289
- package/kit/agents/assumptions-analyzer.md +110 -110
- package/kit/agents/audit-log-implementer.md +314 -314
- package/kit/agents/auditor-consistencia-isolamento.md +414 -414
- package/kit/agents/b2b-saas-architect.md +157 -157
- package/kit/agents/burn-rate-forecaster.md +153 -153
- package/kit/agents/cascading-failures-auditor.md +299 -299
- package/kit/agents/codebase-mapper.md +769 -769
- package/kit/agents/crm-pipeline-implementer.md +257 -257
- package/kit/agents/debugger.md +814 -814
- package/kit/agents/designer-ui.md +216 -216
- package/kit/agents/detector-tenant-quente.md +338 -338
- package/kit/agents/evolution-go-integrator.md +201 -201
- package/kit/agents/example-reviewer.md +22 -22
- package/kit/agents/executor.md +565 -565
- package/kit/agents/golden-signals-instrumenter.md +232 -232
- package/kit/agents/incident-investigator.md +238 -238
- package/kit/agents/integration-checker.md +203 -203
- package/kit/agents/invite-flow-implementer.md +190 -190
- package/kit/agents/legacy-characterizer.md +369 -369
- package/kit/agents/lgpd-compliance-auditor.md +296 -296
- package/kit/agents/load-shedding-instrumenter.md +290 -290
- package/kit/agents/multi-tenant-isolation-auditor.md +254 -254
- package/kit/agents/multi-tenant-rls-writer.md +341 -341
- package/kit/agents/nyquist-auditor.md +181 -181
- package/kit/agents/observability-coverage-auditor.md +316 -316
- package/kit/agents/observability-instrumenter.md +191 -191
- package/kit/agents/omm-auditor.md +291 -291
- package/kit/agents/org-onboarding-implementer.md +224 -224
- package/kit/agents/payload-capture-instrumenter.md +274 -274
- package/kit/agents/phase-researcher.md +697 -697
- package/kit/agents/plan-checker.md +275 -275
- package/kit/agents/planner.md +923 -923
- package/kit/agents/postmortem-writer.md +273 -273
- package/kit/agents/project-researcher.md +653 -653
- package/kit/agents/prr-conductor.md +287 -287
- package/kit/agents/refactor-safety-auditor.md +405 -405
- package/kit/agents/release-pipeline-auditor.md +364 -364
- package/kit/agents/research-synthesizer.md +246 -246
- package/kit/agents/roadmapper.md +678 -678
- package/kit/agents/schema-checker.md +160 -160
- package/kit/agents/seam-finder.md +360 -360
- package/kit/agents/shotgun-surgery-detector.md +350 -350
- package/kit/agents/slo-engineer.md +217 -217
- package/kit/agents/storytelling-analyst.md +300 -300
- package/kit/agents/supabase-architect.md +249 -249
- package/kit/agents/supabase-auth-bootstrapper.md +400 -400
- package/kit/agents/supabase-auth-hook-writer.md +418 -418
- package/kit/agents/supabase-branching-architect.md +563 -563
- package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -778
- package/kit/agents/supabase-column-privileges-writer.md +400 -400
- package/kit/agents/supabase-edge-fn-tester.md +288 -288
- package/kit/agents/supabase-edge-fn-writer.md +341 -341
- package/kit/agents/supabase-mfa-implementer.md +439 -439
- package/kit/agents/supabase-migration-writer.md +386 -386
- package/kit/agents/supabase-oauth-server-implementer.md +507 -507
- package/kit/agents/supabase-rbac-implementer.md +393 -393
- package/kit/agents/supabase-realtime-implementer.md +364 -364
- package/kit/agents/supabase-rls-hardener.md +522 -522
- package/kit/agents/supabase-rls-writer.md +324 -324
- package/kit/agents/supabase-roles-implementer.md +356 -356
- package/kit/agents/supabase-social-auth-implementer.md +451 -451
- package/kit/agents/supabase-sso-saml-architect.md +549 -549
- package/kit/agents/supabase-storage-implementer.md +407 -407
- package/kit/agents/super-admin-implementer.md +282 -282
- package/kit/agents/toil-auditor.md +268 -268
- package/kit/agents/ui-auditor.md +438 -438
- package/kit/agents/ui-checker.md +305 -305
- package/kit/agents/ui-researcher.md +356 -356
- package/kit/agents/user-profiler.md +176 -176
- package/kit/agents/validador-evolucao-schema.md +336 -336
- package/kit/agents/verifier.md +729 -729
- package/kit/agents/workflow-generator.md +167 -0
- 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-workflow.md +121 -0
- 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/criar-workflow.md +158 -0
- 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 +238 -238
- 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 +424 -419
- 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/kit-attribution-reminder.cjs +92 -92
- package/kit/hooks/kit-router.cjs +137 -137
- 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/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/dynamic-workflow-authoring/SKILL.md +223 -0
- 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-auth-hardening/SKILL.md +674 -674
- package/kit/skills/supabase-auth-hooks/SKILL.md +875 -875
- package/kit/skills/supabase-auth-methods/SKILL.md +486 -486
- package/kit/skills/supabase-auth-sessions/SKILL.md +579 -579
- package/kit/skills/supabase-auth-ssr/SKILL.md +306 -306
- 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 +330 -330
- package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -309
- package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -302
- package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -279
- package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -277
- package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -357
- package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -545
- package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -399
- package/kit/skills/supabase-mfa/SKILL.md +488 -488
- package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
- package/kit/skills/supabase-migrations/SKILL.md +297 -297
- package/kit/skills/supabase-oauth-server/SKILL.md +537 -537
- 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 -460
- 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/supabase-social-oauth/SKILL.md +480 -480
- package/kit/skills/supabase-third-party-auth/SKILL.md +450 -450
- package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
- package/kit/skills/ui-anti-padroes-ia/SKILL.md +261 -261
- package/kit/skills/ui-contexto-produto/SKILL.md +248 -248
- package/kit/skills/ui-cor-estrategia/SKILL.md +213 -213
- package/kit/skills/ui-critica-auditoria/SKILL.md +260 -260
- package/kit/skills/ui-motion-funcional/SKILL.md +264 -264
- package/kit/skills/ui-ritmo-espacial/SKILL.md +259 -259
- package/kit/skills/ui-tipografia/SKILL.md +211 -211
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
- package/kit/workflows/auditar-observabilidade-cobertura.workflow.js +250 -0
- package/package.json +65 -63
- package/src/core/kit.js +333 -216
- package/src/core/reflect.js +247 -247
- package/src/core/registry.js +123 -112
- package/src/core/reverse-sync.js +448 -372
- package/src/core/sync.js +477 -437
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +794 -794
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
# /setup-notion — Inicializar Documentação Notion para um Projeto
|
|
2
|
-
|
|
3
|
-
Cria a estrutura de páginas Notion para um novo projeto sob a página raiz do seu workspace e gera o `.claude/notion-config.json` local.
|
|
4
|
-
|
|
5
|
-
## Quando usar
|
|
6
|
-
|
|
7
|
-
Ao iniciar um novo projeto framework que ainda não tem página no Notion.
|
|
8
|
-
Execute uma vez por projeto — depois use `/publicar` normalmente.
|
|
9
|
-
|
|
10
|
-
## Processo
|
|
11
|
-
|
|
12
|
-
### Passo 1 — Ler contexto do projeto
|
|
13
|
-
|
|
14
|
-
Leia `.planning/PROJECT.md` para obter:
|
|
15
|
-
- Nome do projeto
|
|
16
|
-
- Stack
|
|
17
|
-
- Descrição em 1 frase
|
|
18
|
-
|
|
19
|
-
### Passo 2 — Criar páginas no Notion
|
|
20
|
-
|
|
21
|
-
Use o Notion MCP (`notion-create-pages`) com `parent.page_id = "{NOTION_PARENT_PAGE_ID}"`, onde `NOTION_PARENT_PAGE_ID` é o ID da página raiz do seu workspace de documentação (configure via env var `KIT_NOTION_PARENT_PAGE_ID` ou substitua diretamente).
|
|
22
|
-
|
|
23
|
-
Crie a página raiz do projeto com ícone 📋 e este conteúdo:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
[Callout azul] {NOME_PROJETO} — {DESCRICAO_1_FRASE}
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Stack
|
|
31
|
-
[Tabela com camadas e tecnologias do PROJECT.md]
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Estrutura da Documentação
|
|
36
|
-
- changelog/ — Uma entrada por milestone
|
|
37
|
-
- features/ — O que cada feature faz
|
|
38
|
-
- adr/ — Decisões arquiteturais
|
|
39
|
-
- runbooks/ — Procedimentos operacionais
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Versões Lançadas
|
|
44
|
-
[Tabela vazia: Versão | Nome | Data | Status]
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Depois crie as 4 subpáginas sob a página raiz criada:
|
|
48
|
-
- 📅 `changelog/` — com tabela de índice vazia
|
|
49
|
-
- 📄 `features/` — com tabela de índice vazia
|
|
50
|
-
- 🏛️ `adr/` — com tabela de índice vazia
|
|
51
|
-
- 📖 `runbooks/` — com tabela de índice vazia
|
|
52
|
-
|
|
53
|
-
### Passo 3 — Gerar notion-config.json
|
|
54
|
-
|
|
55
|
-
Com os IDs retornados pelo Notion MCP, crie `.claude/notion-config.json`:
|
|
56
|
-
|
|
57
|
-
```json
|
|
58
|
-
{
|
|
59
|
-
"project": "{NOME_PROJETO}",
|
|
60
|
-
"notion": {
|
|
61
|
-
"root": "{ID_ROOT}",
|
|
62
|
-
"root_url": "{URL_ROOT}",
|
|
63
|
-
"changelog": "{ID_CHANGELOG}",
|
|
64
|
-
"features": "{ID_FEATURES}",
|
|
65
|
-
"adr": "{ID_ADR}",
|
|
66
|
-
"runbooks": "{ID_RUNBOOKS}"
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Passo 4 — Reportar resultado
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
✅ Notion configurado para {NOME_PROJETO}
|
|
75
|
-
|
|
76
|
-
📋 Página principal: {URL_ROOT}
|
|
77
|
-
📅 changelog/: {URL_CHANGELOG}
|
|
78
|
-
📄 features/: {URL_FEATURES}
|
|
79
|
-
🏛️ adr/: {URL_ADR}
|
|
80
|
-
📖 runbooks/: {URL_RUNBOOKS}
|
|
81
|
-
|
|
82
|
-
Arquivo criado: .claude/notion-config.json
|
|
83
|
-
Próximo passo: use /publicar ao concluir o próximo milestone.
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Configuração da página raiz do Notion
|
|
87
|
-
|
|
88
|
-
Defina o ID da página raiz onde os projetos serão criados (uma página "guarda-chuva" no seu workspace Notion):
|
|
89
|
-
|
|
90
|
-
- Via env var: `export KIT_NOTION_PARENT_PAGE_ID="<ID_DA_PAGINA>"`
|
|
91
|
-
- Ou substitua `{NOTION_PARENT_PAGE_ID}` no Passo 2 pelo ID literal antes de executar.
|
|
92
|
-
|
|
93
|
-
Para obter o ID: abra a página no Notion → Share → Copy link → o ID é o hash de 32 caracteres no final da URL.
|
|
1
|
+
# /setup-notion — Inicializar Documentação Notion para um Projeto
|
|
2
|
+
|
|
3
|
+
Cria a estrutura de páginas Notion para um novo projeto sob a página raiz do seu workspace e gera o `.claude/notion-config.json` local.
|
|
4
|
+
|
|
5
|
+
## Quando usar
|
|
6
|
+
|
|
7
|
+
Ao iniciar um novo projeto framework que ainda não tem página no Notion.
|
|
8
|
+
Execute uma vez por projeto — depois use `/publicar` normalmente.
|
|
9
|
+
|
|
10
|
+
## Processo
|
|
11
|
+
|
|
12
|
+
### Passo 1 — Ler contexto do projeto
|
|
13
|
+
|
|
14
|
+
Leia `.planning/PROJECT.md` para obter:
|
|
15
|
+
- Nome do projeto
|
|
16
|
+
- Stack
|
|
17
|
+
- Descrição em 1 frase
|
|
18
|
+
|
|
19
|
+
### Passo 2 — Criar páginas no Notion
|
|
20
|
+
|
|
21
|
+
Use o Notion MCP (`notion-create-pages`) com `parent.page_id = "{NOTION_PARENT_PAGE_ID}"`, onde `NOTION_PARENT_PAGE_ID` é o ID da página raiz do seu workspace de documentação (configure via env var `KIT_NOTION_PARENT_PAGE_ID` ou substitua diretamente).
|
|
22
|
+
|
|
23
|
+
Crie a página raiz do projeto com ícone 📋 e este conteúdo:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
[Callout azul] {NOME_PROJETO} — {DESCRICAO_1_FRASE}
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Stack
|
|
31
|
+
[Tabela com camadas e tecnologias do PROJECT.md]
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Estrutura da Documentação
|
|
36
|
+
- changelog/ — Uma entrada por milestone
|
|
37
|
+
- features/ — O que cada feature faz
|
|
38
|
+
- adr/ — Decisões arquiteturais
|
|
39
|
+
- runbooks/ — Procedimentos operacionais
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Versões Lançadas
|
|
44
|
+
[Tabela vazia: Versão | Nome | Data | Status]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Depois crie as 4 subpáginas sob a página raiz criada:
|
|
48
|
+
- 📅 `changelog/` — com tabela de índice vazia
|
|
49
|
+
- 📄 `features/` — com tabela de índice vazia
|
|
50
|
+
- 🏛️ `adr/` — com tabela de índice vazia
|
|
51
|
+
- 📖 `runbooks/` — com tabela de índice vazia
|
|
52
|
+
|
|
53
|
+
### Passo 3 — Gerar notion-config.json
|
|
54
|
+
|
|
55
|
+
Com os IDs retornados pelo Notion MCP, crie `.claude/notion-config.json`:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"project": "{NOME_PROJETO}",
|
|
60
|
+
"notion": {
|
|
61
|
+
"root": "{ID_ROOT}",
|
|
62
|
+
"root_url": "{URL_ROOT}",
|
|
63
|
+
"changelog": "{ID_CHANGELOG}",
|
|
64
|
+
"features": "{ID_FEATURES}",
|
|
65
|
+
"adr": "{ID_ADR}",
|
|
66
|
+
"runbooks": "{ID_RUNBOOKS}"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Passo 4 — Reportar resultado
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
✅ Notion configurado para {NOME_PROJETO}
|
|
75
|
+
|
|
76
|
+
📋 Página principal: {URL_ROOT}
|
|
77
|
+
📅 changelog/: {URL_CHANGELOG}
|
|
78
|
+
📄 features/: {URL_FEATURES}
|
|
79
|
+
🏛️ adr/: {URL_ADR}
|
|
80
|
+
📖 runbooks/: {URL_RUNBOOKS}
|
|
81
|
+
|
|
82
|
+
Arquivo criado: .claude/notion-config.json
|
|
83
|
+
Próximo passo: use /publicar ao concluir o próximo milestone.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Configuração da página raiz do Notion
|
|
87
|
+
|
|
88
|
+
Defina o ID da página raiz onde os projetos serão criados (uma página "guarda-chuva" no seu workspace Notion):
|
|
89
|
+
|
|
90
|
+
- Via env var: `export KIT_NOTION_PARENT_PAGE_ID="<ID_DA_PAGINA>"`
|
|
91
|
+
- Ou substitua `{NOTION_PARENT_PAGE_ID}` no Passo 2 pelo ID literal antes de executar.
|
|
92
|
+
|
|
93
|
+
Para obter o ID: abra a página no Notion → Share → Copy link → o ID é o hash de 32 caracteres no final da URL.
|
|
@@ -1,179 +1,179 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: storytelling
|
|
3
|
-
description: Invoca storytelling-analyst — IA gera mental model de codebase desconhecido (story 5 frases + inventário + naked CRC + responsibility hot spots + extract candidates).
|
|
4
|
-
argument-hint: "<target_dir_or_file> [--depth deep|shallow] [--include-tests] [--output PATH]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Bash
|
|
8
|
-
- Grep
|
|
9
|
-
- Glob
|
|
10
|
-
- Task
|
|
11
|
-
- Write
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
<objective>
|
|
15
|
-
Gerar **mental model de codebase desconhecido** via IA — story em 5 frases + inventário de classes/funções + naked CRC sketch + responsibility hot spots + extract candidates priorizados. Invoca o agente [`storytelling-analyst`](../agents/storytelling-analyst.md) que aplica a skill [`legacy-storytelling-naked-crc`](../skills/legacy-storytelling-naked-crc/SKILL.md) — caps 16-17 do livro Feathers + modernização IA primeiro draft.
|
|
16
|
-
|
|
17
|
-
**Cria/Atualiza:**
|
|
18
|
-
- `.planning/storytelling/<module-slug>.md` — relatório com story + inventário + CRC + hot spots
|
|
19
|
-
|
|
20
|
-
**Após:** o user reduz tempo de comprehension de codebase desconhecido de 4-8h (leitura cega manual) para 30 min (revisão informada de IA primeiro draft). Pré-requisito recomendado para `/encontrar-seams` ou `/refactor-seguro` em código novo.
|
|
21
|
-
</objective>
|
|
22
|
-
|
|
23
|
-
<context>
|
|
24
|
-
**Argumentos:**
|
|
25
|
-
- `<target_dir_or_file>` — diretório ou arquivo a analisar — OBRIGATÓRIO
|
|
26
|
-
- `--depth deep|shallow` — `shallow` = só story + inventário; `deep` = + CRC + hot spots + extract candidates (default: deep)
|
|
27
|
-
- `--include-tests` — incluir tests no scope (default: false; distinção comportamento prod vs harness)
|
|
28
|
-
- `--max-lines N` — limite de leitura (default: 1500; agent quebra em chunks se maior)
|
|
29
|
-
- `--output PATH` — caminho do output (default: `.planning/storytelling/<slug>.md`)
|
|
30
|
-
|
|
31
|
-
**Exemplos:**
|
|
32
|
-
```
|
|
33
|
-
/storytelling src/orders/ # diretório completo
|
|
34
|
-
/storytelling src/orders/OrderService.ts # arquivo específico
|
|
35
|
-
/storytelling src/orders/ --depth=shallow # rápido — só story + inventário
|
|
36
|
-
/storytelling src/orders/ --include-tests # incluir tests no scope
|
|
37
|
-
/storytelling supabase/functions/process-payments/ # Edge Function module
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**Quando este comando é o caminho:**
|
|
41
|
-
- Você herdou módulo desconhecido (onboarding, transferência, post-acquisition)
|
|
42
|
-
- Vai modificar código que não conhece
|
|
43
|
-
- Pré-requisito de `/encontrar-seams` ou `/refactor-seguro`
|
|
44
|
-
- Precisa identificar candidates de extract class antes de planejar refactor
|
|
45
|
-
- Code review onde reviewer não conhece o módulo
|
|
46
|
-
|
|
47
|
-
**Quando NÃO é o caminho:**
|
|
48
|
-
- Codebase < 200 linhas — leitura direta é mais rápida
|
|
49
|
-
- Você já trabalhou no módulo nas últimas 2 semanas — mental model fresco
|
|
50
|
-
- Mudança trivial (typo, comment) — overhead > valor
|
|
51
|
-
</context>
|
|
52
|
-
|
|
53
|
-
<process>
|
|
54
|
-
|
|
55
|
-
## 1. Parsear argumentos
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
TARGET=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
59
|
-
DEPTH=$(echo "$ARGUMENTS" | grep -oE -- '--depth[= ][^ ]+' | sed 's/--depth[= ]//')
|
|
60
|
-
MAX_LINES=$(echo "$ARGUMENTS" | grep -oE -- '--max-lines [0-9]+' | awk '{print $2}')
|
|
61
|
-
OUTPUT_PATH=$(echo "$ARGUMENTS" | grep -oE -- '--output [^ ]+' | awk '{print $2}')
|
|
62
|
-
INCLUDE_TESTS=false
|
|
63
|
-
echo "$ARGUMENTS" | grep -qE -- '--include-tests' && INCLUDE_TESTS=true
|
|
64
|
-
|
|
65
|
-
[ -z "$DEPTH" ] && DEPTH="deep"
|
|
66
|
-
[ -z "$MAX_LINES" ] && MAX_LINES=1500
|
|
67
|
-
|
|
68
|
-
if [ -z "$TARGET" ]; then
|
|
69
|
-
echo "ERROR: target obrigatório (arquivo ou diretório)"
|
|
70
|
-
exit 1
|
|
71
|
-
fi
|
|
72
|
-
|
|
73
|
-
if [ ! -e "$TARGET" ]; then
|
|
74
|
-
echo "ERROR: target não encontrado: $TARGET"
|
|
75
|
-
exit 1
|
|
76
|
-
fi
|
|
77
|
-
|
|
78
|
-
# auto-output path
|
|
79
|
-
if [ -z "$OUTPUT_PATH" ]; then
|
|
80
|
-
SLUG=$(basename "$(realpath "$TARGET")" | sed 's/[^a-zA-Z0-9]/-/g')
|
|
81
|
-
OUTPUT_PATH=".planning/storytelling/${SLUG}.md"
|
|
82
|
-
fi
|
|
83
|
-
|
|
84
|
-
mkdir -p "$(dirname "$OUTPUT_PATH")"
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## 2. Detectar tamanho
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
if [ -f "$TARGET" ]; then
|
|
91
|
-
TOTAL_LINES=$(wc -l < "$TARGET")
|
|
92
|
-
elif [ -d "$TARGET" ]; then
|
|
93
|
-
TOTAL_LINES=$(find "$TARGET" -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" -o -name "*.java" -o -name "*.go" \) ! -path "*node_modules*" -exec cat {} + 2>/dev/null | wc -l)
|
|
94
|
-
fi
|
|
95
|
-
|
|
96
|
-
if [ "$TOTAL_LINES" -gt "$MAX_LINES" ]; then
|
|
97
|
-
echo "ℹ Target tem $TOTAL_LINES linhas (> $MAX_LINES). Agent vai chunkar análise."
|
|
98
|
-
fi
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## 3. Dispatch para `storytelling-analyst`
|
|
102
|
-
|
|
103
|
-
```text
|
|
104
|
-
Task(
|
|
105
|
-
subagent_type="storytelling-analyst",
|
|
106
|
-
prompt="
|
|
107
|
-
target: ${TARGET}
|
|
108
|
-
depth: ${DEPTH}
|
|
109
|
-
output_path: ${OUTPUT_PATH}
|
|
110
|
-
max_lines: ${MAX_LINES}
|
|
111
|
-
include_tests: ${INCLUDE_TESTS}
|
|
112
|
-
|
|
113
|
-
Aplicar skill legacy-storytelling-naked-crc. Etapas:
|
|
114
|
-
1. Inventário inicial (listar files + classes/funções top-level)
|
|
115
|
-
2. Leitura + síntese — produzir story em ≤ 5 frases
|
|
116
|
-
3. Inventário canônico (tabela com responsabilidade primária + cluster)
|
|
117
|
-
4. (depth=deep) Naked CRC sketch ASCII
|
|
118
|
-
5. (depth=deep) Responsibility hot spots — classes fazendo > 3 coisas distintas
|
|
119
|
-
6. (depth=deep) Abstrações ausentes (sugestões)
|
|
120
|
-
7. (depth=deep) Extract class candidates priorizados
|
|
121
|
-
8. Gotchas / surpresas
|
|
122
|
-
9. Próximas ações sugeridas (effect sketch, /caracterizar, /refactor-seguro)
|
|
123
|
-
10. Output: .planning/storytelling/<slug>.md
|
|
124
|
-
|
|
125
|
-
PRINCÍPIO: você É a IA primeiro draft. Não busque perfeição — busque utilidade. Seja honesto sobre incertezas.
|
|
126
|
-
"
|
|
127
|
-
)
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## 4. Pós-output
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
═══════════════════════════════════════════════════════════
|
|
134
|
-
framework ► STORYTELLING ▸ ${OUTPUT_PATH}
|
|
135
|
-
═══════════════════════════════════════════════════════════
|
|
136
|
-
|
|
137
|
-
[output do storytelling-analyst]
|
|
138
|
-
|
|
139
|
-
## ⚠ Validação obrigatória
|
|
140
|
-
|
|
141
|
-
Esta análise é PRIMEIRA PASSADA por IA. Erros possíveis:
|
|
142
|
-
- Relações alucinadas (LLM "viu" colaborador que não existe)
|
|
143
|
-
- Hot spots inflated (cluster coeso marcado como hot spot)
|
|
144
|
-
- Sugestões fora de escopo (extract candidate com 2-week effort marcado como 3h)
|
|
145
|
-
|
|
146
|
-
Cross-check OBRIGATÓRIO antes de basear decisões:
|
|
147
|
-
1. **Spot-check 3-5 funções aleatórias** contra inventário (existem? responsabilidade descrita está correta?)
|
|
148
|
-
2. **Confirmar colaboradores** existem (grep no codebase pelos nomes mencionados)
|
|
149
|
-
3. **Validar hot spots** contra leitura humana (são realmente "fazendo demais"?)
|
|
150
|
-
4. **Refinar story** se necessário; versão final em ${OUTPUT_PATH} é HUMANA, IA é primeiro draft
|
|
151
|
-
|
|
152
|
-
## Próximos passos
|
|
153
|
-
|
|
154
|
-
1. Validar story (5-15 min)
|
|
155
|
-
2. Se vai modificar: `/encontrar-seams ${TARGET}` (se arquivo) ou `/storytelling <sub-target>` (refinar para sub-módulo)
|
|
156
|
-
3. Se vai refactorar: `/refactor-seguro ${TARGET}` (chain canônico)
|
|
157
|
-
4. Se vai extrair: revisar extract candidates — `/legacy refactor` por candidate
|
|
158
|
-
5. Se há shotgun surgery em outros módulos relacionados: `/detectar-duplicacao src/`
|
|
159
|
-
|
|
160
|
-
## Cross-suite
|
|
161
|
-
|
|
162
|
-
- **/encontrar-seams** (v1.12) — story informa onde existem deps externas
|
|
163
|
-
- **/caracterizar** (v1.12) — story prioriza qual hot spot caracterizar primeiro
|
|
164
|
-
- **/refactor-seguro** (v1.12) — chain canônico após storytelling
|
|
165
|
-
- **/detectar-duplicacao** (v1.12) — shotgun across módulos relacionados
|
|
166
|
-
- **/mapear-codebase** (framework v1.7+) — comando análogo mais geral; storytelling complementa com narrativa
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
</process>
|
|
170
|
-
|
|
171
|
-
<success_criteria>
|
|
172
|
-
- [ ] $ARGUMENTS parseados (target obrigatório)
|
|
173
|
-
- [ ] Tamanho detectado e chunking ativado se necessário
|
|
174
|
-
- [ ] `storytelling-analyst` invocado via Task com depth resolvido
|
|
175
|
-
- [ ] Output forwarded transparentemente
|
|
176
|
-
- [ ] Warning de validação manual obrigatória emitido
|
|
177
|
-
- [ ] Próximos passos sugerem encontrar-seams, caracterizar, refactor-seguro
|
|
178
|
-
- [ ] Cross-references com /detectar-duplicacao, /mapear-codebase, /caracterizar
|
|
179
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: storytelling
|
|
3
|
+
description: Invoca storytelling-analyst — IA gera mental model de codebase desconhecido (story 5 frases + inventário + naked CRC + responsibility hot spots + extract candidates).
|
|
4
|
+
argument-hint: "<target_dir_or_file> [--depth deep|shallow] [--include-tests] [--output PATH]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Grep
|
|
9
|
+
- Glob
|
|
10
|
+
- Task
|
|
11
|
+
- Write
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Gerar **mental model de codebase desconhecido** via IA — story em 5 frases + inventário de classes/funções + naked CRC sketch + responsibility hot spots + extract candidates priorizados. Invoca o agente [`storytelling-analyst`](../agents/storytelling-analyst.md) que aplica a skill [`legacy-storytelling-naked-crc`](../skills/legacy-storytelling-naked-crc/SKILL.md) — caps 16-17 do livro Feathers + modernização IA primeiro draft.
|
|
16
|
+
|
|
17
|
+
**Cria/Atualiza:**
|
|
18
|
+
- `.planning/storytelling/<module-slug>.md` — relatório com story + inventário + CRC + hot spots
|
|
19
|
+
|
|
20
|
+
**Após:** o user reduz tempo de comprehension de codebase desconhecido de 4-8h (leitura cega manual) para 30 min (revisão informada de IA primeiro draft). Pré-requisito recomendado para `/encontrar-seams` ou `/refactor-seguro` em código novo.
|
|
21
|
+
</objective>
|
|
22
|
+
|
|
23
|
+
<context>
|
|
24
|
+
**Argumentos:**
|
|
25
|
+
- `<target_dir_or_file>` — diretório ou arquivo a analisar — OBRIGATÓRIO
|
|
26
|
+
- `--depth deep|shallow` — `shallow` = só story + inventário; `deep` = + CRC + hot spots + extract candidates (default: deep)
|
|
27
|
+
- `--include-tests` — incluir tests no scope (default: false; distinção comportamento prod vs harness)
|
|
28
|
+
- `--max-lines N` — limite de leitura (default: 1500; agent quebra em chunks se maior)
|
|
29
|
+
- `--output PATH` — caminho do output (default: `.planning/storytelling/<slug>.md`)
|
|
30
|
+
|
|
31
|
+
**Exemplos:**
|
|
32
|
+
```
|
|
33
|
+
/storytelling src/orders/ # diretório completo
|
|
34
|
+
/storytelling src/orders/OrderService.ts # arquivo específico
|
|
35
|
+
/storytelling src/orders/ --depth=shallow # rápido — só story + inventário
|
|
36
|
+
/storytelling src/orders/ --include-tests # incluir tests no scope
|
|
37
|
+
/storytelling supabase/functions/process-payments/ # Edge Function module
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Quando este comando é o caminho:**
|
|
41
|
+
- Você herdou módulo desconhecido (onboarding, transferência, post-acquisition)
|
|
42
|
+
- Vai modificar código que não conhece
|
|
43
|
+
- Pré-requisito de `/encontrar-seams` ou `/refactor-seguro`
|
|
44
|
+
- Precisa identificar candidates de extract class antes de planejar refactor
|
|
45
|
+
- Code review onde reviewer não conhece o módulo
|
|
46
|
+
|
|
47
|
+
**Quando NÃO é o caminho:**
|
|
48
|
+
- Codebase < 200 linhas — leitura direta é mais rápida
|
|
49
|
+
- Você já trabalhou no módulo nas últimas 2 semanas — mental model fresco
|
|
50
|
+
- Mudança trivial (typo, comment) — overhead > valor
|
|
51
|
+
</context>
|
|
52
|
+
|
|
53
|
+
<process>
|
|
54
|
+
|
|
55
|
+
## 1. Parsear argumentos
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
TARGET=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
59
|
+
DEPTH=$(echo "$ARGUMENTS" | grep -oE -- '--depth[= ][^ ]+' | sed 's/--depth[= ]//')
|
|
60
|
+
MAX_LINES=$(echo "$ARGUMENTS" | grep -oE -- '--max-lines [0-9]+' | awk '{print $2}')
|
|
61
|
+
OUTPUT_PATH=$(echo "$ARGUMENTS" | grep -oE -- '--output [^ ]+' | awk '{print $2}')
|
|
62
|
+
INCLUDE_TESTS=false
|
|
63
|
+
echo "$ARGUMENTS" | grep -qE -- '--include-tests' && INCLUDE_TESTS=true
|
|
64
|
+
|
|
65
|
+
[ -z "$DEPTH" ] && DEPTH="deep"
|
|
66
|
+
[ -z "$MAX_LINES" ] && MAX_LINES=1500
|
|
67
|
+
|
|
68
|
+
if [ -z "$TARGET" ]; then
|
|
69
|
+
echo "ERROR: target obrigatório (arquivo ou diretório)"
|
|
70
|
+
exit 1
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
if [ ! -e "$TARGET" ]; then
|
|
74
|
+
echo "ERROR: target não encontrado: $TARGET"
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
# auto-output path
|
|
79
|
+
if [ -z "$OUTPUT_PATH" ]; then
|
|
80
|
+
SLUG=$(basename "$(realpath "$TARGET")" | sed 's/[^a-zA-Z0-9]/-/g')
|
|
81
|
+
OUTPUT_PATH=".planning/storytelling/${SLUG}.md"
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
mkdir -p "$(dirname "$OUTPUT_PATH")"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 2. Detectar tamanho
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
if [ -f "$TARGET" ]; then
|
|
91
|
+
TOTAL_LINES=$(wc -l < "$TARGET")
|
|
92
|
+
elif [ -d "$TARGET" ]; then
|
|
93
|
+
TOTAL_LINES=$(find "$TARGET" -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" -o -name "*.java" -o -name "*.go" \) ! -path "*node_modules*" -exec cat {} + 2>/dev/null | wc -l)
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
if [ "$TOTAL_LINES" -gt "$MAX_LINES" ]; then
|
|
97
|
+
echo "ℹ Target tem $TOTAL_LINES linhas (> $MAX_LINES). Agent vai chunkar análise."
|
|
98
|
+
fi
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## 3. Dispatch para `storytelling-analyst`
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
Task(
|
|
105
|
+
subagent_type="storytelling-analyst",
|
|
106
|
+
prompt="
|
|
107
|
+
target: ${TARGET}
|
|
108
|
+
depth: ${DEPTH}
|
|
109
|
+
output_path: ${OUTPUT_PATH}
|
|
110
|
+
max_lines: ${MAX_LINES}
|
|
111
|
+
include_tests: ${INCLUDE_TESTS}
|
|
112
|
+
|
|
113
|
+
Aplicar skill legacy-storytelling-naked-crc. Etapas:
|
|
114
|
+
1. Inventário inicial (listar files + classes/funções top-level)
|
|
115
|
+
2. Leitura + síntese — produzir story em ≤ 5 frases
|
|
116
|
+
3. Inventário canônico (tabela com responsabilidade primária + cluster)
|
|
117
|
+
4. (depth=deep) Naked CRC sketch ASCII
|
|
118
|
+
5. (depth=deep) Responsibility hot spots — classes fazendo > 3 coisas distintas
|
|
119
|
+
6. (depth=deep) Abstrações ausentes (sugestões)
|
|
120
|
+
7. (depth=deep) Extract class candidates priorizados
|
|
121
|
+
8. Gotchas / surpresas
|
|
122
|
+
9. Próximas ações sugeridas (effect sketch, /caracterizar, /refactor-seguro)
|
|
123
|
+
10. Output: .planning/storytelling/<slug>.md
|
|
124
|
+
|
|
125
|
+
PRINCÍPIO: você É a IA primeiro draft. Não busque perfeição — busque utilidade. Seja honesto sobre incertezas.
|
|
126
|
+
"
|
|
127
|
+
)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 4. Pós-output
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
═══════════════════════════════════════════════════════════
|
|
134
|
+
framework ► STORYTELLING ▸ ${OUTPUT_PATH}
|
|
135
|
+
═══════════════════════════════════════════════════════════
|
|
136
|
+
|
|
137
|
+
[output do storytelling-analyst]
|
|
138
|
+
|
|
139
|
+
## ⚠ Validação obrigatória
|
|
140
|
+
|
|
141
|
+
Esta análise é PRIMEIRA PASSADA por IA. Erros possíveis:
|
|
142
|
+
- Relações alucinadas (LLM "viu" colaborador que não existe)
|
|
143
|
+
- Hot spots inflated (cluster coeso marcado como hot spot)
|
|
144
|
+
- Sugestões fora de escopo (extract candidate com 2-week effort marcado como 3h)
|
|
145
|
+
|
|
146
|
+
Cross-check OBRIGATÓRIO antes de basear decisões:
|
|
147
|
+
1. **Spot-check 3-5 funções aleatórias** contra inventário (existem? responsabilidade descrita está correta?)
|
|
148
|
+
2. **Confirmar colaboradores** existem (grep no codebase pelos nomes mencionados)
|
|
149
|
+
3. **Validar hot spots** contra leitura humana (são realmente "fazendo demais"?)
|
|
150
|
+
4. **Refinar story** se necessário; versão final em ${OUTPUT_PATH} é HUMANA, IA é primeiro draft
|
|
151
|
+
|
|
152
|
+
## Próximos passos
|
|
153
|
+
|
|
154
|
+
1. Validar story (5-15 min)
|
|
155
|
+
2. Se vai modificar: `/encontrar-seams ${TARGET}` (se arquivo) ou `/storytelling <sub-target>` (refinar para sub-módulo)
|
|
156
|
+
3. Se vai refactorar: `/refactor-seguro ${TARGET}` (chain canônico)
|
|
157
|
+
4. Se vai extrair: revisar extract candidates — `/legacy refactor` por candidate
|
|
158
|
+
5. Se há shotgun surgery em outros módulos relacionados: `/detectar-duplicacao src/`
|
|
159
|
+
|
|
160
|
+
## Cross-suite
|
|
161
|
+
|
|
162
|
+
- **/encontrar-seams** (v1.12) — story informa onde existem deps externas
|
|
163
|
+
- **/caracterizar** (v1.12) — story prioriza qual hot spot caracterizar primeiro
|
|
164
|
+
- **/refactor-seguro** (v1.12) — chain canônico após storytelling
|
|
165
|
+
- **/detectar-duplicacao** (v1.12) — shotgun across módulos relacionados
|
|
166
|
+
- **/mapear-codebase** (framework v1.7+) — comando análogo mais geral; storytelling complementa com narrativa
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
</process>
|
|
170
|
+
|
|
171
|
+
<success_criteria>
|
|
172
|
+
- [ ] $ARGUMENTS parseados (target obrigatório)
|
|
173
|
+
- [ ] Tamanho detectado e chunking ativado se necessário
|
|
174
|
+
- [ ] `storytelling-analyst` invocado via Task com depth resolvido
|
|
175
|
+
- [ ] Output forwarded transparentemente
|
|
176
|
+
- [ ] Warning de validação manual obrigatória emitido
|
|
177
|
+
- [ ] Próximos passos sugerem encontrar-seams, caracterizar, refactor-seguro
|
|
178
|
+
- [ ] Cross-references com /detectar-duplicacao, /mapear-codebase, /caracterizar
|
|
179
|
+
</success_criteria>
|