synapos 2.5.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/.github/copilot-instructions.md +72 -0
- package/.synapos/.manifest.json +155 -0
- package/.synapos/GUIDE.md +660 -0
- package/.synapos/VERSION +1 -0
- package/.synapos/_memory/company.md +11 -0
- package/.synapos/_memory/preferences.md +15 -0
- package/.synapos/copilot.md +451 -0
- package/.synapos/core/best-practices/_catalog.yaml +56 -0
- package/.synapos/core/best-practices/content/blog-post.md +238 -0
- package/.synapos/core/best-practices/content/copywriting.md +164 -0
- package/.synapos/core/best-practices/content/linkedin-post.md +186 -0
- package/.synapos/core/best-practices/dev/api-design.md +274 -0
- package/.synapos/core/best-practices/dev/code-review.md +138 -0
- package/.synapos/core/best-practices/dev/git-workflow.md +256 -0
- package/.synapos/core/best-practices/dev/testing-strategy.md +213 -0
- package/.synapos/core/best-practices/product/product-spec.md +235 -0
- package/.synapos/core/best-practices/product/technical-writing.md +264 -0
- package/.synapos/core/best-practices/product/user-research.md +242 -0
- package/.synapos/core/commands/bump.md +59 -0
- package/.synapos/core/commands/debug/session.md +100 -0
- package/.synapos/core/commands/migrate/v1-to-v2.md +142 -0
- package/.synapos/core/commands/set-model.md +197 -0
- package/.synapos/core/commands/setup/build-business.md +378 -0
- package/.synapos/core/commands/setup/build-tech.md +374 -0
- package/.synapos/core/commands/setup/discover.md +543 -0
- package/.synapos/core/commands/setup/from-code.md +407 -0
- package/.synapos/core/commands/setup/start.md +201 -0
- package/.synapos/core/copilot-adapter.md +283 -0
- package/.synapos/core/gate-system.md +417 -0
- package/.synapos/core/model-adapter.md +245 -0
- package/.synapos/core/orchestrator.md +794 -0
- package/.synapos/core/pipeline-runner.md +784 -0
- package/.synapos/core/pipelines/pre-execution.yaml +107 -0
- package/.synapos/core/rules/product-agent.mdc +59 -0
- package/.synapos/core/skills-engine.md +207 -0
- package/.synapos/core/versioning.md +218 -0
- package/.synapos/skills/.gitkeep +0 -0
- package/.synapos/skills/brave-search/SKILL.md +130 -0
- package/.synapos/skills/fetch-url/SKILL.md +135 -0
- package/.synapos/skills/filesystem/SKILL.md +162 -0
- package/.synapos/skills/github/SKILL.md +148 -0
- package/.synapos/skills/playwright-browser/SKILL.md +124 -0
- package/.synapos/squad-templates/backend/agents/alexandre-api.agent.md +243 -0
- package/.synapos/squad-templates/backend/agents/bruno-base.agent.md +240 -0
- package/.synapos/squad-templates/backend/agents/daniela-dados.agent.md +267 -0
- package/.synapos/squad-templates/backend/agents/roberto-revisao-be.agent.md +219 -0
- package/.synapos/squad-templates/backend/agents/sergio-seguranca.agent.md +266 -0
- package/.synapos/squad-templates/backend/pipelines/api-development.yaml +83 -0
- package/.synapos/squad-templates/backend/pipelines/bug-fix.yaml +41 -0
- package/.synapos/squad-templates/backend/pipelines/database-migration.yaml +56 -0
- package/.synapos/squad-templates/backend/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/backend/pipelines/steps/01-gate-integridade.md +66 -0
- package/.synapos/squad-templates/backend/pipelines/steps/02-design-api.md +155 -0
- package/.synapos/squad-templates/backend/pipelines/steps/03-checkpoint-contrato.md +44 -0
- package/.synapos/squad-templates/backend/pipelines/steps/04-implementacao.md +113 -0
- package/.synapos/squad-templates/backend/pipelines/steps/05-seguranca.md +100 -0
- package/.synapos/squad-templates/backend/pipelines/steps/06-review.md +80 -0
- package/.synapos/squad-templates/backend/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/backend/pipelines/steps/bfbe-02-diagnostico.md +47 -0
- package/.synapos/squad-templates/backend/pipelines/steps/bfbe-03-fix.md +41 -0
- package/.synapos/squad-templates/backend/pipelines/steps/bfbe-04-review.md +42 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-02-schema.md +85 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-03-checkpoint.md +30 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-04-migration.md +58 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-05-review.md +44 -0
- package/.synapos/squad-templates/backend/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/backend/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/backend/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/backend/template.yaml +72 -0
- package/.synapos/squad-templates/devops/agents/claudio-containers.agent.md +245 -0
- package/.synapos/squad-templates/devops/agents/igor-infra.agent.md +198 -0
- package/.synapos/squad-templates/devops/agents/osvaldo-observabilidade.agent.md +262 -0
- package/.synapos/squad-templates/devops/agents/patricia-pipeline.agent.md +253 -0
- package/.synapos/squad-templates/devops/pipelines/ci-cd-setup.yaml +93 -0
- package/.synapos/squad-templates/devops/pipelines/infra-provision.yaml +56 -0
- package/.synapos/squad-templates/devops/pipelines/quick-fix.yaml +41 -0
- package/.synapos/squad-templates/devops/pipelines/steps/01-gate-integridade.md +62 -0
- package/.synapos/squad-templates/devops/pipelines/steps/02-infra-design.md +31 -0
- package/.synapos/squad-templates/devops/pipelines/steps/03-containers.md +28 -0
- package/.synapos/squad-templates/devops/pipelines/steps/04-checkpoint.md +20 -0
- package/.synapos/squad-templates/devops/pipelines/steps/05-pipeline-cicd.md +29 -0
- package/.synapos/squad-templates/devops/pipelines/steps/06-observabilidade.md +28 -0
- package/.synapos/squad-templates/devops/pipelines/steps/07-review.md +27 -0
- package/.synapos/squad-templates/devops/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-02-design.md +21 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-03-iac.md +20 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-04-checkpoint.md +22 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-05-apply.md +22 -0
- package/.synapos/squad-templates/devops/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/devops/pipelines/steps/qf-03-executar.md +52 -0
- package/.synapos/squad-templates/devops/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/devops/template.yaml +68 -0
- package/.synapos/squad-templates/engineer/agents/leo-engenheiro.agent.md +203 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/01-gate.md +22 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/02-preparacao.md +66 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/03-investigacao.md +110 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/04-checkpoint-contexto.md +24 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/05-arquitetura.md +127 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/06-checkpoint-arquitetura.md +27 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/07-planejamento.md +109 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/08-checkpoint-plano.md +27 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/09-execucao.md +121 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/atualizar-tarefa.md +27 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/visual-spec.md +74 -0
- package/.synapos/squad-templates/engineer/pipelines/feature-development.yaml +107 -0
- package/.synapos/squad-templates/engineer/template.yaml +56 -0
- package/.synapos/squad-templates/frontend/agents/ana-arquitetura-fe.agent.md +245 -0
- package/.synapos/squad-templates/frontend/agents/paulo-performance.agent.md +234 -0
- package/.synapos/squad-templates/frontend/agents/renata-revisao-fe.agent.md +219 -0
- package/.synapos/squad-templates/frontend/agents/rodrigo-react.agent.md +261 -0
- package/.synapos/squad-templates/frontend/agents/tiago-testes-fe.agent.md +229 -0
- package/.synapos/squad-templates/frontend/agents/ursula-ui.agent.md +283 -0
- package/.synapos/squad-templates/frontend/pipelines/bug-fix.yaml +40 -0
- package/.synapos/squad-templates/frontend/pipelines/component-development.yaml +48 -0
- package/.synapos/squad-templates/frontend/pipelines/feature-development.yaml +76 -0
- package/.synapos/squad-templates/frontend/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/01-gate-integridade.md +66 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/02-arquitetura.md +100 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/03-checkpoint-design.md +43 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/04-implementacao.md +114 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/05-review.md +104 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/06-docs.md +51 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/bf-02-diagnostico.md +52 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/bf-03-fix.md +58 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/bf-04-review.md +43 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/cd-02-spec.md +96 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/qf-03-executar.md +45 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/frontend/template.yaml +77 -0
- package/.synapos/squad-templates/fullstack/agents/carlos-coordenador.agent.md +266 -0
- package/.synapos/squad-templates/fullstack/pipelines/bug-fix.yaml +46 -0
- package/.synapos/squad-templates/fullstack/pipelines/integration-feature.yaml +92 -0
- package/.synapos/squad-templates/fullstack/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/01-gate-integridade.md +66 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/02-contrato-api.md +63 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/03-checkpoint-contrato.md +25 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/04-frontend.md +35 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/05-backend.md +36 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/06-integracao.md +47 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/07-review.md +49 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/bf-02-diagnostico.md +34 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/bf-03-fix.md +22 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/bf-04-review.md +22 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/fullstack/template.yaml +93 -0
- package/.synapos/squad-templates/ia-dados/agents/diana-dados.agent.md +269 -0
- package/.synapos/squad-templates/ia-dados/agents/larissa-llm.agent.md +255 -0
- package/.synapos/squad-templates/ia-dados/agents/marco-ml.agent.md +227 -0
- package/.synapos/squad-templates/ia-dados/agents/nelson-notebook.agent.md +252 -0
- package/.synapos/squad-templates/ia-dados/pipelines/data-pipeline.yaml +71 -0
- package/.synapos/squad-templates/ia-dados/pipelines/ml-feature.yaml +91 -0
- package/.synapos/squad-templates/ia-dados/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/01-gate-integridade.md +62 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/02-exploracao.md +36 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/03-design.md +25 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/04-checkpoint.md +23 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/05-implementacao.md +26 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/06-avaliacao.md +29 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/07-deploy.md +30 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-02-design.md +21 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-03-checkpoint.md +14 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-04-implementacao.md +19 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-05-qualidade.md +21 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-06-deploy.md +22 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-03-executar.md +53 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/ia-dados/template.yaml +68 -0
- package/.synapos/squad-templates/mobile/agents/felipe-feature.agent.md +234 -0
- package/.synapos/squad-templates/mobile/agents/marina-mobile.agent.md +219 -0
- package/.synapos/squad-templates/mobile/agents/viviane-visual.agent.md +218 -0
- package/.synapos/squad-templates/mobile/pipelines/bug-fix.yaml +47 -0
- package/.synapos/squad-templates/mobile/pipelines/feature-development.yaml +77 -0
- package/.synapos/squad-templates/mobile/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/01-gate-integridade.md +62 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/02-arquitetura.md +35 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/03-design-ux.md +29 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/04-checkpoint.md +20 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/05-implementacao.md +26 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/06-review.md +27 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/bf-02-diagnostico.md +22 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/bf-03-fix.md +23 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/bf-04-review.md +20 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/mobile/template.yaml +73 -0
- package/.synapos/squad-templates/produto/agents/ana-analise.agent.md +243 -0
- package/.synapos/squad-templates/produto/agents/eduardo-estrategia.agent.md +258 -0
- package/.synapos/squad-templates/produto/agents/paulo-pesquisa.agent.md +226 -0
- package/.synapos/squad-templates/produto/agents/priscila-produto.agent.md +235 -0
- package/.synapos/squad-templates/produto/agents/tania-tecnica.agent.md +239 -0
- package/.synapos/squad-templates/produto/agents/ursula-ux.agent.md +231 -0
- package/.synapos/squad-templates/produto/pipelines/discovery-spec-handoff.yaml +152 -0
- package/.synapos/squad-templates/produto/pipelines/nova-feature.yaml +77 -0
- package/.synapos/squad-templates/produto/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/produto/pipelines/quick-spec.yaml +60 -0
- package/.synapos/squad-templates/produto/pipelines/refinar-docs.yaml +33 -0
- package/.synapos/squad-templates/produto/pipelines/steps/01-gate-integridade.md +48 -0
- package/.synapos/squad-templates/produto/pipelines/steps/02-contexto-negocio.md +119 -0
- package/.synapos/squad-templates/produto/pipelines/steps/03-personas.md +107 -0
- package/.synapos/squad-templates/produto/pipelines/steps/04-checkpoint-research.md +53 -0
- package/.synapos/squad-templates/produto/pipelines/steps/04b-alinhamento-estrategico.md +92 -0
- package/.synapos/squad-templates/produto/pipelines/steps/05-spec.md +138 -0
- package/.synapos/squad-templates/produto/pipelines/steps/05b-checkpoint-spec.md +60 -0
- package/.synapos/squad-templates/produto/pipelines/steps/06-requisitos.md +118 -0
- package/.synapos/squad-templates/produto/pipelines/steps/06b-checkpoint-requisitos.md +53 -0
- package/.synapos/squad-templates/produto/pipelines/steps/06c-visual-spec.md +59 -0
- package/.synapos/squad-templates/produto/pipelines/steps/07-arquitetura.md +160 -0
- package/.synapos/squad-templates/produto/pipelines/steps/08-handoff.md +130 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-02-validar-requisito.md +73 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-03-verificar-docs.md +69 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-04-spec.md +160 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-05-checkpoint-aprovacao.md +50 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-06-versionar.md +71 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-07-handoff.md +99 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-08-criar-tarefas.md +232 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qs-02-contexto.md +59 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qs-03-spec.md +67 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qs-05-handoff.md +49 -0
- package/.synapos/squad-templates/produto/pipelines/steps/rf-02-selecionar.md +66 -0
- package/.synapos/squad-templates/produto/pipelines/steps/rf-03-delta.md +73 -0
- package/.synapos/squad-templates/produto/pipelines/steps/rf-04-criar-versao.md +86 -0
- package/.synapos/squad-templates/produto/template.yaml +91 -0
- package/.synapos/squads/.gitkeep +0 -0
- package/README.md +285 -0
- package/bin/synapos.js +331 -0
- package/package.json +26 -0
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
# Project Discovery & Context Mapping
|
|
2
|
+
|
|
3
|
+
Este comando analisa automaticamente o projeto e gera um briefing técnico completo em formato modular.
|
|
4
|
+
|
|
5
|
+
É **OPCIONAL** e pode ser executado:
|
|
6
|
+
- Uma vez no início do projeto
|
|
7
|
+
- Quando ADRs mudarem significativamente
|
|
8
|
+
- Quando novo frontend Lovable for adicionado
|
|
9
|
+
- Quando arquitetura backend mudar
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# REGRAS ABSOLUTAS
|
|
14
|
+
|
|
15
|
+
## Regra 1: JANELAS INTERATIVAS são OBRIGATÓRIAS
|
|
16
|
+
|
|
17
|
+
Após cada fase de detecção, você DEVE usar `AskUserQuestion` para validar os resultados.
|
|
18
|
+
|
|
19
|
+
## Regra 2: NUNCA INVENTE
|
|
20
|
+
|
|
21
|
+
Você PODE detectar do código:
|
|
22
|
+
- Tecnologias, estrutura de pastas, endpoints, ADRs existentes, configurações
|
|
23
|
+
|
|
24
|
+
Você NÃO PODE inventar:
|
|
25
|
+
- Convenções não documentadas
|
|
26
|
+
- Decisões que não estão em ADRs
|
|
27
|
+
- Regras "sempre" ou "nunca" que não estão escritas
|
|
28
|
+
- Problemas ou dívida técnica
|
|
29
|
+
|
|
30
|
+
## Regra 3: SE NÃO ENCONTRAR, MARQUE COMO "NÃO DETECTADO"
|
|
31
|
+
|
|
32
|
+
Nunca assuma que existe convenção ou regra só porque "geralmente tem".
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Comportamento Incremental
|
|
37
|
+
|
|
38
|
+
Este comando é **não-destrutivo**:
|
|
39
|
+
- Se arquivos do briefing já existem: atualiza incrementalmente
|
|
40
|
+
- Se não existem: cria do zero
|
|
41
|
+
- Sempre preserva informações existentes
|
|
42
|
+
|
|
43
|
+
## Estrutura Gerada
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
docs/tech-context/
|
|
47
|
+
├── project-briefing.md # Índice mestre + resumo
|
|
48
|
+
└── briefing/
|
|
49
|
+
├── critical-rules.md # Regras não-negociáveis
|
|
50
|
+
├── adrs-summary.md # ADRs consolidadas
|
|
51
|
+
├── backend-conventions.md # Convenções de código
|
|
52
|
+
├── frontend-lovable.md # Mapeamento Lovable (se existe)
|
|
53
|
+
└── tech-stack.md # Stack tecnológico
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Fase 1: Análise de ADRs (Condicional)
|
|
59
|
+
|
|
60
|
+
### 1.1 Detectar ADRs
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
paths_to_check = [
|
|
64
|
+
"docs/tech-context/adr/",
|
|
65
|
+
"docs/adr/",
|
|
66
|
+
"docs/tech/adr/",
|
|
67
|
+
"adr/"
|
|
68
|
+
]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- Se **NENHUMA** pasta existe: pular esta fase completamente
|
|
72
|
+
- Se existe: prosseguir com análise
|
|
73
|
+
|
|
74
|
+
### 1.2 Processar ADRs (Silencioso)
|
|
75
|
+
|
|
76
|
+
Para cada arquivo `.md` encontrado na pasta de ADRs:
|
|
77
|
+
|
|
78
|
+
1. Ler o arquivo
|
|
79
|
+
2. Extrair: número, título, status, contexto, decisão, consequências
|
|
80
|
+
|
|
81
|
+
### 1.3 VALIDAR ADRs Detectadas
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
AskUserQuestion({
|
|
85
|
+
question: "Encontrei as seguintes ADRs. Todas estão ativas e corretas?",
|
|
86
|
+
options: [
|
|
87
|
+
{ label: "Sim, corretas", description: "Prosseguir" },
|
|
88
|
+
{ label: "ADRs incorretas", description: "Vou informar quais estão erradas" },
|
|
89
|
+
{ label: "Faltam ADRs", description: "Vou informar as que faltam" }
|
|
90
|
+
]
|
|
91
|
+
})
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Se "ADRs incorretas" ou "Faltam ADRs":
|
|
95
|
+
```
|
|
96
|
+
AskUserQuestion({
|
|
97
|
+
question: "Quais ADRs devem ser incluidas ou corrigidas?",
|
|
98
|
+
options: [
|
|
99
|
+
{ label: "Vou listar", description: "Informar ADRs manualmente" },
|
|
100
|
+
{ label: "Pular ADRs", description: "Gerar sem esta ADR" }
|
|
101
|
+
]
|
|
102
|
+
})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Fase 2: Mapeamento de Frontend Lovable (Condicional)
|
|
108
|
+
|
|
109
|
+
### 2.1 Detectar Frontend
|
|
110
|
+
|
|
111
|
+
Procurar por pastas:
|
|
112
|
+
```bash
|
|
113
|
+
frontend_paths = [
|
|
114
|
+
"apps/frontend/", "frontend/", "client/", "web/",
|
|
115
|
+
"packages/frontend/", "src/frontend/", "src/"
|
|
116
|
+
]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Para cada pasta encontrada:
|
|
120
|
+
- Verificar `package.json`
|
|
121
|
+
- Verificar se é React/TypeScript
|
|
122
|
+
|
|
123
|
+
### 2.2 Verificar se é Lovable
|
|
124
|
+
|
|
125
|
+
Padrões que indicam Lovable:
|
|
126
|
+
- Comentários com "lovable.dev" ou "Generated by Lovable"
|
|
127
|
+
- Estrutura: `src/components/`, `src/pages/`, `src/lib/`
|
|
128
|
+
- shadcn/ui (`components/ui/`)
|
|
129
|
+
- Vite config
|
|
130
|
+
|
|
131
|
+
### 2.3 VALIDAR Frontend Detectado
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
AskUserQuestion({
|
|
135
|
+
question: "Encontrei um frontend. É Lovable?",
|
|
136
|
+
options: [
|
|
137
|
+
{ label: "É Lovable", description: "Prosseguir com mapeamento" },
|
|
138
|
+
{ label: "É customizado", description: "Frontend manual, não Lovable" },
|
|
139
|
+
{ label: "Não é frontend", description: "Não existe frontend" }
|
|
140
|
+
]
|
|
141
|
+
})
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Se "É Lovable", perguntar sobre mocks:
|
|
145
|
+
```
|
|
146
|
+
AskUserQuestion({
|
|
147
|
+
question: "O frontend Lovable tem mocks de dados? (hardcoded no código)",
|
|
148
|
+
options: [
|
|
149
|
+
{ label: "Sim, tem mocks", description: "Vou identificar os mocks" },
|
|
150
|
+
{ label: "Não tem mocks", description: "Frontend já integrado" },
|
|
151
|
+
{ label: "Não sei", description: "Preciso verificar" }
|
|
152
|
+
]
|
|
153
|
+
})
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Se "Sim, tem mocks":
|
|
157
|
+
- Escaneie componentes .tsx/.jsx em `src/`
|
|
158
|
+
- Identifique: useState com arrays/objetos hardcoded, arquivos mock*.ts, fake*.ts
|
|
159
|
+
- NÃO invente — liste apenas o que encontrar
|
|
160
|
+
|
|
161
|
+
### 2.4 VALIDAR Mocks Encontrados
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
AskUserQuestion({
|
|
165
|
+
question: "Encontrei os seguintes mocks pendentes de integração. Confirmar?",
|
|
166
|
+
options: [
|
|
167
|
+
{ label: "Corretos", description: "Prosseguir" },
|
|
168
|
+
{ label: "Corrigir lista", description: "Vou informar quais estão errados" }
|
|
169
|
+
]
|
|
170
|
+
})
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Fase 3: Análise de Arquitetura Backend (Sempre executa)
|
|
176
|
+
|
|
177
|
+
### 3.1 Detectar Backend
|
|
178
|
+
|
|
179
|
+
Procurar por pastas:
|
|
180
|
+
```bash
|
|
181
|
+
backend_paths = [
|
|
182
|
+
"apps/backend/", "backend/", "server/", "api/",
|
|
183
|
+
"packages/backend/", "src/backend/", "src/"
|
|
184
|
+
]
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### 3.2 Mapear Estrutura de Pastas (Silencioso)
|
|
188
|
+
|
|
189
|
+
Escanear e detectar:
|
|
190
|
+
- `src/controllers/` ou `src/routes/` → HTTP handlers
|
|
191
|
+
- `src/services/` → Business logic
|
|
192
|
+
- `src/repositories/` ou `src/dal/` → Data access
|
|
193
|
+
- `src/models/` ou `src/entities/` → Domain models
|
|
194
|
+
- `src/shared/` → Código compartilhado (enums/, types/, schemas/, utils/)
|
|
195
|
+
- `src/tests/` ou `tests/` → Testes
|
|
196
|
+
|
|
197
|
+
### 3.3 Identificar Convenções (SÓ as detectáveis)
|
|
198
|
+
|
|
199
|
+
**Localização de ENUMs:**
|
|
200
|
+
- Procurar por arquivos `*.enum.ts`
|
|
201
|
+
- Marcar como "detectado em [caminho]" se > 80% estão na mesma pasta
|
|
202
|
+
|
|
203
|
+
**Padrões de arquitetura:**
|
|
204
|
+
- Repository Pattern? (existem pastas repositories/ E services/)
|
|
205
|
+
- Service Layer? (existe pasta services/)
|
|
206
|
+
- MVC? (existe controllers/, models/)
|
|
207
|
+
|
|
208
|
+
### 3.4 VALIDAR Backend Detectado
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
AskUserQuestion({
|
|
212
|
+
question: "Detectei backend em [caminho]. Estrutura está correta?",
|
|
213
|
+
options: [
|
|
214
|
+
{ label: "Correto", description: "Prosseguir" },
|
|
215
|
+
{ label: "Corrigir estrutura", description: "Vou informar a estrutura correta" }
|
|
216
|
+
]
|
|
217
|
+
})
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
AskUserQuestion({
|
|
222
|
+
question: "Detected as seguintes pastas. Confirmar convenções?",
|
|
223
|
+
options: [
|
|
224
|
+
{ label: "Corretas", description: "Prosseguir" },
|
|
225
|
+
{ label: "Corrigir", description: "Vou informar as correções" }
|
|
226
|
+
]
|
|
227
|
+
})
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### 3.5 NÃO Assuma, Pergunte
|
|
231
|
+
|
|
232
|
+
Se não conseguir detectar padrão claramente:
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
AskUserQuestion({
|
|
236
|
+
question: "Não consegui detectar o padrão arquitetural claramente. Qual é?",
|
|
237
|
+
options: [
|
|
238
|
+
{ label: "MVC", description: "Model-View-Controller" },
|
|
239
|
+
{ label: "Service Layer", description: "Services + Repositories" },
|
|
240
|
+
{ label: "Clean Architecture", description: "Camadas separadas" },
|
|
241
|
+
{ label: "Domain-Driven", description: "DDD com aggregates" },
|
|
242
|
+
{ label: "Outro", description: "Vou especificar" }
|
|
243
|
+
]
|
|
244
|
+
})
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Fase 4: Detectar Stack Tecnológico (Silencioso)
|
|
250
|
+
|
|
251
|
+
Ler `package.json` do backend:
|
|
252
|
+
|
|
253
|
+
**Extrair:**
|
|
254
|
+
- Framework web: express, fastify, nest, koa, hapi
|
|
255
|
+
- Database/ORM: prisma, typeorm, drizzle, sequelize, mongoose
|
|
256
|
+
- Validação: zod, joi, yup, class-validator
|
|
257
|
+
- Testes: jest, vitest, mocha
|
|
258
|
+
- Runtime: engines.node
|
|
259
|
+
|
|
260
|
+
### 4.1 VALIDAR Stack
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
AskUserQuestion({
|
|
264
|
+
question: "Detectei a seguinte stack. Confirmar?",
|
|
265
|
+
options: [
|
|
266
|
+
{ label: "Stack Correta", description: "Prosseguir" },
|
|
267
|
+
{ label: "Corrigir stack", description: "Vou informar a stack correta" }
|
|
268
|
+
]
|
|
269
|
+
})
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Se "Corrigir", perguntar cada item separadamente.
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Fase 5: VALIDAR TUDO ANTES DE GERAR
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
AskUserQuestion({
|
|
280
|
+
question: "Análise completa. Resumo do que foi detectado:",
|
|
281
|
+
options: [
|
|
282
|
+
{ label: "Está tudo correto", description: "Gerar briefing completo" },
|
|
283
|
+
{ label: "Preciso corrigir", description: "Vou informar o que está errado" }
|
|
284
|
+
]
|
|
285
|
+
})
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Se "Preciso corrigir":
|
|
289
|
+
```
|
|
290
|
+
AskUserQuestion({
|
|
291
|
+
question: "O que está errado?",
|
|
292
|
+
options: [
|
|
293
|
+
{ label: "ADRs", description: "Corrigir ADRs" },
|
|
294
|
+
{ label: "Frontend", description: "Corrigir frontend" },
|
|
295
|
+
{ label: "Backend", description: "Corrigir backend" },
|
|
296
|
+
{ label: "Stack", description: "Corrigir stack" },
|
|
297
|
+
{ label: "Tudo", description: "Vou corrigir tudo" }
|
|
298
|
+
]
|
|
299
|
+
})
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Fase 6: Geração dos Arquivos do Briefing
|
|
305
|
+
|
|
306
|
+
**SÓ execute após validação completa.**
|
|
307
|
+
|
|
308
|
+
### 6.1 Criar pasta
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
mkdir -p docs/tech-context/briefing/
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### 6.2 Gerar `project-briefing.md`
|
|
315
|
+
|
|
316
|
+
Template:
|
|
317
|
+
```markdown
|
|
318
|
+
# Project Briefing — {nome-do-projeto}
|
|
319
|
+
|
|
320
|
+
> Gerado por /setup:discover em {YYYY-MM-DD}
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Projeto
|
|
325
|
+
|
|
326
|
+
| Campo | Valor |
|
|
327
|
+
|---|---|
|
|
328
|
+
| **Nome** | {nome.detectado} |
|
|
329
|
+
| **Stack** | {stack.validada} |
|
|
330
|
+
| **Backend** | {caminho.detectado} |
|
|
331
|
+
| **Frontend** | {tipo.validado} |
|
|
332
|
+
|
|
333
|
+
## Status
|
|
334
|
+
|
|
335
|
+
- ADRs: {N detectadas e validadas}
|
|
336
|
+
- Frontend: {tipo.validado}
|
|
337
|
+
- Convenções: {N detectadas}
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## Índice
|
|
342
|
+
|
|
343
|
+
{links para arquivos do briefing}
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### 6.3 Gerar `briefing/critical-rules.md`
|
|
347
|
+
|
|
348
|
+
**Regras SOMENTE de ADRs com status "Aceito" ou "Ativo"**
|
|
349
|
+
|
|
350
|
+
Se não há ADRs ou nenhuma com status Aceito/Ativo:
|
|
351
|
+
```markdown
|
|
352
|
+
# Regras Críticas
|
|
353
|
+
|
|
354
|
+
⚠️ Nenhuma ADR com status "Aceito" encontrada.
|
|
355
|
+
|
|
356
|
+
Para definir regras críticas:
|
|
357
|
+
1. Crie ADRs em `docs/tech/adr/`
|
|
358
|
+
2. Defina o status como "Aceito" quando decidir
|
|
359
|
+
3. Rode /discover novamente
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
### 6.4 Gerar `briefing/adrs-summary.md`
|
|
363
|
+
|
|
364
|
+
Se ADRs existem e foram validadas:
|
|
365
|
+
- Índice por categoria
|
|
366
|
+
- Cada ADR com: título, status, decisão resumida
|
|
367
|
+
|
|
368
|
+
Se NÃO existem ADRs:
|
|
369
|
+
```markdown
|
|
370
|
+
# Sumário de ADRs
|
|
371
|
+
|
|
372
|
+
⚠️ Nenhuma ADR encontrada em `docs/tech/adr/`
|
|
373
|
+
|
|
374
|
+
Para criar ADRs, execute /setup:build-tech.
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
### 6.5 Gerar `briefing/backend-conventions.md`
|
|
378
|
+
|
|
379
|
+
**SÓ incluir convenções que foram validadas**
|
|
380
|
+
|
|
381
|
+
```markdown
|
|
382
|
+
# Convenções Backend
|
|
383
|
+
|
|
384
|
+
**Estrutura de pastas:** {estrutura.validada}
|
|
385
|
+
**Padrão arquitetural:** {padrão.validado}
|
|
386
|
+
|
|
387
|
+
⚠️ Convenções marcadas como "não detectadas" precisam ser validadas pelo time.
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
### 6.6 Gerar `briefing/frontend-lovable.md`
|
|
391
|
+
|
|
392
|
+
**SOMENTE se frontend Lovable foi confirmado**
|
|
393
|
+
|
|
394
|
+
```markdown
|
|
395
|
+
# Frontend Lovable
|
|
396
|
+
|
|
397
|
+
**Status:** X mocks pendentes de integração
|
|
398
|
+
|
|
399
|
+
{mockdetalhes.validado}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
Se NÃO há frontend Lovable: NÃO criar este arquivo.
|
|
403
|
+
|
|
404
|
+
### 6.7 Gerar `briefing/tech-stack.md`
|
|
405
|
+
|
|
406
|
+
```markdown
|
|
407
|
+
# Tech Stack
|
|
408
|
+
|
|
409
|
+
**Runtime:** {detectado}
|
|
410
|
+
**Framework:** {detectado}
|
|
411
|
+
**Database:** {detectado}
|
|
412
|
+
**ORM:** {detectado}
|
|
413
|
+
**Validação:** {detectado}
|
|
414
|
+
**Testes:** {detectado}
|
|
415
|
+
|
|
416
|
+
⚠️ Itens marcados como "não detectado" precisam ser preenchidos.
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### 6.8 Gerar `CLAUDE.md` (raiz)
|
|
420
|
+
|
|
421
|
+
**Sempre execute.** Criar ou sobrescrever.
|
|
422
|
+
|
|
423
|
+
```markdown
|
|
424
|
+
# {nome-do-projeto}
|
|
425
|
+
|
|
426
|
+
> Gerado por /setup:discover em {data}
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## Projeto
|
|
431
|
+
|
|
432
|
+
| Campo | Valor |
|
|
433
|
+
|---|---|
|
|
434
|
+
| **Nome** | {nome} |
|
|
435
|
+
| **Stack** | {stack} |
|
|
436
|
+
| **Backend** | {caminho} |
|
|
437
|
+
| **Frontend** | {tipo} |
|
|
438
|
+
| **Testes** | {framework} |
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
## Regras Críticas
|
|
443
|
+
|
|
444
|
+
> Extraídas de ADRs ativas
|
|
445
|
+
|
|
446
|
+
{listar APENAS se houver ADRs com status Aceito}
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## Estrutura do Framework
|
|
451
|
+
|
|
452
|
+
| Diretório | Conteúdo |
|
|
453
|
+
|---|---|
|
|
454
|
+
| `.synapos/core/` | Protocolos core do Framework Synapos |
|
|
455
|
+
| `.synapos/squads/` | Squads instanciados e seus agents |
|
|
456
|
+
| `docs/tech/` | Documentação técnica do projeto |
|
|
457
|
+
| `docs/business/` | Contexto de negócio |
|
|
458
|
+
| `docs/.squads/sessions/` | Estado das features em desenvolvimento |
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Regras de preenchimento:**
|
|
462
|
+
- `{nome-do-projeto}`: de package.json ou pasta raiz
|
|
463
|
+
- Stack: máximo 60 caracteres
|
|
464
|
+
- ADRs: listar apenas de impacto alto
|
|
465
|
+
- Se campo não detectado: usar `"Não detectado"`
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## Fase 7: Validar Arquivos Gerados
|
|
470
|
+
|
|
471
|
+
```
|
|
472
|
+
AskUserQuestion({
|
|
473
|
+
question: "Briefing gerado. Deseja revisar algum arquivo?",
|
|
474
|
+
options: [
|
|
475
|
+
{ label: "Revisar depois", description: "Encerrar aqui" },
|
|
476
|
+
{ label: "Revisar agora", description: "Vou abrir para revisão" }
|
|
477
|
+
]
|
|
478
|
+
})
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
---
|
|
482
|
+
|
|
483
|
+
## Resumo Final
|
|
484
|
+
|
|
485
|
+
```
|
|
486
|
+
✅ Project Discovery concluído!
|
|
487
|
+
|
|
488
|
+
📁 Arquivos gerados:
|
|
489
|
+
- CLAUDE.md (raiz)
|
|
490
|
+
- docs/tech-context/project-briefing.md
|
|
491
|
+
- docs/tech-context/briefing/critical-rules.md
|
|
492
|
+
- docs/tech-context/briefing/adrs-summary.md
|
|
493
|
+
- docs/tech-context/briefing/backend-conventions.md
|
|
494
|
+
- docs/tech-context/briefing/frontend-lovable.md [se aplicável]
|
|
495
|
+
- docs/tech-context/briefing/tech-stack.md
|
|
496
|
+
|
|
497
|
+
📊 Análise:
|
|
498
|
+
- ADRs: {N} (ativas: {N})
|
|
499
|
+
- Frontend: {tipo.validado}
|
|
500
|
+
- Backend: {caminho.validado}
|
|
501
|
+
- Stack: {stack.validada}
|
|
502
|
+
|
|
503
|
+
⚠️ Itens pendentes de validação:
|
|
504
|
+
{listar items marcados como "não detectado" ou "A VALIDAR"}
|
|
505
|
+
|
|
506
|
+
💡 Próximos Passos:
|
|
507
|
+
1. Revise critical-rules.md
|
|
508
|
+
2. Execute /setup:build-tech para completar docs técnicos
|
|
509
|
+
3. Execute /setup:build-business para docs de negócio
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
⛔ **IMPORTANTE: Após informar, AGUARDE feedback. NÃO prossiga automaticamente.**
|
|
513
|
+
|
|
514
|
+
---
|
|
515
|
+
|
|
516
|
+
## Tratamento de Erros
|
|
517
|
+
|
|
518
|
+
### Se ADRs malformadas:
|
|
519
|
+
- Avisar: "ADR X está malformada, pulando"
|
|
520
|
+
- NÃO criar ADR para ela
|
|
521
|
+
- Continuar com outras
|
|
522
|
+
|
|
523
|
+
### Se frontend sem padrão claro:
|
|
524
|
+
- Documentar como "Frontend Não-classificado"
|
|
525
|
+
- NÃO inventar mapeamento de mocks
|
|
526
|
+
|
|
527
|
+
### Se estrutura backend não reconhecida:
|
|
528
|
+
- Perguntar ao usuário com AskUserQuestion
|
|
529
|
+
- NÃO assumir convenções
|
|
530
|
+
|
|
531
|
+
### Se package.json não encontrado:
|
|
532
|
+
- Avisar: "Backend sem package.json"
|
|
533
|
+
- Documentar o que foi possível inferir
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
## Regras de Ouro
|
|
538
|
+
|
|
539
|
+
1. **Nunca assumir:** Se não encontrar, pergunte
|
|
540
|
+
2. **Ser incremental:** Não sobrescrever sem razão
|
|
541
|
+
3. **Ser conservador:** Na dúvida, marque "não detectado"
|
|
542
|
+
4. **Validar sempre:** AskUserQuestion após cada fase
|
|
543
|
+
5. **Parar no fim:** Aguardar feedback do usuário
|