@luanpdd/kit-mcp 1.6.1 → 1.7.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.
@@ -21,49 +21,26 @@ Você é um parceiro de pensamento, não um entrevistador. O usuário é o visio
21
21
  </downstream_awareness>
22
22
 
23
23
  <philosophy>
24
- **Usuário = fundador/visionário. Claude = construtor.**
24
+ **Usuário = visionário. Claude = construtor.**
25
25
 
26
- O usuário sabe:
27
- - Como imagina funcionando
28
- - Como deve ser o visual/sensação
29
- - O que é essencial vs bom ter
30
- - Comportamentos ou referências específicas que têm em mente
26
+ Usuário SABE: como imagina, visual/sensação, essencial vs nice-to-have, referências específicas.
27
+ Usuário NÃO sabe (não pergunte): padrões da codebase (pesquisador lê), riscos técnicos (pesquisador), abordagem de implementação (planejador), métricas (inferidas).
31
28
 
32
- O usuário não sabe (e não deve ser perguntado):
33
- - Padrões da base de código (pesquisador lê o código)
34
- - Riscos técnicos (pesquisador identifica estes)
35
- - Abordagem de implementação (planejador descobre isso)
36
- - Métricas de sucesso (inferidas do trabalho)
37
-
38
- Perguntar sobre visão e escolhas de implementação. Capturar decisões para agentes downstream.
29
+ Pergunte sobre visão e escolhas; capture decisões pra agentes downstream.
39
30
  </philosophy>
40
31
 
41
32
  <scope_guardrail>
42
- **CRÍTICO: Sem expansão de escopo.**
43
-
44
- O limite da fase vem do ROADMAP.md e é FIXO. A discussão clarifica COMO implementar o que está no escopo, nunca SE adicionar novas capacidades.
45
-
46
- **Permitido (clarificando ambiguidade):**
47
- - "Como os posts devem ser exibidos?" (layout, densidade, informações mostradas)
48
- - "O que acontece em estado vazio?" (dentro da funcionalidade)
49
- - "Pull to refresh ou manual?" (escolha de comportamento)
33
+ **CRÍTICO: sem expansão de escopo.** Limite da fase vem do ROADMAP e é FIXO. Discussão clarifica COMO, nunca SE adicionar capacidades.
50
34
 
51
- **Não permitido (expansão de escopo):**
52
- - "Deveríamos também adicionar comentários?" (nova capacidade)
53
- - "E a busca/filtragem?" (nova capacidade)
54
- - "Talvez incluir favoritos?" (nova capacidade)
35
+ | Permitido (clarifica) | Não permitido (expande) |
36
+ |---|---|
37
+ | "Como exibir posts?" (layout, densidade) | "Adicionar comentários?" (nova capacidade) |
38
+ | "O que em estado vazio?" | "E busca/filtragem?" |
39
+ | "Pull-to-refresh ou manual?" | "Incluir favoritos?" |
55
40
 
56
- **A heurística:** Isso clarifica como implementamos o que já está na fase, ou adiciona uma nova capacidade que poderia ser sua própria fase?
41
+ **Heurística:** clarifica o que já está na fase, ou adiciona capacidade que merece fase própria?
57
42
 
58
- **Quando o usuário sugere expansão de escopo:**
59
- ```
60
- "[Funcionalidade X] seria uma nova capacidade — é sua própria fase.
61
- Quer que eu anote para o backlog do roadmap?
62
-
63
- Por enquanto, vamos focar em [domínio da fase]."
64
- ```
65
-
66
- Capturar a ideia em uma seção "Ideias Adiadas". Não a perder, não agir sobre ela.
43
+ **Quando usuário sugere expansão:** "[X] seria nova capacidade — fase própria. Anoto pro backlog. De volta a [tópico]." Capture em "Ideias Adiadas". Não perca, não aja.
67
44
  </scope_guardrail>
68
45
 
69
46
  <gray_area_identification>
@@ -80,29 +57,11 @@ Capturar a ideia em uma seção "Ideias Adiadas". Não a perder, não agir sobre
80
57
  - Algo sendo ORGANIZADO → critérios, agrupamento, tratamento de exceções importam
81
58
  3. **Gerar áreas cinzentas específicas da fase** — Não categorias genéricas, mas decisões concretas para ESTA fase
82
59
 
83
- **Não usar rótulos de categoria genéricos** (UI, UX, Comportamento). Gerar áreas cinzentas específicas:
84
-
85
- ```
86
- Fase: "Autenticação de usuário"
87
- → Gerenciamento de sessão, Respostas de erro, Política multi-dispositivo, Fluxo de recuperação
60
+ **Não use rótulos genéricos** (UI/UX/Comportamento). Gere áreas específicas. Exemplos: Auth → sessão, erros, multi-device, recuperação. Backups CLI → output, flags, progress, recovery. Foto biblioteca → agrupamento, duplicatas, nomenclatura, pastas. API docs → estrutura, exemplos, versionamento, interativos.
88
61
 
89
- Fase: "Organizar biblioteca de fotos"
90
- → Critérios de agrupamento, Tratamento de duplicatas, Convenção de nomenclatura, Estrutura de pastas
62
+ **Pergunta-chave:** quais decisões mudariam o resultado que o usuário deveria opinar?
91
63
 
92
- Fase: "CLI para backups de banco de dados"
93
- → Formato de saída, Design de flags, Relatório de progresso, Recuperação de erros
94
-
95
- Fase: "Documentação de API"
96
- → Estrutura/navegação, Profundidade de exemplos de código, Abordagem de versionamento, Elementos interativos
97
- ```
98
-
99
- **A pergunta-chave:** Quais decisões mudariam o resultado que o usuário deveria opinar?
100
-
101
- **Claude lida com isso (não perguntar):**
102
- - Detalhes técnicos de implementação
103
- - Padrões de arquitetura
104
- - Otimização de performance
105
- - Escopo (roadmap define isso)
64
+ **Claude trata sozinho (não perguntar):** detalhes técnicos, padrões de arquitetura, otimização, escopo (roadmap define).
106
65
  </gray_area_identification>
107
66
 
108
67
  <answer_validation>
@@ -202,57 +161,11 @@ Se "Cancelar": Sair do workflow.
202
161
  </step>
203
162
 
204
163
  <step name="load_prior_context">
205
- Ler contexto de projeto e de fases anteriores para evitar re-perguntar questões decididas e manter consistência.
206
-
207
- **Passo 1: Ler arquivos em nível de projeto**
208
- ```bash
209
- # Arquivos centrais do projeto
210
- cat .planning/PROJECT.md 2>/dev/null || true
211
- cat .planning/REQUIREMENTS.md 2>/dev/null || true
212
- cat .planning/STATE.md 2>/dev/null || true
213
- ```
214
-
215
- Extrair destes:
216
- - **PROJECT.md** — Visão, princípios, inegociáveis, preferências do usuário
217
- - **REQUIREMENTS.md** — Critérios de aceitação, restrições, must-haves vs bom-ter
218
- - **STATE.md** — Progresso atual, quaisquer flags ou notas de sessão
219
-
220
- **Passo 2: Ler todos os arquivos CONTEXT.md anteriores**
221
- ```bash
222
- # Encontrar todos os arquivos CONTEXT.md de fases anteriores à atual
223
- (find .planning/phases -name "*-CONTEXT.md" 2>/dev/null || true) | sort
224
- ```
225
-
226
- Para cada CONTEXT.md onde o número de fase < fase atual:
227
- - Ler a seção `<decisions>` — estas são preferências bloqueadas
228
- - Ler `<specifics>` — referências particulares ou momentos "quero como X"
229
- - Notar quaisquer padrões (ex: "usuário consistentemente prefere UI minimalista", "usuário rejeitou atalhos de tecla única")
164
+ Ler PROJECT.md (visão/princípios/inegociáveis), REQUIREMENTS.md (critérios/must-haves), STATE.md (progresso/flags). Encontrar CONTEXT.md anteriores (`find .planning/phases -name "*-CONTEXT.md" | sort`); pra cada um com número < fase atual, extrair `<decisions>` (preferências bloqueadas) e `<specifics>` (refs particulares).
230
165
 
231
- **Passo 3: Construir contexto interno `<prior_decisions>`**
166
+ Construir contexto interno `<prior_decisions>` com seções "Nível de Projeto" + "Das Fases Anteriores".
232
167
 
233
- Estruturar as informações extraídas:
234
- ```
235
- <prior_decisions>
236
- ## Nível de Projeto
237
- - [Princípio ou restrição chave do PROJECT.md]
238
- - [Requisito que afeta esta fase do REQUIREMENTS.md]
239
-
240
- ## Das Fases Anteriores
241
- ### Fase N: [Nome]
242
- - [Decisão que pode ser relevante para a fase atual]
243
- - [Preferência que estabelece um padrão]
244
-
245
- ### Fase M: [Nome]
246
- - [Outra decisão relevante]
247
- </prior_decisions>
248
- ```
249
-
250
- **Uso nos passos subsequentes:**
251
- - `analyze_phase`: Pular áreas cinzentas já decididas em fases anteriores
252
- - `present_gray_areas`: Anotar opções com decisões anteriores ("Você escolheu X na Fase 5")
253
- - `discuss_areas`: Pré-preencher respostas ou sinalizar conflitos ("Isso contradiz a Fase 3 — mesmo aqui ou diferente?")
254
-
255
- **Se nenhum contexto anterior existir:** Continuar sem — isso é esperado para fases iniciais.
168
+ **Uso downstream:** `analyze_phase` pula áreas já decididas; `present_gray_areas` anota com refs ("Você escolheu X na Fase 5"); `discuss_areas` pré-preenche ou sinaliza conflitos. Sem contexto anterior → continuar (esperado pra fases iniciais).
256
169
  </step>
257
170
 
258
171
  <step name="cross_reference_todos">
@@ -304,38 +217,11 @@ Varredura leve do código existente para informar identificação de áreas cinz
304
217
  ls .planning/codebase/*.md 2>/dev/null || true
305
218
  ```
306
219
 
307
- **Se mapas de codebase existirem:** Ler os mais relevantes (CONVENTIONS.md, STRUCTURE.md, STACK.md com base no tipo de fase). Extrair:
308
- - Componentes/hooks/utilitários reutilizáveis
309
- - Padrões estabelecidos (gerenciamento de estado, estilização, busca de dados)
310
- - Pontos de integração (onde novo código se conectaria)
311
-
312
- Pular para o Passo 3 abaixo.
313
-
314
- **Passo 2: Se não há mapas de codebase, fazer grep direcionado**
315
-
316
- Extrair termos-chave do objetivo da fase (ex: "feed" → "post", "card", "list"; "auth" → "login", "session", "token").
317
-
318
- ```bash
319
- # Encontrar arquivos relacionados aos termos do objetivo da fase
320
- grep -rl "{termo1}\|{termo2}" src/ app/ --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" 2>/dev/null | head -10 || true
321
-
322
- # Encontrar componentes/hooks existentes
323
- ls src/components/ 2>/dev/null || true
324
- ls src/hooks/ 2>/dev/null || true
325
- ls src/lib/ src/utils/ 2>/dev/null || true
326
- ```
220
+ **Mapas de codebase existem (`.planning/codebase/*.md`):** ler CONVENTIONS/STRUCTURE/STACK conforme tipo da fase. Extrair: ativos reutilizáveis, padrões estabelecidos, pontos de integração.
327
221
 
328
- Ler os 3-5 arquivos mais relevantes para entender padrões existentes.
222
+ **Sem mapas:** grep direcionado por termos-chave do objetivo (`grep -rl "termo1\|termo2" src/ app/ --include='*.{ts,tsx,js,jsx}' | head -10`) + `ls src/{components,hooks,lib,utils}/`. Ler 3-5 arquivos mais relevantes.
329
223
 
330
- **Passo 3: Construir codebase_context interno**
331
-
332
- Da varredura, identificar:
333
- - **Ativos reutilizáveis** — componentes, hooks, utilitários existentes que poderiam ser usados nesta fase
334
- - **Padrões estabelecidos** — como a base de código faz gerenciamento de estado, estilização, busca de dados
335
- - **Pontos de integração** — onde novo código se conectaria (rotas, nav, providers)
336
- - **Opções criativas** — abordagens que a arquitetura existente habilita ou restringe
337
-
338
- Armazenar como `<codebase_context>` interno para uso em analyze_phase e present_gray_areas. Isso NÃO é escrito em arquivo — é usado apenas nesta sessão.
224
+ Construir `<codebase_context>` interno: ativos reutilizáveis, padrões, pontos de integração, opções criativas que a arquitetura habilita/restringe. Não escreve em arquivo — só sessão atual.
339
225
  </step>
340
226
 
341
227
  <step name="analyze_phase">
@@ -365,30 +251,11 @@ Analisar a fase para identificar áreas cinzentas que valem a discussão. **Usar
365
251
 
366
252
  **Detecção de Modo Advisor:**
367
253
 
368
- Verificar se o modo advisor deve ativar:
369
-
370
- 1. Verificar USER-PROFILE.md:
371
- ```bash
372
- PROFILE_PATH="./.claude/framework/USER-PROFILE.md"
373
- ```
374
- ADVISOR_MODE = arquivo existe em PROFILE_PATH → true, caso contrário → false
375
-
376
- 2. Se ADVISOR_MODE for true, resolver tier de calibração vendor_philosophy:
377
- - Prioridade 1: Ler config.json > preferences.vendor_philosophy (override em nível de projeto)
378
- - Prioridade 2: Ler avaliação Vendor Choices/Philosophy do USER-PROFILE.md (global)
379
- - Prioridade 3: Padrão para "standard" se nenhum tiver valor ou valor for UNSCORED
254
+ `ADVISOR_MODE = exists("./.claude/framework/USER-PROFILE.md")`. Se false, pular todos os passos advisor workflow conversacional inalterado.
380
255
 
381
- Mapear para tier de calibração:
382
- - conservative OU thorough-evaluator → full_maturity
383
- - opinionated → minimal_decisive
384
- - pragmatic-fast OU qualquer outro valor OU vazio → standard
256
+ Se true, resolver `calibration_tier` por prioridade: (1) `config.json > preferences.vendor_philosophy` (project), (2) USER-PROFILE.md Vendor Choices/Philosophy (global), (3) default `standard`. Mapeamento: `conservative`/`thorough-evaluator` → `full_maturity`; `opinionated` → `minimal_decisive`; `pragmatic-fast` ou outro/vazio → `standard`.
385
257
 
386
- 3. Resolver modelo para agentes advisor:
387
- ```bash
388
- ADVISOR_MODEL=$(node "./.claude/framework/bin/tools.cjs" resolve-model advisor-researcher --raw)
389
- ```
390
-
391
- Se ADVISOR_MODE for false, pular todos os passos específicos de advisor — workflow prossegue com fluxo conversacional existente inalterado.
258
+ `ADVISOR_MODEL=$(node "./.claude/framework/bin/tools.cjs" resolve-model advisor-researcher --raw)`
392
259
 
393
260
  **Produzir sua análise internamente, então apresentar ao usuário.**
394
261
 
@@ -453,31 +320,10 @@ Vamos clarificar COMO implementar isso.
453
320
 
454
321
  **NÃO incluir opção "pular" ou "você decide".** O usuário executou este comando para discutir — dar escolhas reais.
455
322
 
456
- **Exemplos por domínio (com contexto de código):**
457
-
458
- Para "Feed de Posts" (funcionalidade visual):
459
- ```
460
- ☐ Estilo de layout — Cards vs lista vs timeline? (Componente Card existe com variantes)
461
- ☐ Comportamento de carregamento — Scroll infinito ou paginação? (Hook useInfiniteQuery disponível)
462
- ☐ Ordenação de conteúdo — Cronológico, algorítmico, ou escolha do usuário?
463
- ☐ Metadados de post — Quais informações por post? Timestamps, reações, autor?
464
- ```
465
-
466
- Para "CLI de backup de banco de dados" (ferramenta de linha de comando):
467
- ```
468
- ☐ Formato de saída — JSON, tabela, ou texto simples? Níveis de verbosidade?
469
- ☐ Design de flags — Flags curtas, longas, ou ambas? Obrigatórias vs opcionais?
470
- ☐ Relatório de progresso — Silencioso, barra de progresso, ou log verbose?
471
- ☐ Recuperação de erros — Falhar rápido, tentar novamente, ou solicitar ação?
472
- ```
473
-
474
- Para "Organizar biblioteca de fotos" (tarefa de organização):
475
- ```
476
- ☐ Critérios de agrupamento — Por data, localização, faces, ou eventos?
477
- ☐ Tratamento de duplicatas — Manter melhor, manter todos, ou solicitar cada vez?
478
- ☐ Convenção de nomenclatura — Nomes originais, datas, ou descritivos?
479
- ☐ Estrutura de pastas — Plana, aninhada por ano, ou por categoria?
480
- ```
323
+ **Exemplos por domínio:**
324
+ - Feed de Posts: layout (cards/lista/timeline), carregamento (infinito/paginação), ordenação, metadados
325
+ - Backup CLI: output (JSON/tabela/texto), flags (curtas/longas), progress (silencioso/bar/verbose), recovery (fail-fast/retry)
326
+ - Foto biblioteca: agrupamento (data/local/face/evento), duplicatas (melhor/todos/prompt), nomenclatura, pastas
481
327
 
482
328
  Continuar para discuss_areas com áreas selecionadas (ou advisor_research se ADVISOR_MODE for true).
483
329
  </step>
@@ -572,65 +418,14 @@ Rastrear ideias adiadas internamente.
572
418
 
573
419
  Para cada área selecionada, conduzir um loop de discussão focado.
574
420
 
575
- **Modo pesquisa-antes-das-perguntas:** Verificar se `workflow.research_before_questions` está habilitado na config (do contexto init ou `.planning/config.json`). Quando habilitado, antes de apresentar perguntas para cada área:
576
- 1. Fazer uma breve busca na web por melhores práticas relacionadas ao tópico da área
577
- 2. Resumir as principais descobertas em 2-3 bullet points
578
- 3. Apresentar a pesquisa junto com a pergunta para que o usuário possa tomar uma decisão mais informada
579
-
580
- Exemplo com pesquisa habilitada:
581
- ```
582
- Vamos falar sobre [Estratégia de Autenticação].
583
-
584
- 📊 Pesquisa de melhores práticas:
585
- • OAuth 2.0 + PKCE é o padrão atual para SPAs (substitui fluxo implícito)
586
- • Tokens de sessão com cookies httpOnly preferidos sobre localStorage para proteção XSS
587
- • Considerar suporte a passkey/WebAuthn — adoção está acelerando em 2025-2026
588
-
589
- Com esse contexto: Como os usuários devem autenticar?
590
- ```
591
-
592
- Quando desabilitado (padrão), pular a pesquisa e apresentar perguntas diretamente como antes.
593
-
594
- **Suporte a modo texto:** Analisar `--text` opcional de `$ARGUMENTS`.
595
- - Aceitar flag `--text` OU ler `workflow.text_mode` da config (do contexto init)
596
- - Quando ativo, substituir TODAS as chamadas `AskUserQuestion` por listas numeradas de texto simples
597
- - Usuário digita um número para selecionar, ou digita texto livre para "Outro"
598
- - Isso é necessário para sessões remotas do Claude Code (modo `/rc`) onde menus TUI
599
- não funcionam através do App Claude
600
-
601
- **Suporte a modo batch:** Analisar `--batch` opcional de `$ARGUMENTS`.
602
- - Aceitar `--batch`, `--batch=N`, ou `--batch N`
603
-
604
- **Suporte a modo analyze:** Analisar `--analyze` opcional de `$ARGUMENTS`.
605
- Quando `--analyze` estiver ativo, antes de apresentar cada pergunta (ou grupo de perguntas no modo batch), fornecer uma breve **análise de trade-offs** para a decisão:
606
- - 2-3 opções com prós/contras baseados no contexto da codebase e padrões comuns
607
- - Uma abordagem recomendada com raciocínio
608
- - Armadilhas conhecidas ou restrições de fases anteriores
609
-
610
- Exemplo com `--analyze`:
611
- ```
612
- **Análise de trade-offs: Estratégia de autenticação**
613
-
614
- | Abordagem | Prós | Contras |
615
- |-----------|------|---------|
616
- | Cookies de sessão | Simples, httpOnly evita XSS | Requer proteção CSRF, sessões fixas |
617
- | JWT (stateless) | Escalável, sem estado no servidor | Tamanho do token, complexidade de revogação |
618
- | OAuth 2.0 + PKCE | Padrão da indústria para SPAs | Mais configuração, UX de fluxo de redirecionamento |
619
-
620
- 💡 Recomendado: OAuth 2.0 + PKCE — seu app tem login social nos requisitos (REQ-04) e isso se alinha com a configuração NextAuth existente em `src/lib/auth.ts`.
621
-
622
- Como os usuários devem autenticar?
623
- ```
421
+ **Modos opcionais (lidos de config + args):**
624
422
 
625
- Isso ao usuário contexto para tomar decisões informadas sem prompts extras. Quando `--analyze` estiver ausente, apresentar perguntas diretamente como antes.
626
- - Aceitar `--batch`, `--batch=N`, ou `--batch N`
627
- - Padrão de 4 perguntas por batch quando nenhum número é fornecido
628
- - Limitar tamanhos explícitos a 2-5 para que um batch permaneça respondível
629
- - Se `--batch` estiver ausente, manter o fluxo existente de uma pergunta por vez
423
+ - **`workflow.research_before_questions: true`** ou padrão off antes de cada área, fazer 2-3 bullet de melhores práticas via web, apresentar com a pergunta. Ex: "OAuth 2.0 + PKCE é padrão atual pra SPAs; cookies httpOnly preferidos vs localStorage; passkey/WebAuthn em alta 2025-2026."
424
+ - **`--text` ou `workflow.text_mode: true`** substitui TODOS AskUserQuestion por listas numeradas em texto simples (necessário em sessões remotas Claude Code `/rc`).
425
+ - **`--batch[=N]`** (default 4 quando ausente, range 2-5) — 1 turno agrupado com N perguntas numeradas em vez de N turnos de pergunta única. Após responder, refletir capturas e fazer follow-up mínimo.
426
+ - **`--analyze`** antes de cada pergunta (ou batch), fornecer mini-tabela de trade-offs (2-3 opções, prós/contras baseados na codebase + padrões), recomendação destacada, pitfalls.
630
427
 
631
- **Filosofia:** permanecer adaptativo, mas deixar o usuário escolher o ritmo.
632
- - Modo padrão: 4 turnos de pergunta única, então verificar se continuar
633
- - Modo `--batch`: 1 turno agrupado com 2-5 perguntas numeradas, então verificar se continuar
428
+ **Filosofia:** adaptativo, usuário escolhe o ritmo. Default: 4 turnos de pergunta única, depois verifica continuar. `--batch`: 1 turno agrupado, depois verifica.
634
429
 
635
430
  Cada resposta (ou conjunto de respostas, no modo batch) deve revelar a próxima pergunta ou próximo batch.
636
431
 
@@ -695,37 +490,13 @@ Após todas as áreas serem auto-resolvidas, pular o prompt "Explorar mais área
695
490
  - Loop: discutir novas áreas, então solicitar novamente
696
491
  - Se "Estou pronto para o contexto": Prosseguir para write_context
697
492
 
698
- **Acumulação de ref canônica durante a discussão:**
699
- Quando o usuário referencia um doc, spec, ou ADR durante qualquer resposta — ex: "leia adr-014", "verifique a spec MCP", "de acordo com browse-spec.md" — imediatamente:
700
- 1. Ler o doc referenciado (ou confirmar que existe)
701
- 2. Adicioná-lo ao acumulador de refs canônicas com caminho relativo completo
702
- 3. Usar o que aprendeu do doc para informar perguntas subsequentes
493
+ **Acumulação de refs canônicas:** quando usuário referencia doc/spec/ADR (ex: "leia adr-014"), imediatamente: leia o doc, adicione ao acumulador com caminho relativo completo, use pra informar perguntas seguintes. Esses são frequentemente MAIS importantes que refs do ROADMAP — usuário quer que agentes downstream sigam. Nunca perca.
703
494
 
704
- Esses docs referenciados pelo usuário são frequentemente MAIS importantes do que refs do ROADMAP.md porque representam docs que o usuário especificamente quer que agentes downstream sigam. Nunca os perder.
495
+ **Design de perguntas:** opções concretas (não "Opção A"), cada resposta informa a próxima. Se usuário escolher "Outro" pra texto livre, faça acompanhamento em prompt simples (NÃO outro AskUserQuestion); reflita de volta e confirme.
705
496
 
706
- **Design de perguntas:**
707
- - Opções devem ser concretas, não abstratas ("Cards" não "Opção A")
708
- - Cada resposta deve informar a próxima pergunta ou próximo batch
709
- - Se o usuário escolher "Outro" para fornecer input livre (ex: "deixa eu descrever", "outra coisa", ou uma resposta aberta), fazer o acompanhamento como texto simples — NÃO outro AskUserQuestion. Aguardar eles digitarem no prompt normal, então refletir seu input de volta e confirmar antes de retomar AskUserQuestion ou o próximo batch numerado.
497
+ **Expansão de escopo:** ver `<scope_guardrail>` acima — anote como Ideia Adiada, retorne ao tópico.
710
498
 
711
- **Tratamento de expansão de escopo:**
712
- Se o usuário mencionar algo fora do domínio da fase:
713
- ```
714
- "[Funcionalidade] parece uma nova capacidade — pertence à sua própria fase.
715
- Vou anotá-la como uma ideia adiada.
716
-
717
- De volta a [área atual]: [retornar à pergunta atual]"
718
- ```
719
-
720
- Rastrear ideias adiadas internamente.
721
-
722
- **Rastrear dados do log de discussão internamente:**
723
- Para cada pergunta feita, acumular:
724
- - Nome da área
725
- - Todas as opções apresentadas (rótulo + descrição)
726
- - Qual opção o usuário selecionou (ou sua resposta em texto livre)
727
- - Quaisquer notas ou esclarecimentos de acompanhamento que o usuário forneceu
728
- Esses dados são usados para gerar DISCUSSION-LOG.md no passo `write_context`.
499
+ **Log interno por pergunta:** área, opções apresentadas, seleção do usuário, notas de acompanhamento. Usado pra gerar DISCUSSION-LOG.md no `write_context`.
729
500
  </step>
730
501
 
731
502
  <step name="write_context">
@@ -959,74 +730,19 @@ node "./.claude/framework/bin/tools.cjs" commit "docs(state): record phase ${PHA
959
730
  </step>
960
731
 
961
732
  <step name="auto_advance">
962
- Verificar gatilho de avanço automático:
963
-
964
- 1. Analisar flag `--auto` de $ARGUMENTS
965
- 2. **Sincronizar flag de cadeia com intenção** — se o usuário invocou manualmente (sem `--auto`), limpar a flag de cadeia efêmera de qualquer cadeia `--auto` anterior interrompida. Isso NÃO toca em `workflow.auto_advance` (preferência persistente do usuário):
966
- ```bash
967
- if [[ ! "$ARGUMENTS" =~ --auto ]]; then
968
- node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active false 2>/dev/null
969
- fi
970
- ```
971
- 3. Ler tanto a flag de cadeia quanto a preferência do usuário:
972
- ```bash
973
- AUTO_CHAIN=$(node "./.claude/framework/bin/tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
974
- AUTO_CFG=$(node "./.claude/framework/bin/tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
975
- ```
976
-
977
- **Se flag `--auto` presente E `AUTO_CHAIN` não for true:** Persistir flag de cadeia na config (lida com uso direto de `--auto` sem new-project):
978
- ```bash
979
- node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active true
980
- ```
733
+ **Detecção:** flag `--auto` em $ARGUMENTS, OR `workflow._auto_chain_active=true`, OR `workflow.auto_advance=true`.
981
734
 
982
- **Se flag `--auto` presente OU `AUTO_CHAIN` for true OU `AUTO_CFG` for true:**
735
+ **Sync de cadeia:** se usuário invocou manualmente (sem `--auto`), zere `workflow._auto_chain_active` (mas NÃO toque `workflow.auto_advance` preferência do usuário). Se `--auto` presente e cadeia não estava ativa, set `_auto_chain_active=true` (handle uso direto de `--auto` sem new-project).
983
736
 
984
- Exibir banner:
985
- ```
986
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
987
- framework ► AVANÇANDO AUTOMATICAMENTE PARA PLANEJAMENTO
988
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
989
-
990
- Contexto capturado. Iniciando plan-phase...
991
- ```
737
+ **Quando ativo:** dispare `Skill(skill="framework:planejar-fase", args="${PHASE} --auto ${WS}")` (use Skill, não Task aninhado — evita freeze de runtime, issue #686).
992
738
 
993
- Iniciar plan-phase usando a ferramenta Skill para evitar sessões Task aninhadas (que causam freezes de runtime devido ao aninhamento profundo de agentes — ver #686):
994
- ```
995
- Skill(skill="framework:planejar-fase", args="${PHASE} --auto ${WS}")
996
- ```
739
+ **Roteamento de retorno do plan-phase:**
740
+ - `FASE CONCLUÍDA` → cadeia completa. Próximo: `/discutir-fase ${NEXT_PHASE} --auto ${WS}` (após `/clear`)
741
+ - `PLANEJAMENTO CONCLUÍDO` → execução parou. Continuar: `/executar-fase ${PHASE} ${WS}`
742
+ - `PLANEJAMENTO INCONCLUSIVO / CHECKPOINT` → parou. Continuar: `/planejar-fase ${PHASE} ${WS}`
743
+ - `LACUNAS ENCONTRADAS` → parou. Continuar: `/planejar-fase ${PHASE} --gaps ${WS}`
997
744
 
998
- Isso mantém a cadeia de avanço automático plana — discutir, planejar e executar todos rodam no mesmo nível de aninhamento em vez de criar agentes Task cada vez mais profundos.
999
-
1000
- **Lidar com retorno do plan-phase:**
1001
- - **FASE CONCLUÍDA** → Cadeia completa bem-sucedida. Exibir:
1002
- ```
1003
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1004
- framework ► FASE ${PHASE} CONCLUÍDA
1005
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1006
-
1007
- Pipeline de avanço automático finalizado: discutir → planejar → executar
1008
-
1009
- Próximo: /discutir-fase ${NEXT_PHASE} --auto ${WS}
1010
- <sub>/clear primeiro → janela de contexto fresca</sub>
1011
- ```
1012
- - **PLANEJAMENTO CONCLUÍDO** → Planejamento feito, execução não terminou:
1013
- ```
1014
- Avanço automático parcial: Planejamento concluído, execução não terminou.
1015
- Continuar: /executar-fase ${PHASE} ${WS}
1016
- ```
1017
- - **PLANEJAMENTO INCONCLUSIVO / CHECKPOINT** → Parar cadeia:
1018
- ```
1019
- Avanço automático parado: Planejamento precisa de input.
1020
- Continuar: /planejar-fase ${PHASE} ${WS}
1021
- ```
1022
- - **LACUNAS ENCONTRADAS** → Parar cadeia:
1023
- ```
1024
- Avanço automático parado: Lacunas encontradas durante execução.
1025
- Continuar: /planejar-fase ${PHASE} --gaps ${WS}
1026
- ```
1027
-
1028
- **Se nem `--auto` nem config habilitado:**
1029
- Rotear para passo `confirm_creation` (comportamento existente — mostrar próximos passos manuais).
745
+ **Quando inativo:** rotear pra `confirm_creation` (comportamento manual existente).
1030
746
  </step>
1031
747
 
1032
748
  </process>
@@ -5,7 +5,20 @@ Exibir a referência completa de comandos do framework. Emitir APENAS o conteúd
5
5
  <reference>
6
6
  # Referência de Comandos do framework
7
7
 
8
- **framework** (framework) cria planos hierárquicos de projeto otimizados para desenvolvimento ágil solo com Claude Code.
8
+ **framework** cria planos hierárquicos de projeto otimizados para desenvolvimento ágil solo com Claude Code.
9
+
10
+ ## ⭐ Em dúvida? Use `/fazer`
11
+
12
+ `/fazer "descrição livre"` é o **entrypoint canônico** — analisa sua intenção e roteia automaticamente para o melhor comando. Use sempre que não souber qual `/*` invocar.
13
+
14
+ | Sua intenção | Comando |
15
+ |---|---|
16
+ | Trivial (typo, rename, log) | `/rapido` |
17
+ | Concreta com commit limpo | `/expresso` |
18
+ | Multi-arquivo estruturado | `/discutir-fase` → `/planejar-fase` → `/executar-fase` |
19
+ | "Onde parei?" | `/proximo` |
20
+ | Investigar bug | `/depurar` |
21
+ | Capturar ideia sem agir | `/nota` ou `/adicionar-tarefa` |
9
22
 
10
23
  ## Início Rápido
11
24
 
@@ -210,69 +210,21 @@ Proceed to Step 4 (skip Steps 3 and 5).
210
210
 
211
211
  ## 3. Deep Questioning
212
212
 
213
- **If auto mode:** Skip (already handled in Step 2a). Extract project context from provided document instead and proceed to Step 4.
213
+ **Auto mode:** pular (handled em 2a) extrair contexto do documento e ir pra passo 4.
214
214
 
215
- **Display stage banner:**
215
+ **Banner:** `framework ► QUESTIONING`.
216
216
 
217
- ```
218
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
219
- framework ► QUESTIONING
220
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
221
- ```
222
-
223
- **Open the conversation:**
224
-
225
- Ask inline (freeform, NOT AskUserQuestion):
226
-
227
- "What do you want to build?"
228
-
229
- Wait for their response. This gives you the context needed to ask intelligent follow-up questions.
230
-
231
- **Research-before-questions mode:** Check if `workflow.research_before_questions` is enabled in `.planning/config.json` (or the config from init context). When enabled, before asking follow-up questions about a topic area:
232
-
233
- 1. Do a brief web search for best practices related to what the user described
234
- 2. Mention key findings naturally as you ask questions (e.g., "Most projects like this use X — is that what you're thinking, or something different?")
235
- 3. This makes questions more informed without changing the conversational flow
236
-
237
- When disabled (default), ask questions directly as before.
238
-
239
- **Follow the thread:**
240
-
241
- Based on what they said, ask follow-up questions that dig into their response. Use AskUserQuestion with options that probe what they mentioned — interpretations, clarifications, concrete examples.
242
-
243
- Keep following threads. Each answer opens new threads to explore. Ask about:
244
-
245
- - What excited them
246
- - What problem sparked this
247
- - What they mean by vague terms
248
- - What it would actually look like
249
- - What's already decided
250
-
251
- Consult `questioning.md` for techniques:
217
+ **Abrir:** pergunta inline freeform (NÃO AskUserQuestion): "What do you want to build?". Aguardar resposta.
252
218
 
253
- - Challenge vagueness
254
- - Make abstract concrete
255
- - Surface assumptions
256
- - Find edges
257
- - Reveal motivation
219
+ **Modo `workflow.research_before_questions`:** se enabled, antes de follow-ups numa área, fazer breve web search por melhores práticas e mencionar findings naturalmente ("Most projects like this use X — is that what you're thinking?"). Default off, perguntar direto.
258
220
 
259
- **Check context (background, not out loud):**
221
+ **Follow the thread:** AskUserQuestion com options que provocam interpretações/clarificações/exemplos. Cada resposta abre novos threads. Cobrir: o que empolgou, problema que sparkou, termos vagos, como seria na prática, o que já está decidido.
260
222
 
261
- As you go, mentally check the context checklist from `questioning.md`. If gaps remain, weave questions naturally. Don't suddenly switch to checklist mode.
223
+ **Técnicas de `questioning.md`:** challenge vagueness, concretize abstract, surface assumptions, find edges, reveal motivation.
262
224
 
263
- **Decision gate:**
225
+ Mentalmente validar checklist do `questioning.md`; se gaps, tecer perguntas naturalmente (não modo checklist).
264
226
 
265
- When you could write a clear PROJECT.md, use AskUserQuestion:
266
-
267
- - header: "Ready?"
268
- - question: "I think I understand what you're after. Ready to create PROJECT.md?"
269
- - options:
270
- - "Create PROJECT.md" — Let's move forward
271
- - "Keep exploring" — I want to share more / ask me more
272
-
273
- If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
274
-
275
- Loop until "Create PROJECT.md" selected.
227
+ **Decision gate:** quando puder escrever PROJECT.md claro, AskUserQuestion `Ready?` — "Create PROJECT.md" ou "Keep exploring". Loop até "Create".
276
228
 
277
229
  ## 4. Write PROJECT.md
278
230
 
@@ -449,60 +401,17 @@ questions: [
449
401
  ]
450
402
  ```
451
403
 
452
- **Round 2 — Workflow agents:**
404
+ **Round 2 — Workflow agents (opt-in, adicionam tokens/tempo, melhoram qualidade):**
453
405
 
454
- These spawn additional agents during planning/execution. They add tokens and time but improve quality.
406
+ | Agent | Quando | O que faz |
407
+ |---|---|---|
408
+ | Researcher | Antes de cada plan-phase | Investiga domínio, padrões, pitfalls |
409
+ | Plan Checker | Após plano criado | Verifica se plano atinge o goal |
410
+ | Verifier | Após execução | Confirma must-haves entregues |
455
411
 
456
- | Agent | When it runs | What it does |
457
- |-------|--------------|--------------|
458
- | **Researcher** | Before planning each phase | Investigates domain, finds patterns, surfaces gotchas |
459
- | **Plan Checker** | After plan is created | Verifies plan actually achieves the phase goal |
460
- | **Verifier** | After phase execution | Confirms must-haves were delivered |
412
+ Todos recomendados pra projetos sérios; pular pra experimentos rápidos.
461
413
 
462
- All recommended for important projects. Skip for quick experiments.
463
-
464
- ```
465
- questions: [
466
- {
467
- header: "Research",
468
- question: "Research before planning each phase? (adds tokens/time)",
469
- multiSelect: false,
470
- options: [
471
- { label: "Yes (Recommended)", description: "Investigate domain, find patterns, surface gotchas" },
472
- { label: "No", description: "Plan directly from requirements" }
473
- ]
474
- },
475
- {
476
- header: "Plan Check",
477
- question: "Verify plans will achieve their goals? (adds tokens/time)",
478
- multiSelect: false,
479
- options: [
480
- { label: "Yes (Recommended)", description: "Catch gaps before execution starts" },
481
- { label: "No", description: "Execute plans without verification" }
482
- ]
483
- },
484
- {
485
- header: "Verifier",
486
- question: "Verify work satisfies requirements after each phase? (adds tokens/time)",
487
- multiSelect: false,
488
- options: [
489
- { label: "Yes (Recommended)", description: "Confirm deliverables match phase goals" },
490
- { label: "No", description: "Trust execution, skip verification" }
491
- ]
492
- },
493
- {
494
- header: "AI Models",
495
- question: "Which AI models for planning agents?",
496
- multiSelect: false,
497
- options: [
498
- { label: "Balanced (Recommended)", description: "Sonnet for most agents — good quality/cost ratio" },
499
- { label: "Quality", description: "Opus for research/roadmap — higher cost, deeper analysis" },
500
- { label: "Budget", description: "Haiku where possible — fastest, lowest cost" },
501
- { label: "Inherit", description: "Use the current session model for all agents (OpenCode /model)" }
502
- ]
503
- }
504
- ]
505
- ```
414
+ AskUserQuestion: 4 perguntas `Research` (yes/no), `Plan Check` (yes/no), `Verifier` (yes/no), `AI Models` (Balanced=Sonnet recomendado / Quality=Opus / Budget=Haiku / Inherit=session model).
506
415
 
507
416
  Create `.planning/config.json` with all settings (CLI fills in remaining defaults automatically):
508
417