sincron-plan 1.0.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.
@@ -0,0 +1,412 @@
1
+ ---
2
+ name: sincron-plan
3
+ description: Planejamento estruturado com questionamento profundo e geração de PRD
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Glob
8
+ - Grep
9
+ - Bash
10
+ - Task
11
+ - AskUserQuestion
12
+ - WebSearch
13
+ - WebFetch
14
+ ---
15
+
16
+ # /sincron-plan - Planejamento Estruturado
17
+
18
+ ## Propósito
19
+ Conduzir questionamento profundo e gerar PRD + Roadmap + User Stories para um projeto.
20
+
21
+ ## Instruções de Execução
22
+
23
+ ### FASE 1: DETECÇÃO DE CONTEXTO
24
+
25
+ **1.1 Verificar se existe código no diretório:**
26
+ ```
27
+ - Glob para *.js, *.ts, *.py, *.java, *.go, etc
28
+ - Verificar package.json, requirements.txt, go.mod, etc
29
+ ```
30
+
31
+ **1.2 SE existe código:**
32
+ Verificar se `.sincron-plan/codebase/` existe e está completo (4 documentos).
33
+
34
+ **SE código existe MAS mapeamento NÃO existe:**
35
+ Perguntar ao usuário usando AskUserQuestion:
36
+ ```
37
+ header: "Mapeamento"
38
+ question: "Detectei código existente mas sem mapeamento. Deseja mapear antes de planejar?"
39
+ options:
40
+ - label: "Sim, mapear primeiro (Recomendado)"
41
+ description: "Executa /sincron-map para entender o código existente"
42
+ - label: "Não, pular mapeamento"
43
+ description: "Continua direto para planejamento (você assume o risco)"
44
+ ```
45
+
46
+ **SE escolher "Sim":**
47
+ Executar fluxo de `/sincron-map` primeiro, depois retornar aqui.
48
+
49
+ **1.3 SE não existe código OU já tem mapeamento:**
50
+ Continuar para Fase 2.
51
+
52
+ ---
53
+
54
+ ### FASE 2: QUESTIONAMENTO PROFUNDO
55
+
56
+ **2.1 Verificar se PROJECT.md já existe:**
57
+ Se `.sincron-plan/PROJECT.md` existe, perguntar:
58
+ ```
59
+ header: "Projeto"
60
+ question: "Encontrei definição de projeto existente. O que deseja fazer?"
61
+ options:
62
+ - label: "Usar existente"
63
+ description: "Continua com o PROJECT.md atual"
64
+ - label: "Refazer"
65
+ description: "Inicia novo questionamento do zero"
66
+ ```
67
+
68
+ **2.2 SE precisa criar PROJECT.md:**
69
+ Spawnar agente Questionador:
70
+ ```
71
+ Task(
72
+ subagent_type: "general-purpose",
73
+ prompt: "Você é o Questionador do Sincron-Plan.
74
+
75
+ Sua missão: Conduzir questionamento profundo com o usuário para entender o que ele quer construir.
76
+
77
+ Siga as instruções em sincron-plan/agents/questionador.md.
78
+
79
+ Processo:
80
+ 1. Pergunte: 'O que você quer construir?'
81
+ 2. Faça follow-ups baseados nas respostas
82
+ 3. Use as técnicas: Challenge vagueness, Make concrete, Clarification, Success definition, Reveal motivation
83
+ 4. Quando tiver clareza, confirme o entendimento
84
+ 5. Escreva .sincron-plan/PROJECT.md
85
+
86
+ IMPORTANTE: Este é um processo CONVERSACIONAL, não um checklist. Adapte suas perguntas às respostas do usuário.
87
+
88
+ Retorne APENAS:
89
+ project_defined
90
+ File: .sincron-plan/PROJECT.md
91
+ Lines: [N]"
92
+ )
93
+ ```
94
+
95
+ ---
96
+
97
+ ### FASE 3: PESQUISA DE DOMÍNIO (Opcional)
98
+
99
+ Perguntar ao usuário usando AskUserQuestion:
100
+ ```
101
+ header: "Pesquisa"
102
+ question: "Deseja pesquisar ecossistema e melhores práticas antes de definir requisitos?"
103
+ options:
104
+ - label: "Sim, pesquisar"
105
+ description: "Busca bibliotecas, frameworks e best practices relevantes"
106
+ - label: "Não, pular"
107
+ description: "Vai direto para definição de requisitos"
108
+ ```
109
+
110
+ **SE escolher "Sim":**
111
+ ```
112
+ Task(
113
+ subagent_type: "general-purpose",
114
+ prompt: "Você é o Pesquisador do Sincron-Plan.
115
+
116
+ Sua missão: Pesquisar o ecossistema relevante ao projeto definido em .sincron-plan/PROJECT.md.
117
+
118
+ Siga as instruções em sincron-plan/agents/pesquisador.md.
119
+
120
+ Processo:
121
+ 1. Ler .sincron-plan/PROJECT.md para contexto
122
+ 2. Identificar domínios de pesquisa
123
+ 3. Usar WebSearch para descoberta
124
+ 4. Usar WebFetch para documentação oficial
125
+ 5. Categorizar em Table Stakes, Differentiators, Anti-features
126
+ 6. Escrever .sincron-plan/research/SUMMARY.md
127
+
128
+ Retorne APENAS:
129
+ research_complete
130
+ File: .sincron-plan/research/SUMMARY.md
131
+ Lines: [N]
132
+ Topics: [lista]"
133
+ )
134
+ ```
135
+
136
+ ---
137
+
138
+ ### FASE 4: DEFINIÇÃO DE REQUISITOS
139
+
140
+ **4.1 SE pesquisa foi feita:**
141
+ Ler `.sincron-plan/research/SUMMARY.md` e apresentar features descobertas:
142
+
143
+ ```markdown
144
+ ## Features Descobertas na Pesquisa
145
+
146
+ ### Table Stakes (Essenciais)
147
+ Estas features são expectativa mínima no mercado:
148
+ 1. [Feature 1]
149
+ 2. [Feature 2]
150
+
151
+ ### Differentiators (Oportunidades)
152
+ Estas features podem destacar seu produto:
153
+ 1. [Feature 1]
154
+ 2. [Feature 2]
155
+
156
+ ### Anti-Features (Evitar)
157
+ Complexidades que não agregam valor:
158
+ 1. [Feature 1]
159
+ ```
160
+
161
+ **4.2 Coletar requisitos do usuário:**
162
+ Usar AskUserQuestion para cada categoria de feature descoberta, ou perguntar diretamente se não houve pesquisa:
163
+
164
+ ```
165
+ header: "Requisitos"
166
+ question: "Quais features você quer incluir?"
167
+ multiSelect: true
168
+ options:
169
+ - label: "[Feature 1]"
170
+ description: "[descrição breve]"
171
+ - label: "[Feature 2]"
172
+ description: "[descrição breve]"
173
+ ...
174
+ ```
175
+
176
+ **4.3 Classificar requisitos:**
177
+ ```
178
+ header: "Priorização"
179
+ question: "Para cada feature selecionada, classifique como:"
180
+ options:
181
+ - label: "v1 (MVP)"
182
+ description: "Precisa estar na primeira versão"
183
+ - label: "v2 (Futuro)"
184
+ description: "Importante, mas pode esperar"
185
+ - label: "Fora de escopo"
186
+ description: "Não faz parte deste projeto"
187
+ ```
188
+
189
+ **4.4 Gerar REQUIREMENTS.md:**
190
+ ```markdown
191
+ # Requirements: [Project Name]
192
+
193
+ **Generated:** [YYYY-MM-DD]
194
+
195
+ ## v1 (MVP)
196
+ | ID | Requirement | Source |
197
+ |----|-------------|--------|
198
+ | REQ-001 | [description] | User/Research |
199
+
200
+ ## v2 (Future)
201
+ | ID | Requirement | Rationale for Deferral |
202
+ |----|-------------|------------------------|
203
+ | REQ-010 | [description] | [why not v1] |
204
+
205
+ ## Out of Scope
206
+ | Feature | Reason |
207
+ |---------|--------|
208
+ | [feature] | [why excluded] |
209
+ ```
210
+
211
+ Escrever em `.sincron-plan/REQUIREMENTS.md`.
212
+
213
+ ---
214
+
215
+ ### FASE 5: GERAÇÃO DO PRD
216
+
217
+ Spawnar agente Planejador:
218
+ ```
219
+ Task(
220
+ subagent_type: "general-purpose",
221
+ prompt: "Você é o Planejador do Sincron-Plan.
222
+
223
+ Sua missão: Transformar os requisitos em PRD, Roadmap e User Stories.
224
+
225
+ Inputs disponíveis em .sincron-plan/:
226
+ - PROJECT.md (obrigatório)
227
+ - REQUIREMENTS.md (obrigatório)
228
+ - research/SUMMARY.md (se existir)
229
+ - codebase/*.md (se existir)
230
+
231
+ Siga as instruções em sincron-plan/agents/planejador.md.
232
+ Use os templates em sincron-plan/templates/.
233
+
234
+ Processo:
235
+ 1. Ler todos os inputs
236
+ 2. Agrupar requisitos em fases lógicas
237
+ 3. Identificar dependências
238
+ 4. Gerar success criteria observáveis
239
+ 5. Converter em user stories formato Sincron-Auto
240
+ 6. Escrever PRD.md, ROADMAP.md, user-stories.md
241
+
242
+ Retorne APENAS:
243
+ planning_complete
244
+ Files:
245
+ - .sincron-plan/PRD.md ([N] lines)
246
+ - .sincron-plan/ROADMAP.md ([N] lines)
247
+ - .sincron-plan/user-stories.md ([N] lines)
248
+ Total User Stories: [N]
249
+ Phases: [N]"
250
+ )
251
+ ```
252
+
253
+ ---
254
+
255
+ ### FASE 6: APROVAÇÃO
256
+
257
+ Apresentar resumo do plano gerado:
258
+ ```markdown
259
+ ## Plano Gerado
260
+
261
+ **Projeto**: [nome]
262
+ **Fases**: [N]
263
+ **User Stories**: [N]
264
+ **Requisitos v1**: [N]
265
+ **Requisitos v2**: [N]
266
+
267
+ ### Fases
268
+ 1. [Phase 1 name] - [N] stories
269
+ 2. [Phase 2 name] - [N] stories
270
+ ...
271
+
272
+ Documentos gerados:
273
+ - `.sincron-plan/PRD.md`
274
+ - `.sincron-plan/ROADMAP.md`
275
+ - `.sincron-plan/user-stories.md`
276
+ ```
277
+
278
+ Perguntar ao usuário:
279
+ ```
280
+ header: "Aprovação"
281
+ question: "Este plano funciona para você?"
282
+ options:
283
+ - label: "Aprovar"
284
+ description: "Plano está bom, finalizar"
285
+ - label: "Ajustar"
286
+ description: "Preciso de modificações"
287
+ ```
288
+
289
+ **SE "Ajustar":**
290
+ Perguntar o que precisa mudar e regenerar a fase relevante.
291
+
292
+ ---
293
+
294
+ ### FASE 7: INTEGRAÇÃO COM SINCRON-AUTO
295
+
296
+ **7.1 Detectar se Sincron-Auto está instalado:**
297
+ Verificar se existe `.claude/commands/sincron-auto.md`.
298
+
299
+ **7.2 SE instalado:**
300
+ ```
301
+ header: "Sincron-Auto"
302
+ question: "Sincron-Auto detectado. Copiar user-stories para execução?"
303
+ options:
304
+ - label: "Sim, copiar"
305
+ description: "Copia para .sincron-auto/user-stories.md"
306
+ - label: "Não, manter apenas aqui"
307
+ description: "User stories ficam em .sincron-plan/"
308
+ ```
309
+
310
+ **SE "Sim":**
311
+ ```bash
312
+ mkdir -p .sincron-auto
313
+ cp .sincron-plan/user-stories.md .sincron-auto/user-stories.md
314
+ ```
315
+
316
+ **7.3 SE não instalado:**
317
+ ```
318
+ User stories prontas em `.sincron-plan/user-stories.md`
319
+
320
+ Para executar com Sincron-Auto:
321
+ 1. Instale o plugin Sincron-Auto
322
+ 2. Execute /sincron-auto para iniciar implementação
323
+ ```
324
+
325
+ ---
326
+
327
+ ### FASE 8: ATUALIZAR STATE
328
+
329
+ Atualizar `.sincron-plan/state.json`:
330
+ ```json
331
+ {
332
+ "status": "complete",
333
+ "project_name": "[nome]",
334
+ "has_codebase_map": true/false,
335
+ "has_research": true/false,
336
+ "phases": [
337
+ {
338
+ "id": 1,
339
+ "name": "[name]",
340
+ "requirements": ["REQ-001", "REQ-002"],
341
+ "stories": ["US-001", "US-002"],
342
+ "status": "pending"
343
+ }
344
+ ],
345
+ "requirements": {
346
+ "v1": ["REQ-001", "REQ-002"],
347
+ "v2": ["REQ-010"],
348
+ "out_of_scope": ["REQ-020"]
349
+ },
350
+ "planning_date": "[YYYY-MM-DD]"
351
+ }
352
+ ```
353
+
354
+ ---
355
+
356
+ ### FASE 9: FINALIZAR
357
+
358
+ ```markdown
359
+ ## ✅ Planejamento Completo
360
+
361
+ ### Documentos Gerados
362
+ | Documento | Descrição |
363
+ |-----------|-----------|
364
+ | `PROJECT.md` | Definição do projeto |
365
+ | `REQUIREMENTS.md` | Requisitos classificados |
366
+ | `PRD.md` | Product Requirements Document |
367
+ | `ROADMAP.md` | Visão de fases |
368
+ | `user-stories.md` | Stories para implementação |
369
+
370
+ ### Estatísticas
371
+ - **Fases**: [N]
372
+ - **User Stories**: [N]
373
+ - **Requisitos v1**: [N]
374
+ - **Requisitos v2**: [N]
375
+
376
+ ### Próximos Passos
377
+ [Se Sincron-Auto detectado]
378
+ Execute `/sincron-auto` para iniciar a implementação.
379
+
380
+ [Se não]
381
+ Use as user stories em `.sincron-plan/user-stories.md` como guia de implementação.
382
+ ```
383
+
384
+ ## Tratamento de Erros
385
+
386
+ ### Agente Questionador Não Consegue Clareza
387
+ ```
388
+ "Não consegui entender completamente o projeto após várias tentativas.
389
+ Pontos ainda confusos:
390
+ - [ponto 1]
391
+ - [ponto 2]
392
+
393
+ Podemos tentar novamente com mais contexto?"
394
+ ```
395
+
396
+ ### Pesquisa Retorna Pouco
397
+ ```
398
+ "A pesquisa retornou poucos resultados relevantes.
399
+ Isso pode acontecer com domínios muito nichados.
400
+
401
+ Deseja continuar sem pesquisa ou tentar termos diferentes?"
402
+ ```
403
+
404
+ ### Planejador Não Consegue Gerar
405
+ ```
406
+ "Não consegui gerar o plano. Possíveis causas:
407
+ - Requisitos muito vagos
408
+ - Conflitos entre requisitos
409
+ - Escopo muito amplo
410
+
411
+ Deseja revisar os requisitos?"
412
+ ```
@@ -0,0 +1,106 @@
1
+ # Arquitetura do Sincron-Plan
2
+
3
+ ## Visão Geral
4
+
5
+ O Sincron-Plan é um plugin independente que adiciona capacidades de planejamento estruturado e mapeamento de codebase ao ecossistema Sincron.
6
+
7
+ ## Decisões Arquiteturais
8
+
9
+ | Decisão | Escolha | Rationale |
10
+ |---------|---------|-----------|
11
+ | Arquitetura | Plugin Separado | Independência, pode ser usado com ou sem Sincron-Auto |
12
+ | Fluxo Brownfield | Oferecer mapeamento | Pergunta se quer mapear, mas permite pular (greenfield) |
13
+ | Documentos de Mapeamento | 4 essenciais | STACK, ARCHITECTURE, STRUCTURE, CONCERNS |
14
+
15
+ ## Arquitetura Anti-OOM
16
+
17
+ **Regra Fundamental**: Máximo 2 níveis de aninhamento.
18
+
19
+ ```
20
+ Command (sincron-plan.md ou sincron-map.md)
21
+ ├─ Task(Questionador) → retorna project_defined
22
+ ├─ Task(Pesquisador) → retorna research_complete
23
+ ├─ Task(Mapeador x2 paralelo) → retorna mapping_complete
24
+ └─ Task(Planejador) → retorna planning_complete
25
+ ```
26
+
27
+ ### Restrições dos Agentes
28
+
29
+ Agentes NUNCA:
30
+ - Chamam outros agentes
31
+ - Usam AskUserQuestion (apenas Command usa)
32
+ - Retornam conteúdo volumoso (apenas status + file paths)
33
+
34
+ ### Comunicação via Arquivos
35
+
36
+ ```
37
+ .sincron-plan/
38
+ ├── request.json # Command → Agentes
39
+ ├── PROJECT.md # Questionador output
40
+ ├── codebase/ # Mapeador output
41
+ │ ├── STACK.md
42
+ │ ├── ARCHITECTURE.md
43
+ │ ├── STRUCTURE.md
44
+ │ └── CONCERNS.md
45
+ ├── research/
46
+ │ └── SUMMARY.md # Pesquisador output
47
+ ├── REQUIREMENTS.md # Command gera após seleção
48
+ ├── PRD.md # Planejador output
49
+ ├── ROADMAP.md # Planejador output
50
+ └── user-stories.md # Planejador output (Sincron-Auto format)
51
+ ```
52
+
53
+ ## State Management
54
+
55
+ **Arquivo**: `.sincron-plan/state.json`
56
+
57
+ ```json
58
+ {
59
+ "status": "initialized | mapped | planned | complete",
60
+ "project_name": "...",
61
+ "has_codebase_map": true,
62
+ "has_research": false,
63
+ "phases": [
64
+ {
65
+ "id": 1,
66
+ "name": "Foundation",
67
+ "requirements": ["REQ-001", "REQ-002"],
68
+ "status": "pending"
69
+ }
70
+ ],
71
+ "requirements": {
72
+ "v1": ["REQ-001", "REQ-002"],
73
+ "v2": ["REQ-010"],
74
+ "out_of_scope": ["REQ-020"]
75
+ }
76
+ }
77
+ ```
78
+
79
+ ## Integração com Sincron-Auto
80
+
81
+ Quando Sincron-Auto está instalado:
82
+
83
+ 1. **Detecção automática**: Verificar se `.claude/commands/sincron-auto.md` existe
84
+ 2. **Conversão**: User stories geradas já seguem formato Sincron-Auto
85
+ 3. **Cópia opcional**: Perguntar se quer copiar para `.sincron-auto/user-stories.md`
86
+ 4. **Bypass setup**: Se Sincron-Plan já rodou, Sincron-Auto pode pular fase de planejamento
87
+
88
+ ## Fluxo de Dados
89
+
90
+ ```
91
+ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
92
+ │ User Input │────▶│ Command │────▶│ Agentes │
93
+ └─────────────────┘ └────────┬────────┘ └────────┬────────┘
94
+ │ │
95
+ │ ▼
96
+ │ ┌─────────────────┐
97
+ │ │ .sincron-plan/ │
98
+ │ │ (arquivos) │
99
+ │ └────────┬────────┘
100
+ │ │
101
+ ▼ │
102
+ ┌─────────────────┐ │
103
+ │ State Machine │◀─────────────┘
104
+ │ (state.json) │
105
+ └─────────────────┘
106
+ ```
package/docs/fluxo.md ADDED
@@ -0,0 +1,166 @@
1
+ # Fluxo do Sincron-Plan
2
+
3
+ ## Fluxo Visual Completo
4
+
5
+ ```
6
+ ┌─────────────────────────────────────────────────────────────────┐
7
+ │ /sincron-plan │
8
+ └─────────────────────────────────────────────────────────────────┘
9
+
10
+
11
+ ┌─────────────────┐
12
+ │ Código existe? │
13
+ └────────┬────────┘
14
+
15
+ ┌──────────────┴──────────────┐
16
+ │ │
17
+ ▼ ▼
18
+ ┌─────────────────┐ ┌─────────────────┐
19
+ │ SIM - Mapear? │ │ NÃO - Greenfield│
20
+ └────────┬────────┘ └────────┬────────┘
21
+ │ │
22
+ ┌───────┴───────┐ │
23
+ │ │ │
24
+ ▼ ▼ │
25
+ ┌─────────┐ ┌─────────┐ │
26
+ │ /map │ │ Pular │ │
27
+ └────┬────┘ └────┬────┘ │
28
+ │ │ │
29
+ └──────────────┴──────────────────────┘
30
+
31
+
32
+ ┌─────────────────┐
33
+ │ Questionador │
34
+ │ (PROJECT.md) │
35
+ └────────┬────────┘
36
+
37
+
38
+ ┌─────────────────┐
39
+ │ Pesquisar? │
40
+ └────────┬────────┘
41
+
42
+ ┌──────────────┴──────────────┐
43
+ │ │
44
+ ▼ ▼
45
+ ┌─────────────────┐ ┌─────────────────┐
46
+ │ Pesquisador │ │ Pular │
47
+ │ (SUMMARY.md) │ │ │
48
+ └────────┬────────┘ └────────┬────────┘
49
+ │ │
50
+ └──────────────┬──────────────┘
51
+
52
+
53
+ ┌─────────────────┐
54
+ │ Seleção de Reqs │
55
+ │ (REQUIREMENTS) │
56
+ └────────┬────────┘
57
+
58
+
59
+ ┌─────────────────┐
60
+ │ Planejador │
61
+ │ (PRD + Stories) │
62
+ └────────┬────────┘
63
+
64
+
65
+ ┌─────────────────┐
66
+ │ Aprovação │
67
+ └────────┬────────┘
68
+
69
+ ┌────────────┴────────────┐
70
+ │ │
71
+ ▼ ▼
72
+ ┌─────────────────┐ ┌─────────────────┐
73
+ │Sincron-Auto │ │ Finalizar │
74
+ │detectado? Copiar│ │ │
75
+ └─────────────────┘ └─────────────────┘
76
+ ```
77
+
78
+ ## Descrição das Fases
79
+
80
+ ### FASE 1: DETECÇÃO DE CONTEXTO
81
+ - Verificar se existe código no diretório
82
+ - SE existe código E NÃO existe `.sincron-plan/codebase/`:
83
+ - Perguntar: "Detectei código existente. Deseja mapear antes de planejar?"
84
+ - Sim → Executar /sincron-map primeiro
85
+ - Não → Continuar (usuário assume risco)
86
+ - SE não existe código OU já tem mapeamento:
87
+ - Continuar para Fase 2
88
+
89
+ ### FASE 2: QUESTIONAMENTO PROFUNDO
90
+ - Spawnar agente Questionador
91
+ - Processo conversacional (NÃO checklist):
92
+ 1. "O que você quer construir?"
93
+ 2. Follow-ups baseados na resposta
94
+ 3. Clarificar: problema, usuários, definição de "pronto"
95
+ 4. Desafiar vaguidões: "Quando você diz X, quer dizer A ou B?"
96
+ - Gate de decisão: "Entendi o suficiente. Criar PROJECT.md?"
97
+ - Sim → Escrever `.sincron-plan/PROJECT.md`
98
+ - Continuar explorando → Loop
99
+ - Retornar ao Command com: `project_defined`
100
+
101
+ ### FASE 3: PESQUISA DE DOMÍNIO (Opcional)
102
+ - Perguntar: "Pesquisar ecossistema/melhores práticas antes de definir requisitos?"
103
+ - SE Sim:
104
+ - Spawnar agente Pesquisador
105
+ - Usar Context7 PRIMEIRO (libraries/frameworks)
106
+ - WebSearch para descoberta
107
+ - Gerar `.sincron-plan/research/SUMMARY.md`
108
+ - Retornar: `research_complete`
109
+ - SE Não:
110
+ - Pular para Fase 4
111
+
112
+ ### FASE 4: DEFINIÇÃO DE REQUISITOS
113
+ - Apresentar features descobertas (se pesquisa feita)
114
+ - Table stakes (essenciais)
115
+ - Differentiators (diferenciais)
116
+ - Anti-features (não fazer)
117
+ - Usuário seleciona: v1 / v2 / fora de escopo
118
+ - Gerar `.sincron-plan/REQUIREMENTS.md` com REQ-IDs
119
+ - Retornar: `requirements_defined`
120
+
121
+ ### FASE 5: GERAÇÃO DO PRD
122
+ - Spawnar agente Planejador
123
+ - Inputs:
124
+ - PROJECT.md
125
+ - REQUIREMENTS.md
126
+ - research/SUMMARY.md (se existe)
127
+ - codebase/*.md (se existe)
128
+ - Processo:
129
+ 1. Agrupar requirements em fases lógicas
130
+ 2. Identificar dependências
131
+ 3. Definir success criteria (perspectiva do usuário)
132
+ 4. Gerar PRD.md com user stories formato Sincron-Auto
133
+ - Gate de aprovação: "Este plano funciona para você?"
134
+ - Aprovar → Finalizar
135
+ - Ajustar → Feedback e regenerar
136
+ - Saída final:
137
+ - `.sincron-plan/PRD.md` (PRD completo)
138
+ - `.sincron-plan/ROADMAP.md` (visão de fases)
139
+ - `.sincron-plan/user-stories.md` (formato Sincron-Auto)
140
+
141
+ ### FASE 6: INTEGRAÇÃO COM SINCRON-AUTO (se disponível)
142
+ - Detectar se Sincron-Auto está instalado
143
+ - SE instalado:
144
+ - Perguntar: "Sincron-Auto detectado. Copiar user-stories para execução?"
145
+ - Sim → Copiar para `.sincron-auto/user-stories.md`
146
+ - Não → Apenas manter em `.sincron-plan/`
147
+ - SE não instalado:
148
+ - Exibir: "User stories prontas em `.sincron-plan/user-stories.md`"
149
+
150
+ ## Fluxo do /sincron-map
151
+
152
+ ```
153
+ 1. Verificar se .sincron-plan/codebase/ existe
154
+ ├─ Existe → Perguntar: Atualizar / Usar existente / Ignorar
155
+ └─ Não existe → Continuar
156
+
157
+ 2. Spawnar 2 agentes mapeadores em paralelo (arquitetura anti-OOM):
158
+ ├─ Agente 1: STACK.md + ARCHITECTURE.md
159
+ └─ Agente 2: STRUCTURE.md + CONCERNS.md
160
+
161
+ 3. Aguardar confirmações (file paths + line counts apenas)
162
+
163
+ 4. Verificar outputs (todos 4 documentos existem, >20 linhas cada)
164
+
165
+ 5. Exibir resumo e sugerir: /sincron-plan para iniciar planejamento
166
+ ```