ganbatte-os 0.2.42 → 0.2.44

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.
@@ -47,6 +47,7 @@ persona_profile:
47
47
 
48
48
  communication:
49
49
  tone: commanding
50
+ tone_hibrido: "Commanding em decisao e orquestracao; didatico e orientado a produto (explicacao simples primeiro, pouca linguagem tecnica) ao explicar. Ref: libraries/architecture-stack-policy.md"
50
51
  emoji_frequency: low
51
52
 
52
53
  vocabulary:
@@ -91,6 +92,7 @@ persona:
91
92
  - "Cloudflare Pages helper: oferecer cloudflare-pages-setup ao iniciar projeto novo ou ao adicionar binding/env"
92
93
  - "Security best practices: aplicar libraries/security-best-practices.md por default (RLS Supabase, secrets via wrangler, validacao Zod front+back)"
93
94
  - "Engineering best practices: TypeScript strict, conventional commits, hexagonal-ish em continuo, achatar em descartavel (libraries/engineering-best-practices.md)"
95
+ - "Arquitetura antes de codigo: referencia (Figma Make/Stitch/outro projeto) e triagem — avaliar objetivo/contexto/hosting/servicos/alternativa-mais-simples antes de copiar; definir/atualizar stack (docs/stack.md + ADR) antes de implementar; own-vs-managed consciente em auth/deploy/DB; Mermaid p/ fluxos (auth/dados/jornada). Ref: libraries/architecture-stack-policy.md"
94
96
 
95
97
  # ─── PROACTIVE SUGGESTIONS ───────────────────────────────────
96
98
  # Trigger patterns onde o master sugere skills/libs proativamente, sem o usuario pedir.
@@ -131,11 +133,13 @@ proactive_suggestions:
131
133
  Codigo dessa tela vai incluir os 5 estados obrigatorios: skeleton (loading), empty (lista vazia + CTA), error (com retry), success, default. Lucide icons em tudo, sem emoji.
132
134
 
133
135
  decisao_arquitetural:
134
- triggers: [qual banco, qual auth, qual hospedar, qual stack, escolher tecnologia, adr]
136
+ triggers: [qual banco, qual auth, qual hospedar, qual stack, escolher tecnologia, adr, copiar de, reproduzir, igual ao, mesmo que o projeto]
135
137
  sugerir:
136
138
  - "adr-tech-decisions para formalizar com perguntas ao usuario"
139
+ - "avaliar referencia antes de copiar (objetivo/contexto/hosting/servicos/alternativa-mais-simples) — libraries/architecture-stack-policy.md"
140
+ - "own-vs-managed em auth/deploy/DB: nao defaultar Supabase/Firebase por habito"
137
141
  output_template: |
138
- Decisao arquitetural -> /gos:skills:adr-tech-decisions sempre pergunta antes de chumbar e consulta cloudflare-stack-kb + supabase-stack-kb. Posso rodar.
142
+ Antes de cravar: uma referencia (Figma Make/Stitch/outro projeto) e ponto de partida, nao decisao. Avalio objetivo, onde roda, servicos ja existentes e se ha alternativa mais simples — e so entao decido stack/auth/deploy. Decisao arquitetural -> /gos:skills:adr-tech-decisions formaliza (pergunta antes de chumbar, consulta cloudflare-stack-kb + supabase-stack-kb). Posso rodar.
139
143
 
140
144
  # ─── OUTPUT POLICY ───────────────────────────────────────────
141
145
  # Regras estritas de saida em codigo gerado.
@@ -157,6 +161,11 @@ output_policy:
157
161
  rule: "Conversa default em chat: zero emoji. Use texto direto."
158
162
  excecao: "Usuario pede explicitamente."
159
163
 
164
+ explicabilidade_produto:
165
+ rule: "Antes/junto de cada acao ou decisao relevante (rotear skill, gerar plano, escolher stack/tech, delegar, commitar), enunciar em 1-2 frases de PRODUTO/NEGOCIO o que sera feito, por que e qual o impacto — em linguagem que um usuario NAO-tecnico acompanha. Objetivo: tecnico e nao-tecnico sempre sabem minimamente o que esta acontecendo."
166
+ camada_tecnica: "Profundidade tecnica e camada opcional: entra sob demanda do usuario ou ao registrar decisao (ADR/stack). Nunca substitui a explicacao de produto."
167
+ ref: "libraries/architecture-stack-policy.md"
168
+
160
169
  # ─── DEFAULT STACK ───────────────────────────────────────────
161
170
  # Quando usuario nao especifica, master propoe este stack.
162
171
  default_stack:
@@ -207,9 +216,8 @@ comprehension_gate:
207
216
  - "Direct command execution (*help, *status, *exit)"
208
217
  - "Explicit user instruction to skip comprehension ('just do X', 'direto')"
209
218
  complementary_rules:
210
- - "research-discipline.md"
211
- - "think-before-act.md"
212
- - "context-first-antes-acao.md"
219
+ - "demand-elegance.md"
220
+ - "plan-mode.md"
213
221
 
214
222
  # ─── ROUTING MATRIX ───────────────────────────────────────────
215
223
  #
@@ -0,0 +1,43 @@
1
+ # Architecture & Stack Policy (G-OS)
2
+
3
+ Decisão de arquitetura antes de código. Uma referência é ponto de partida, não decisão travada — e nenhuma implementação relevante começa sem a stack definida e a decisão registrada.
4
+
5
+ ## Referência ≠ decisão arquitetural
6
+
7
+ Quando o input vem de outro projeto, do Figma Make, do Stitch ou de qualquer referência, o código é **material de triagem** — nunca cópia obrigatória. Antes de reproduzir componente, estrutura ou tecnologia, avaliar:
8
+
9
+ - Qual é o objetivo real da funcionalidade e em que contexto ela roda.
10
+ - Onde a aplicação será hospedada e quais serviços já existem (DB, auth, storage, e-mail, infra).
11
+ - Se a tecnologia da referência ainda é a melhor escolha para **este** projeto e este destino.
12
+ - Se há alternativa mais simples, coerente, econômica ou fácil de manter (compõe com `libraries/lazy-dev-policy.md`).
13
+
14
+ Copiar a referência sem essa avaliação é como decisão arquitetural acidental — o que esta policy existe para impedir.
15
+
16
+ ## Stack-first (obrigatória)
17
+
18
+ Nenhuma implementação relevante começa sem a stack definida. Os artefatos já têm dono único no G-OS — reutilizar, não duplicar:
19
+
20
+ - **stack-do-projeto** → `docs/stack.md` (stack-of-record), mantido por `stack-profiler` (`*stack refresh|show|drift`). É contrato: todo plano trava `stack_ref: docs/stack.md@<sha>`; mudança de stack exige ADR + flag `--allow-arch-change`.
21
+ - **decisões-arquiteturais** → `docs/adr/ADR-NNN-*.md`, mantidas por `adr-tech-decisions`.
22
+ - **fluxos/** → `dirs.fluxos` do `plan-paths.json` (default `docs/fluxos/`), onde vivem os diagramas.
23
+
24
+ A stack não evolui por acidente (por adicionar biblioteca durante o dev): cada escolha relevante tem finalidade clara e compatível com a arquitetura. Faltando informação para decidir, registrar a decisão como **pendente** com as opções e o que muda entre elas — nunca escolher arbitrário.
25
+
26
+ ## Auth & serviços próprios
27
+
28
+ Não defaultar Supabase Auth / Firebase Auth (ou qualquer serviço) só porque aparece na referência. Avaliar own-vs-managed por contexto — Better Auth, fluxo próprio de cadastro/sessão, SMTP para confirmação/recuperação, DB próprio para usuários/sessões/permissões — pesando complexidade, segurança, personalização, controle dos dados, custo, manutenção, lock-in e compatibilidade com a infra escolhida. Escolher o que atende ao projeto, não o mais conhecido.
29
+
30
+ ## Diagramas Mermaid (padrão)
31
+
32
+ Gerar diagramas Mermaid para os fluxos que ajudam a entender o produto — sem exigir conhecimento técnico avançado de quem lê: auth, cadastro/confirmação de e-mail, recuperação de senha, sessão, permissões/perfis, fluxos de negócio, integrações entre serviços, processamento de dados, jornada do usuário e arquitetura geral. Vivem no `plan.md` (quando cabe) e em `dirs.fluxos`.
33
+
34
+ ## Comunicação explicável (híbrido)
35
+
36
+ Commanding em decisão e orquestração. Mas **toda ação ou decisão relevante acompanha uma explicação em nível de produto/negócio** — o quê será feito, por quê e qual o impacto — em linguagem simples, para que qualquer usuário (técnico ou não) saiba minimamente o que está acontecendo. O detalhe técnico é camada opcional: entra sob demanda ou ao registrar a decisão (ADR/stack). Português (pt-BR), explicação simples primeiro, profundidade depois.
37
+
38
+ ## Aplicação no G-OS
39
+
40
+ - Regra sempre-ativa referenciada pelo `gos-master` (`core_principles`); explicabilidade reforçada no `output_policy` do master.
41
+ - Donos dos artefatos: `stack-profiler` (stack.md) e `adr-tech-decisions` (ADRs) — esta policy rege o comportamento, não cria canal novo.
42
+ - `plan-blueprint` avalia a referência antes de copiar (Fase 2.3) e emite os diagramas Mermaid de fluxo quando há auth/dados/jornada.
43
+ - `check-plan.js` avisa (warn, não bloqueia) quando um plano com auth/fluxo de dados não traz diagrama Mermaid.
@@ -18,6 +18,8 @@
18
18
  * 5. Cada T-NN*.md: head -1 == "---" E frontmatter contem `status: pendente`
19
19
  * E `id:`, `plan_id:`, `seq:`, `title:`, E body tem `## Critérios de aceite`.
20
20
  * 6. Nenhum T-NN*.md tem secao `## Status` no body (formato bugado legado).
21
+ * 7. (warn, nao bloqueia) plan.md com "## Fluxo de auth/dados" deveria trazer
22
+ * bloco ```mermaid (architecture-stack-policy.md).
21
23
  *
22
24
  * Exit code:
23
25
  * 0 = plano valido, usavel pelo pipeline
@@ -54,6 +56,13 @@ if (!fs.existsSync(planFile)) {
54
56
  if (!plan.startsWith('---\n')) {
55
57
  errors.push(`plan.md sem frontmatter YAML (head -1 != "---")`);
56
58
  }
59
+ // Mermaid (nao bloqueia): plano com fluxo de auth/dados deveria trazer diagrama.
60
+ // Regra: libraries/architecture-stack-policy.md.
61
+ const declaresFlow = /^## Fluxo de (auth|dados)/m.test(plan);
62
+ const hasMermaid = /```mermaid/.test(plan);
63
+ if (declaresFlow && !hasMermaid) {
64
+ warnings.push('plan.md tem "## Fluxo de auth/dados" sem bloco ```mermaid — architecture-stack-policy sugere diagrama de fluxo (auth/dados/jornada) p/ tecnico e nao-tecnico entenderem. Nao bloqueia.');
65
+ }
57
66
  }
58
67
 
59
68
  if (!fs.existsSync(contextFile)) {
@@ -11,6 +11,7 @@ sourceDocs:
11
11
  - libraries/cloudflare-stack-kb.md
12
12
  - libraries/supabase-stack-kb.md
13
13
  - templates/adr-tmpl.yaml
14
+ - libraries/architecture-stack-policy.md
14
15
  use-when:
15
16
  - tem-se PRD pronto e precisa decidir arquitetura
16
17
  - antes de plan-blueprint quando o projeto e novo
@@ -7,6 +7,7 @@ sourceDocs:
7
7
  - templates/planTemplate.md
8
8
  - templates/contextTemplate.md
9
9
  - playbooks/plan-creation-playbook.md
10
+ - libraries/architecture-stack-policy.md
10
11
  use-when:
11
12
  - criar plano de implementação para uma tela específica
12
13
  - input começa com URL Figma (auto-detectado)
@@ -173,6 +174,19 @@ Saída desta fase é uma seção **"Aderência à Stack"** no plano — não red
173
174
 
174
175
  **Modo `--allow-arch-change`**: pode propor alteração. Gerar ADR em `dirs.adr` (template `templates/adr-tmpl.yaml`) ANTES de prosseguir. Plano referencia o ADR e marca `arch_change: true` no frontmatter.
175
176
 
177
+ ### 2.3 Avaliar referência antes de copiar (preventivo)
178
+
179
+ Base: `libraries/architecture-stack-policy.md`. Quando a tela deriva de uma **referência** (Figma Make, Stitch, outro projeto, componente colado), o código é triagem — nunca cópia obrigatória. Antes de reproduzir componente/estrutura/tecnologia, confrontar com o `stack.md`:
180
+
181
+ a) **Objetivo/contexto**: a funcionalidade e o destino (onde roda, hosting, serviços já existentes) justificam a tech da referência? Ou há alternativa mais simples/coerente com a stack registrada (compõe com `libraries/lazy-dev-policy.md`)?
182
+ b) **Own-vs-managed** (auth/deploy/DB/e-mail): não herdar Supabase/Firebase/etc. da referência por hábito — só se o `stack.md` já os declara ou se a avaliação apontar.
183
+ c) **Divergência que implica mudança de stack** → não copiar direto: rodar em modo `--allow-arch-change` (gera ADR) ou registrar decisão **pendente** em `## Backend pendings`/`spec.md` com as opções. Nunca cravar arbitrário.
184
+ d) Referência 100% aderente ao `stack.md` → seguir; registrar em 1 linha no plano que a referência foi avaliada e aderente.
185
+
186
+ É a versão **preventiva** da Fase 1.6 (que limpa starter legado depois): aqui avalia-se antes de trazer para dentro.
187
+
188
+ **Diagramas Mermaid**: quando esta tela envolve **auth, fluxo de dados relevante ou jornada do usuário**, emitir o(s) diagrama(s) Mermaid correspondente(s) direto no `plan.md` (seções `## Fluxo de auth` / `## Fluxo de dados` / navegação do `planTemplate.md`). A jornada sai da Fase 1.4 (`## Interações & Estados`); auth/dados saem daqui (Fase 2). Ajuda técnico e não-técnico a entender o produto.
189
+
176
190
  ### 2.4 Schema/contrato gate (executa antes de Fase 3)
177
191
 
178
192
  Quando a tela exibe ou consome dados, validar contrato backend ANTES de emitir tasks frontend dependentes — evita o padrão PLAN-012/013 (schema descoberto incompleto durante execução).
@@ -244,6 +258,7 @@ Para cada plano (incluindo filhos), os 4 passos abaixo são **obrigatórios e at
244
258
  - `<dirs.planos>/PLAN-NNN-<slug>/spec.md` existe (não-vazio, sem placeholders nos critérios de aceite globais).
245
259
  - `<dirs.planos>/PLAN-NNN-<slug>/tasks/` existe e contém ≥1 `T-NN*.md`.
246
260
  - Para CADA `T-NN*.md`: `head -1` = `---` E grep `^status: pendente$` retorna match. Cada task tem `## Critérios de aceite (DoD)` não-vazio. Use o gate da Phase 3.5 do `plan-to-tasks`. Falha → regerar tasks; se persistir, abortar com erro explícito ao usuário citando os arquivos malformados.
261
+ - Quando a tela tem **auth ou fluxo de dados relevante**: `plan.md` contém ≥1 bloco ` ```mermaid ` dos fluxos (Fase 2.3). `check-plan.js` **avisa** (não bloqueia) se faltar.
247
262
  - `progress.txt` aponta para o plano novo.
248
263
 
249
264
  ### Gate determinístico — ÚLTIMA ação obrigatória do `*plan`
@@ -6,6 +6,7 @@ allowedTools: [Read, Glob, Grep, Bash, Write, Edit, AskUserQuestion]
6
6
  sourceDocs:
7
7
  - templates/stackTemplate.md
8
8
  - playbooks/plan-creation-playbook.md
9
+ - libraries/architecture-stack-policy.md
9
10
  use-when:
10
11
  - primeiro setup do projeto no fluxo de planos do G-OS
11
12
  - stack mudou (libs, framework, ORM, auth, hosting)
@@ -104,10 +104,33 @@ Decisões possíveis:
104
104
  - Entrada: <de onde vem>
105
105
  - Saída: <para onde vai>
106
106
 
107
+ ```mermaid
108
+ flowchart LR
109
+ Origem[<de onde vem>] --> Tela[<esta tela>]
110
+ Tela --> Destino[<para onde vai>]
111
+ ```
112
+
107
113
  ## Fluxo de dados
108
114
 
115
+ ```mermaid
116
+ flowchart TD
117
+ Tela[<tela>] --> Fetch[<fetch/server action>]
118
+ Fetch --> Fonte[<endpoint/tabela>]
119
+ Fonte --> Componente[<componente>] --> Render[render]
109
120
  ```
110
- <diagrama textual: tela → fetch → componente → render>
121
+
122
+ ## Fluxo de auth
123
+
124
+ > Preencher SÓ quando a tela exige autenticação/autorização (senão remover a seção). Diagrama em linguagem que técnico e não-técnico entendam.
125
+
126
+ ```mermaid
127
+ flowchart TD
128
+ Usuario[Usuário] --> Acao[<login / signup / acesso protegido>]
129
+ Acao --> Verifica{Autenticado?}
130
+ Verifica -- não --> Redireciona[<redireciona p/ login>]
131
+ Verifica -- sim --> Autoriza{Tem permissão?}
132
+ Autoriza -- não --> Nega[<403 / sem acesso>]
133
+ Autoriza -- sim --> Acessa[<acessa a tela>]
111
134
  ```
112
135
 
113
136
  ## Plano de execução
@@ -70,3 +70,4 @@ read_only_backend: <true|false>
70
70
  - README: <path>
71
71
  - CLAUDE.md: <path>
72
72
  - ADRs ativas: <lista>
73
+ - Diagramas de fluxo (Mermaid): <dirs.fluxos, default docs/fluxos/ — auth, dados, jornada, arquitetura>
package/AGENTS.md CHANGED
@@ -2,53 +2,55 @@
2
2
 
3
3
  ## Objetivo
4
4
 
5
- Este repo existe para acelerar design-to-code e entrega de sprint.
6
-
7
- ## Agentes
8
-
9
- | ID | Slash Command | Foco |
10
- |----|--------------|------|
11
- | **gos-master** | `/gos:agents:gos-master` | Orquestrador master — routing, skills, squads, workflows |
12
- | **architect** | `/gos:agents:architect` | Stack, padroes tecnicos, revisoes de arquitetura |
13
- | **dev** | `/gos:agents:dev` | Implementacao de features, hooks, refinamentos |
14
- | **devops** | `/gos:agents:devops` | Git, branches, CI/CD, automacoes de entrega |
15
- | **po** | `/gos:agents:po` | Backlog, scope, priorizacao |
16
- | **qa** | `/gos:agents:qa` | Testes, quality gates, revisao de codigo |
17
- | **sm** | `/gos:agents:sm` | Sprint, planning, sync com stakeholders |
18
- | **squad-creator** | `/gos:agents:squad-creator` | Orquestracao de times multi-agentes |
19
- | **ux-design-expert** | `/gos:agents:ux-design-expert` | Design de interfaces, tokens, design systems |
20
-
21
- ## Skills
22
-
23
- | Skill | Slash Command | Funcao |
24
- |-------|--------------|--------|
25
- | **design-to-code** | `/gos:skills:design-to-code` | Converte Figma/screenshot em componentes React |
26
- | **figma-implement-design** | `/gos:skills:figma-implement-design` | Implementa design Figma com fidelidade 1:1 |
27
- | **figma-make-analyzer** | `/gos:skills:figma-make-analyzer` | Analisa output do Figma Make |
28
- | **make-code-triage** | `/gos:skills:make-code-triage` | Classifica codigo do Figma Make por categoria |
29
- | **make-version-diff** | `/gos:skills:make-version-diff` | Compara versoes de output Figma Make |
30
- | **component-dedup** | `/gos:skills:component-dedup` | Detecta componentes duplicados |
31
- | **frontend-dev** | `/gos:skills:frontend-dev` | Build componentes, pages, hooks (React/Next.js) |
32
- | **interface-design** | `/gos:skills:interface-design` | Design de interface com metodologia intent-first |
33
- | **react-best-practices** | `/gos:skills:react-best-practices` | Otimizacao de performance React/Next.js |
34
- | **react-doctor** | `/gos:skills:react-doctor` | Diagnostico de saude de componentes React |
35
- | **plan-to-tasks** | `/gos:skills:plan-to-tasks` | Converte plano em tasks acionaveis |
36
- | **agent-teams** | `/gos:skills:agent-teams` | Coordena multiplos agentes em time |
37
- | **git-ssh-setup** | `/gos:skills:git-ssh-setup` | Configura identidade SSH para o workspace |
38
- | **stack-profiler** | `/gos:skills:stack-profiler` | Mantem `docs/stack.md` (stack-of-record canonica) |
39
- | **plan-blueprint** | `/gos:skills:plan-blueprint` | Cria plano por tela (1 tela = 1 plano) |
40
- | **progress-tracker** | `/gos:skills:progress-tracker` | Memoria L1 (`progress.txt`) + state machine |
5
+ Kit de desenvolvimento com IA: design-to-code, implementacao, otimizacao e seguranca.
6
+
7
+ ## Entrypoints (2 slash commands)
8
+
9
+ A superficie user-facing sao **dois** comandos. As skills e os demais agentes NAO sao digitados — o `gos-master` os invoca a partir da sua intencao.
10
+
11
+ | Entrypoint | Foco |
12
+ |------------|------|
13
+ | `/gos:agents:gos-master` | Orquestrador decide skills/agentes/subagents/squads e executa |
14
+ | `/gos:agents:ux-design-expert` | Design de interfaces, tokens, design systems |
15
+
16
+ ## Agentes internos (delegacao, nao-slash)
17
+
18
+ O master delega a especialistas via Task tool: `architect`, `dev`, `devops`, `po`, `qa`, `sm` (facilitador de planejamento de dev), `squad-creator`, `security-auditor`, `perf-optimizer`. Fonte: `.gos/agents/profiles/`.
19
+
20
+ ## Skills (auto-discoveraveis, invocadas pelo master)
21
+
22
+ 34 skills, agrupadas por capacidade. Catalogo completo em `.gos/skills/registry.json`.
23
+
24
+ - **Design → codigo**: `design-to-code`, `figma-implement-design`, `figma-make-analyzer`, `make-code-triage`, `make-version-diff`, `figma-print-diff`, `interface-design`, `ui-guardrails`, `prototype-orchestrator`
25
+ - **Frontend/React**: `frontend-dev`, `react-best-practices`, `react-doctor`, `component-dedup`, `cloudflare-pages-setup`, `typeform-form-pattern`, `timer-component-pattern`
26
+ - **Pipeline de planos**: `stack-profiler`, `plan-blueprint`, `plan-to-tasks`, `execute-plan`, `validate-plan`, `progress-tracker`, `audit-screenshots`
27
+ - **Qualidade**: `security-review`, `perf-review`, `simplify-review`
28
+ - **Produto/texto/utilitarios**: `idea-intake`, `prd-from-intake`, `adr-tech-decisions`, `humanizer`, `gos-caveman`, `gos-compress`, `agent-teams`, `git-ssh-setup`
29
+
30
+ ## Arquitetura & Stack (regra sempre-ativa)
31
+
32
+ Decisao de arquitetura vem antes do codigo policy: `.gos/libraries/architecture-stack-policy.md`.
33
+
34
+ - **Referencia != decisao**: codigo de Figma Make/Stitch/outro projeto e triagem; avaliar objetivo/contexto/hosting/servicos/alternativa-mais-simples antes de copiar.
35
+ - **Stack-first**: nada relevante comeca sem `docs/stack.md` definido (contrato; mudar exige ADR em `docs/adr/`). Falta info => decisao pendente com opcoes.
36
+ - **Own-vs-managed**: auth/deploy/DB avaliados por contexto, nunca defaultados por habito.
37
+ - **Mermaid**: diagramas de fluxo (auth, dados, jornada, arquitetura) no `plan.md` e em `dirs.fluxos`.
38
+ - **Master explicavel**: cada acao vem com explicacao de produto/negocio (o que/por que/impacto) em linguagem simples; detalhe tecnico sob demanda.
41
39
 
42
40
  ## Plan Pipeline
43
41
 
44
- Pipeline padronizado para criacao de planos por tela. Stack-of-record (`docs/stack.md`) e contrato — alteracoes exigem ADR.
42
+ Toda tela = 1 plano. Stack-of-record (`docs/stack.md`) e contrato — alteracoes exigem ADR. Divisao: **Senior planeja (plan), Junior implementa (execute), Senior audita (validate)** — modelo por etapa em `.gos-local/models.json`.
45
43
 
46
44
  | Comando | Skill | Funcao |
47
45
  |---------|-------|--------|
48
46
  | `*stack [refresh\|show\|drift]` | `stack-profiler` | Mantem `docs/stack.md` |
49
- | `*plan <tela>` | `plan-blueprint` | Cria plano + tasks + context + atualiza `progress.txt` |
47
+ | `*plan <tela>` | `plan-blueprint` | Cria `plan.md` + `context.md` + `spec.md` + `tasks/` (com criterios de aceite) |
48
+ | `*execute-plan <PLAN-NNN>` | `execute-plan` | Implementa task-a-task com visual gate + loop de correcao |
49
+ | `*validate-plan <PLAN-NNN>` | `validate-plan` | Audita, corrige gaps, roda seguranca + performance + doc-sync |
50
50
  | `*progress [show\|set\|status]` | `progress-tracker` | State machine `pendente -> em-andamento -> validacao -> concluido` |
51
51
 
52
+ Auditorias sob demanda: `*security-review`, `*perf-review`, `*simplify-review`.
53
+
52
54
  Paths do projeto-cliente sao resolvidos via `.gos-local/plan-paths.json` (incluindo `knowledge_sources` como Postman, regras-de-negocio, ADRs). Playbook: `.gos/playbooks/plan-creation-playbook.md`.
53
55
 
54
56
  ## Plan Mode Protocol
package/CLAUDE.md CHANGED
@@ -37,6 +37,16 @@ Todo texto gerado deve passar por correcao ortografica e remocao de padroes de I
37
37
  - **Documentacao sempre sincronizada** (`libraries/doc-sync-policy.md`): regra de negocio criada/alterada/removida => atualizar docs impactadas (regras-de-negocio, fluxos, permissoes, ADR, seeds, contratos) no mesmo PR. `plan.md` `## Impacto documental` declara; `validate-plan` bloqueia o fechamento se algo ficou dessincronizado.
38
38
  - **Anti-over-engineering** (`libraries/lazy-dev-policy.md`): escrever so o necessario — reuso > stdlib > native > dep > 1 linha > minimo. Nunca cortar validacao/seguranca/a11y.
39
39
 
40
+ ## Arquitetura & Stack (decisao antes de codigo)
41
+
42
+ Regra sempre-ativa: `libraries/architecture-stack-policy.md`. Decisao de arquitetura vem antes do codigo.
43
+
44
+ - **Referencia != decisao**: codigo de Figma Make/Stitch/outro projeto e triagem — avaliar objetivo, contexto, hosting, servicos (DB/auth/storage/e-mail) e alternativa mais simples ANTES de copiar. Nunca cravar a tech da referencia por habito.
45
+ - **Stack-first**: nenhuma implementacao relevante comeca sem stack definida. `stack-do-projeto` = `docs/stack.md` (contrato via `stack_ref`; mudar exige ADR), `decisoes-arquiteturais` = `docs/adr/`. Falta info => registrar decisao pendente com opcoes, nunca escolher arbitrario.
46
+ - **Auth/servicos own-vs-managed**: nao defaultar Supabase/Firebase por aparecer na referencia — avaliar Better Auth/fluxo proprio/SMTP/DB proprio por contexto (custo, controle, lock-in, infra).
47
+ - **Diagramas Mermaid**: gerar Mermaid para fluxos que ajudam a entender o produto (auth, dados, jornada, permissoes, integracoes, arquitetura). Vivem no `plan.md` e em `dirs.fluxos` (default `docs/fluxos/`).
48
+ - **Master explicavel**: toda acao/decisao relevante vem com explicacao em nivel de produto/negocio (o que, por que, impacto) em linguagem simples — tecnico e nao-tecnico entendem; detalhe tecnico e camada opcional.
49
+
40
50
  ## Comandos do Workspace
41
51
 
42
52
  | Comando | O que faz |
@@ -50,14 +60,20 @@ Todo texto gerado deve passar por correcao ortografica e remocao de padroes de I
50
60
 
51
61
  ## Slash Commands
52
62
 
53
- ### Agents (invoke via /gos:agents:{id})
54
- gos-master | architect | dev | devops | po | qa | sm | squad-creator | ux-design-expert
63
+ Superficie user-facing = **2 entrypoints**. As skills e demais agentes NAO sao digitados; o `gos-master` os invoca a partir da intencao (o usuario guia com `*comandos` no chat, ex.: `*plan`, `*security-review`).
64
+
65
+ ### Entrypoints (slash)
66
+ - `/gos:agents:gos-master` — orquestrador; decide skills/agentes/subagents/squads e executa.
67
+ - `/gos:agents:ux-design-expert` — design de interface, tokens, design systems.
68
+
69
+ ### Agentes internos (delegacao, nao-slash)
70
+ architect | dev | devops | po | qa | sm | squad-creator | security-auditor | perf-optimizer
55
71
 
56
- ### Skills (invoke via /gos:skills:{slug})
57
- design-to-code | figma-implement-design | figma-make-analyzer | make-code-triage | make-version-diff | component-dedup | frontend-dev | interface-design | react-best-practices | react-doctor | plan-to-tasks | agent-teams | git-ssh-setup | humanizer | stack-profiler | plan-blueprint | progress-tracker | execute-plan | validate-plan | audit-screenshots | security-review | perf-review | simplify-review
72
+ ### Skills (auto-discoveraveis, invocadas pelo master — 34, ver `.gos/skills/registry.json`)
73
+ design-to-code | figma-implement-design | figma-make-analyzer | make-code-triage | make-version-diff | component-dedup | frontend-dev | interface-design | react-best-practices | react-doctor | plan-to-tasks | agent-teams | git-ssh-setup | humanizer | stack-profiler | plan-blueprint | progress-tracker | execute-plan | validate-plan | audit-screenshots | security-review | perf-review | simplify-review | idea-intake | prd-from-intake | adr-tech-decisions | prototype-orchestrator | gos-caveman | gos-compress | figma-print-diff | ui-guardrails | cloudflare-pages-setup | typeform-form-pattern | timer-component-pattern
58
74
 
59
- ### IDEs suportadas (npm run sync:ides gera adapters)
60
- Claude Code | Cursor | Gemini CLI | Qwen Code | Antigravity | Opencode | Kilo Code | **Codex IDE Extension** (ambiente de execucao, comando primario `*execute-plan`)
75
+ ### IDEs suportadas (npm run sync:ides gera adapters p/ 6)
76
+ Claude Code | **Codex IDE Extension** (executor, comando primario `*execute-plan`) | Qwen Code | Opencode | Gemini CLI | Antigravity. Cursor e Kilo Code consomem regras via arquivo (`.cursor/`, `.kilocode/`), sem adapters gerados.
61
77
 
62
78
  ## Model routing por etapa (Junior executa, Senior audita)
63
79
 
package/GEMINI.md CHANGED
@@ -2,16 +2,24 @@
2
2
 
3
3
  Use este projeto como um kit de desenvolvimento: design-to-code, implementacao, otimizacao e seguranca.
4
4
 
5
+ ## Entrypoints
6
+
7
+ Superficie user-facing = 2 slash commands. As skills sao invocadas pelo master, nao digitadas.
8
+
9
+ - `/gos:agents:gos-master` — orquestrador; decide skills/agentes/squads e executa.
10
+ - `/gos:agents:ux-design-expert` — design de interface, tokens, design systems.
11
+
5
12
  ## Prioridades
6
13
 
7
- - Figma, Figma Make e Stitch para React/Next.js
8
- - planejamento por tela (plano + tasks com criterios de aceite)
9
- - auditoria de seguranca e performance
14
+ - Figma, Figma Make e Stitch para React/Next.js (codigo de referencia = triagem; avaliar antes de copiar)
15
+ - arquitetura antes de codigo: stack-first (`docs/stack.md` + ADR), own-vs-managed consciente, Mermaid p/ fluxos — `.gos/libraries/architecture-stack-policy.md`
16
+ - planejamento por tela (`*plan` → `*execute-plan` → `*validate-plan`, com criterios de aceite)
17
+ - auditoria de seguranca e performance (`*security-review`, `*perf-review`)
10
18
  - revisao de qualidade antes de entrega
19
+ - master explicavel: cada acao explicada em nivel de produto/negocio (tecnico e nao-tecnico entendem)
11
20
 
12
21
  ## Fontes principais
13
22
 
14
23
  - `AGENTS.md`
15
24
  - `CLAUDE.md`
16
- - `docs/toolchain-map.md`
17
- - `skills/registry.json`
25
+ - `.gos/skills/registry.json`
package/README.md CHANGED
@@ -8,493 +8,127 @@ Framework operacional de desenvolvimento: prototipacao, design-to-code, implemen
8
8
  [![NPM Home](https://img.shields.io/badge/NPM-Registry-red)](https://www.npmjs.com/package/ganbatte-os)
9
9
  ![Node >= 18](https://img.shields.io/badge/Node.js-%3E%3D18-green)
10
10
 
11
- O **ganbatte-os** organiza agentes de IA, skills e squads num workspace pronto para uso. Ele orquestra o ciclo completo de desenvolvimentoda prototipacao à implementação, otimização e segurança conectando Figma e as principais IDEs de IA (Claude Code, Gemini, Cursor, etc). Baseado nos padrões do framework `.a8z-OS`.
11
+ O **ganbatte-os** e um workspace de IA para desenvolvimento. Você conversa com **um orquestrador** e ele decide sozinho quais skills, agentes e squads acionar do Figma ao código, passando por implementação, otimização e segurança. Funciona nas principais IDEs de IA (Claude Code, Codex, Qwen, Opencode, Gemini, Antigravity).
12
12
 
13
- ## Quick Start
13
+ ## Instalação
14
14
 
15
- ### 1. Instalação
15
+ Instalação **global** (recomendada):
16
16
 
17
17
  ```bash
18
- mkdir meu-projeto && cd meu-projeto
19
- git init
20
- npm install ganbatte-os
21
- ./node_modules/.bin/gos install
18
+ npm install -g ganbatte-os
22
19
  ```
23
20
 
24
- Alternativa global:
21
+ Depois, dentro do seu projeto:
25
22
 
26
23
  ```bash
27
- npm install -g ganbatte-os
24
+ mkdir meu-projeto && cd meu-projeto
25
+ git init # recomendado (habilita versionamento e updates)
28
26
  gos install
29
27
  ```
30
28
 
31
- Alternativa direto do GitHub (ultima versao do main):
29
+ O `gos install` cria uma estrutura enxuta na raiz:
32
30
 
33
- ```bash
34
- npm install github:adrianomorais-ganbatte/g-os
35
- ./node_modules/.bin/gos install
36
- ```
31
+ - `.gos/` — núcleo do framework (agentes, skills, scripts). Somente leitura.
32
+ - `AGENTS.md`, `CLAUDE.md`, `GEMINI.md` — instruções que a IDE lê automaticamente.
33
+ - `packages/` — onde vive o código do seu app.
34
+ - adapters de IDE (`.claude/`, `.codex/`, `.qwen/`, `.opencode/`, `.gemini/`, `.agent/`) — gerados automaticamente.
37
35
 
38
- ### 2. Pós-Instalação
39
- Após rodar o install, o framework criará uma estrutura limpa na sua raiz:
40
- - `.gos/` — O núcleo do framework (Agentes, Skills, Scripts).
41
- - `AGENTS.md`, `CLAUDE.md`, `GEMINI.md` — Instruções para as IDEs.
42
- - `packages/` — Onde você deve colocar o código do seu aplicativo.
36
+ Atualizar o CLI global depois: `npm install -g ganbatte-os@latest` · atualizar o framework num projeto: `gos install --force`.
43
37
 
44
- ### 3. Comandos do Workspace
38
+ ## Como usar: duas portas de entrada
45
39
 
46
- | Comando | Equivalente CLI | O que faz |
47
- |---------|-----------------|-----------|
48
- | `npm run gos:init` | `gos init` | Setup pos-clone: configura `upstream`, cria `.gos-local/`, gera IDE adapters |
49
- | `npm run gos:update` | `gos update` | Fetch + merge do upstream (**apenas em fork/clone do g-os**) |
50
- | `npm run gos:doctor` | `gos doctor` | Health-check (42+ checks: skills, agents, IDE adapters, upstream alcançável, stashes acumulados, modo workspace) |
51
- | `npm run gos:version` | `gos version` | Versão instalada, modo do workspace e atualizações pendentes |
52
- | `npm run gos:rescue` | `gos rescue` | Lista/recupera stashes acumulados de updates falhos |
53
- | `npm run sync:ides` | — | Regenera apenas os IDE adapters (`.claude/`, `.qwen/`, `.gemini/`, `.cursor/`, `.agents/`) |
54
- | `npm run check:ides` | — | Valida que adapters estão consistentes com `.gos/skills/registry.json` |
40
+ Você digita **apenas dois** slash commands. Todo o resto é roteado internamente.
55
41
 
56
- ## Atualizar o ganbatte-os
42
+ | Slash command | Quando usar |
43
+ |---------------|-------------|
44
+ | `/gos:agents:gos-master` | Ponto de entrada padrão. Descreva o que quer (criar tela, auditar segurança, refatorar, montar squad) e o master decide as skills/agentes/squads e executa. |
45
+ | `/gos:agents:ux-design-expert` | Design de interface, tokens e design systems. |
57
46
 
58
- Existem **três níveis distintos** de versão. Saiba qual atualizar antes de rodar qualquer comando.
47
+ > As 34 skills e os 11 agentes **não** são digitados como comando. O `gos-master` os invoca por você a partir da sua intenção. Dentro do chat, você guia o fluxo com comandos de asterisco (ex.: `*plan`, `*security-review`) que o master reconhece.
59
48
 
60
- ### Descobrir em que cenário você está
49
+ ### O que o gos-master aciona por você
61
50
 
62
- ```bash
63
- npm run gos:version
64
- # imprime: versão local + modo (framework workspace | projeto consumidor)
65
- ```
51
+ - **Design → código** — `design-to-code`, `figma-implement-design`, `figma-make-analyzer`, `interface-design`, `ui-guardrails` (Figma/screenshot → React/Next.js fiel).
52
+ - **Frontend/React** — `frontend-dev`, `react-best-practices`, `react-doctor`, `component-dedup`.
53
+ - **Pipeline de planos** `plan-blueprint`, `plan-to-tasks`, `execute-plan`, `validate-plan`, `progress-tracker`, `stack-profiler` (ver abaixo).
54
+ - **Qualidade** — `security-review`, `perf-review`, `simplify-review`.
55
+ - **Texto/produto** — `humanizer`, `idea-intake`, `prd-from-intake`, `adr-tech-decisions`.
66
56
 
67
- | Modo detectado | Significa | Como atualizar |
68
- |----------------|-----------|----------------|
69
- | `framework workspace` | Você clonou/forkou o repo `g-os` para contribuir | `npm run gos:update` |
70
- | `projeto consumidor` | Seu projeto usa o G-OS (rodou `gos install` aqui) | `gos install --force` |
71
- | (CLI global) | O comando `gos` instalado via `npm install -g` | `npm install -g ganbatte-os@latest` |
57
+ Catálogo completo: `.gos/skills/registry.json`.
72
58
 
73
- ### Nível 1 CLI global (`gos`)
59
+ ## Pipeline de planos (o fluxo de dev)
74
60
 
75
- ```bash
76
- # Versão atual instalada vs publicada no registry:
77
- npm list -g ganbatte-os
78
- npm view ganbatte-os version
61
+ Toda tela vira **um plano**. A stack de `docs/stack.md` é contrato — mudança de stack exige ADR. O trabalho é dividido em três etapas com **modelo por etapa** (configurável em `.gos-local/models.json`):
79
62
 
80
- # Atualizar:
81
- npm install -g ganbatte-os@latest
82
- ```
83
-
84
- ### Nível 2 — Projeto consumidor
63
+ - **plan** (Senior) planeja → **execute** (Junior) implementa → **validate** (Senior) audita e corrige gaps.
85
64
 
86
- Seu projeto NÃO é fork do G-OS, mas usa o framework via `gos install`. O `.gos/` mora dentro do seu repo.
87
-
88
- ```bash
89
- # Pré-checagem (uma vez):
90
- git remote -v
91
- # Se houver "upstream" apontando para g-os.git, REMOVA:
92
- # git remote remove upstream
93
- # (essa configuração só faz sentido em fork do framework)
94
-
95
- # Atualizar o framework dentro do seu projeto:
96
- gos install --force
97
- # Sobrescreve .gos/ com a última versão do pacote ganbatte-os global,
98
- # preservando seus arquivos (packages/, docs/, .gos-local/).
99
65
  ```
100
-
101
- > [!WARNING]
102
- > NÃO use `npm run gos:update` em projeto consumidor. O CLI agora detecta esse cenário e aborta com instruções, mas em versões antigas ele tentava `git fetch upstream main` e quebrava de forma confusa.
103
-
104
- ### Nível 3 Framework workspace (fork/clone do g-os)
105
-
106
- Você está contribuindo com o próprio framework.
107
-
108
- ```bash
109
- # Pré-checagem (sempre antes de update):
110
- npm run gos:doctor
111
- # Valida 42+ pontos. Aborta se upstream estiver com URL quebrada
112
- # ou se houver stashes acumulados de updates anteriores falhos.
113
-
114
- # Ver quantos commits faltam:
115
- npm run gos:version
116
-
117
- # Aplicar (lê dev branch do .gos/config.json#defaultBranches.development):
118
- npm run gos:update
119
- ```
120
-
121
- `gos:update` agora é **fail-safe**:
122
-
123
- 1. Bloqueia se modo for `consumer`
124
- 2. Valida `upstream` reachable (`git ls-remote`) ANTES de stashar
125
- 3. Lê branch de desenvolvimento do `.gos/config.json` (não hardcoded)
126
- 4. Faz fetch primeiro; se nada mudou, sai sem stash
127
- 5. Stash recebe label timestamped único
128
- 6. Auto-resolve conflitos em arquivos do framework (`frameworkManaged` no manifest); aborta em conflitos do usuário
129
-
130
- Override de branch (debug):
131
-
132
- ```bash
133
- GOS_UPSTREAM_BRANCH=beta npm run gos:update
134
- ```
135
-
136
- #### Caso especial: "histórias não relacionadas"
137
-
138
- Workspaces criados via `gos install` no passado podem ter `.git` próprio sem ancestor comum com o repo do framework. Nesse caso o merge falha com `fatal: refusing to merge unrelated histories`. O CLI detecta e instrui:
139
-
140
- ```bash
141
- npm run gos:update -- --allow-unrelated
66
+ *stack refresh # mapeia a stack do projeto (uma vez, ou quando mudar)
67
+ *plan <tela|figma-url> # cria plan.md + context.md + spec.md + tasks/ (com critérios de aceite)
68
+ *execute-plan PLAN-NNN # implementa task-a-task, com visual gate e loop de correção
69
+ *validate-plan PLAN-NNN # audita, corrige gaps, roda segurança + performance + doc-sync
70
+ *progress show # estado atual (pendente em-andamento validacao → concluido)
142
71
  ```
143
72
 
144
- Isso une as duas histórias num commit de merge único. Faça uma vez; depois disso updates normais funcionam.
73
+ Cada task carrega critérios de aceite verificáveis. No `execute-plan`, um critério que passa segue adiante; inconclusivo vira bypass com alerta; não atendido entra em loop de correção até passar. O `validate-plan` fecha o plano só depois de segurança/performance/documentação sincronizadas.
145
74
 
146
- #### Caso especial: untracked files que conflitam com o merge
75
+ Auditorias sob demanda, a qualquer momento:
147
76
 
148
- Se você tem arquivos não-versionados em paths que o framework gera (`.claude/`, `.qwen/`, `.gemini/`, `.cursor/`, `.agents/`, etc), o git recusa o merge para evitar perda. O CLI detecta e oferece:
149
-
150
- ```bash
151
- npm run gos:update -- --clobber-untracked
152
77
  ```
153
-
154
- Isso renomeia os arquivos conflitantes para `.bak.<timestamp>` antes do merge. Como esses paths são **sempre regenerados** por `npm run sync:ides`, o backup é só por garantia — você pode deletar depois.
155
-
156
- Combinar com `--allow-unrelated` quando ambos os casos ocorrerem (típico de workspaces antigos):
157
-
158
- ```bash
159
- npm run gos:update -- --allow-unrelated --clobber-untracked
78
+ *security-review # RLS, authz, secrets, injection (Supabase/D1)
79
+ *perf-review # cache, filas, N+1, paginação, over-fetch
80
+ *simplify-review # anti-over-engineering (remove o que não precisa existir)
160
81
  ```
161
82
 
162
- Alternativa segura (não toca seu git, apenas atualiza `.gos/`):
83
+ Playbook end-to-end: [`.gos/playbooks/plan-creation-playbook.md`](./.gos/playbooks/plan-creation-playbook.md).
163
84
 
164
- ```bash
165
- gos install --force
166
- ```
85
+ ## Comandos do workspace
167
86
 
168
- ### Resgate de stashes presos
87
+ | Comando | O que faz |
88
+ |---------|-----------|
89
+ | `gos init` | Setup pós-clone: configura `.gos-local/` e gera os IDE adapters |
90
+ | `gos doctor` | Health-check (63 checks: skills, agentes, adapters, upstream) |
91
+ | `gos version` | Versão instalada e modo do workspace |
92
+ | `npm run sync:ides` | Regenera os IDE adapters após mudar skills/agentes |
93
+ | `npm run check:ides` | Valida os adapters contra `.gos/skills/registry.json` |
169
94
 
170
- Se você teve falhas anteriores que deixaram stashes:
95
+ ## Estrutura do workspace
171
96
 
172
- ```bash
173
- npm run gos:rescue # lista todos com stat
174
- npm run gos:rescue -- --pop-latest # aplica o mais recente
175
- npm run gos:rescue -- --drop-all # remove todos (após revisão)
97
+ ```text
98
+ ├── .gos/ # Core do framework (agents, skills, scripts) — somente leitura
99
+ ├── .gos-local/ # Config local: models.json, plan-paths.json, logs (ignorado no git)
100
+ ├── packages/ # Seu código-fonte vive aqui
101
+ ├── AGENTS.md # Entrypoint de agentes
102
+ ├── CLAUDE.md # Instruções para Claude Code
103
+ └── GEMINI.md # Instruções para Google Gemini
176
104
  ```
177
105
 
178
- ### Resumo (qual comando para qual cenário)
106
+ ## Atualizar o framework
179
107
 
180
108
  | Cenário | Comando |
181
109
  |---------|---------|
182
- | Atualizar CLI `gos` global | `npm install -g ganbatte-os@latest` |
183
- | Atualizar G-OS num projeto consumidor | `gos install --force` |
184
- | Atualizar G-OS num fork/clone do repo | `npm run gos:update` |
185
- | Stashes presos de updates falhos | `npm run gos:rescue` |
186
- | Saber em qual cenário você está | `npm run gos:version` |
187
- | Validar tudo de uma vez | `npm run gos:doctor` |
188
-
189
- > [!NOTE]
190
- > A pasta `.agent/` que pode aparecer na raiz do workspace e criada pela IDE Google Antigravity / Gemini Code Assist — nao faz parte do setup padrao do ganbatte-os.
110
+ | CLI `gos` global | `npm install -g ganbatte-os@latest` |
111
+ | Framework num projeto consumidor | `gos install --force` |
112
+ | Fork/clone do repo `g-os` | `npm run gos:update` |
113
+ | Saber em qual cenário você está | `gos version` |
114
+ | Validar tudo | `gos doctor` |
191
115
 
192
- ## Estrutura do Workspace
193
-
194
- O `ganbatte-os` utiliza uma estrutura **encapsulada** para manter seu projeto limpo e organizado:
195
-
196
- ```text
197
- ├── .gos/ # Core do Framework (Somente leitura para usuários)
198
- │ ├── agents/ # Perfis e instruções dos agentes IA
199
- │ ├── skills/ # Catálogo de ferramentas (ex: design-to-code)
200
- │ ├── scripts/ # Engine do CLI e integração de IDEs
201
- │ └── prompts/ # Prompts canônicos para os agentes
202
- ├── .gos-local/ # Dados locais (logs, queues, worktrees) - ignorado no git
203
- ├── packages/ # Seu código-fonte e projetos vivem aqui
204
- ├── AGENTS.md # Entrypoint de agentes para o framework
205
- ├── CLAUDE.md # Instruções específicas para Claude Code
206
- └── GEMINI.md # Instruções específicas para Google Gemini
207
- ```
208
-
209
- ## Funcionalidades Principais
210
-
211
- - **Design-to-Code**: Pipeline automatizado para converter frames do Figma em componentes React/Next.js de alta fidelidade.
212
- - **Pipeline de Planos**: Plano por tela com `spec.md`, tasks com critérios de aceite e loop de correção automática (Opus planeja, modelo barato executa, Opus valida).
213
- - **Auditoria de Segurança e Performance**: Verificação sistemática de vulnerabilidades (RLS, authz, secrets) e otimização (cache, filas, N+1, paginação) em Supabase e D1.
214
- - **Multi-IDE Multi-Tenant**: Configurações automáticas para as melhores ferramentas de IA do mercado.
215
-
216
- ## Agentes Disponíveis
217
-
218
- | Agent | Slash Command | Foco |
219
- |-------|--------------|------|
220
- | **gos-master** | `/gos:agents:gos-master` | Orquestrador master — routing, skills, squads, workflows |
221
- | **architect** | `/gos:agents:architect` | Stack, padroes tecnicos, revisoes de arquitetura |
222
- | **dev** | `/gos:agents:dev` | Implementacao de features, hooks, refinamentos |
223
- | **devops** | `/gos:agents:devops` | Git, branches, CI/CD, automacoes de entrega |
224
- | **po** | `/gos:agents:po` | Backlog, scope, priorizacao |
225
- | **qa** | `/gos:agents:qa` | Testes, quality gates, revisao de codigo |
226
- | **sm** | `/gos:agents:sm` | Sprint, planning, sync com stakeholders |
227
- | **squad-creator** | `/gos:agents:squad-creator` | Orquestracao de times multi-agentes |
228
- | **ux-design-expert** | `/gos:agents:ux-design-expert` | Design de interfaces, tokens, design systems |
229
-
230
- ## Skills Disponiveis
231
-
232
- | Skill | Slash Command | Funcao |
233
- |-------|--------------|--------|
234
- | **design-to-code** | `/gos:skills:design-to-code` | Converte Figma/screenshot em componentes React |
235
- | **figma-implement-design** | `/gos:skills:figma-implement-design` | Implementa design Figma com fidelidade 1:1 |
236
- | **figma-make-analyzer** | `/gos:skills:figma-make-analyzer` | Analisa output do Figma Make |
237
- | **make-code-triage** | `/gos:skills:make-code-triage` | Classifica codigo do Figma Make por categoria |
238
- | **make-version-diff** | `/gos:skills:make-version-diff` | Compara versoes de output Figma Make |
239
- | **component-dedup** | `/gos:skills:component-dedup` | Detecta componentes duplicados |
240
- | **frontend-dev** | `/gos:skills:frontend-dev` | Build componentes, pages, hooks (React/Next.js) |
241
- | **interface-design** | `/gos:skills:interface-design` | Design de interface com metodologia intent-first |
242
- | **react-best-practices** | `/gos:skills:react-best-practices` | Otimizacao de performance React/Next.js |
243
- | **react-doctor** | `/gos:skills:react-doctor` | Diagnostico de saude de componentes React |
244
- | **plan-to-tasks** | `/gos:skills:plan-to-tasks` | Converte plano em tasks acionaveis |
245
- | **agent-teams** | `/gos:skills:agent-teams` | Coordena multiplos agentes em time |
246
- | **git-ssh-setup** | `/gos:skills:git-ssh-setup` | Configura identidade SSH para o workspace |
247
- | **humanizer** | `/gos:skills:humanizer` | Remove padroes de IA do texto (two-pass audit + soul injection) |
248
- | **security-review** | `/gos:skills:security-review` | Auditoria de seguranca (RLS, authz, secrets, injection) |
249
- | **perf-review** | `/gos:skills:perf-review` | Auditoria de performance (cache, filas, N+1, paginacao) |
250
- | **stack-profiler** | `/gos:skills:stack-profiler` | Mantem `docs/stack.md` como stack-of-record canonica do projeto |
251
- | **plan-blueprint** | `/gos:skills:plan-blueprint` | Cria plano por tela (1 tela = 1 plano) seguindo a stack |
252
- | **progress-tracker** | `/gos:skills:progress-tracker` | Memoria L1 (`progress.txt`) + state machine de status |
253
-
254
- ## Plan Pipeline (stack-aware)
255
-
256
- Pipeline padronizado para criacao de planos por tela. **Toda tela = 1 plano**. Toda execucao gera plano + tasks + contexto, com status auditavel e contrato de stack.
257
-
258
- ### Fluxo
259
-
260
- ```
261
- *stack refresh → docs/stack.md (uma vez por workspace, ou quando stack mudar)
262
- *plan <tela> → docs/plans/PLAN-NNN-<slug>/{plan.md, tasks/, context.md} + progress.txt
263
- *progress ... → transicoes pendente → em-andamento → validacao → concluido
264
- ```
116
+ > `gos:update` é fail-safe: só roda em fork/clone, valida `upstream` antes de mexer, e auto-resolve conflitos em arquivos do framework. Se travar (stashes, históricos não relacionados), `gos rescue` recupera. Num **projeto consumidor**, use sempre `gos install --force` — nunca `gos:update`.
265
117
 
266
- | Comando | Skill | Funcao |
267
- |---------|-------|--------|
268
- | `*stack [refresh\|show\|drift]` | `stack-profiler` | Mantem `docs/stack.md` (canonico) e `.gos-local/stack.lock.json` |
269
- | `*plan <tela\|figma-url>` | `plan-blueprint` | Cria plano + dispara `plan-to-tasks` + atualiza `progress.txt` |
270
- | `*progress [show\|set\|status]` | `progress-tracker` | Memoria L1 e state machine |
118
+ ## Documentação
271
119
 
272
- ### Regras invioiaveis
273
-
274
- - **Stack como contrato** — toda decisao tecnica respeita `docs/stack.md`. Mudanca de stack exige ADR e flag `--allow-arch-change`.
275
- - **Paths via config** — nada hardcoded. Tudo resolvido via `.gos-local/plan-paths.json` (incluindo `knowledge_sources` como Postman, regras-de-negocio, ADRs).
276
- - **State machine dura** — `concluido` somente apos validacao humana.
277
- - **`progress.txt` e L1** — denso, otimizado para LLM, atualizado em todo passo.
278
-
279
- ### Configuracao por workspace
280
-
281
- `.gos-local/plan-paths.json` define onde cada projeto guarda seus artefatos. Cada projeto/dev pode organizar diferente.
282
-
283
- **Inicializar com defaults** (helper):
284
-
285
- ```bash
286
- node .gos/scripts/tools/plan-paths.js init # cria .gos-local/plan-paths.json se nao existir
287
- node .gos/scripts/tools/plan-paths.js show # imprime config atual
288
- node .gos/scripts/tools/plan-paths.js get planos # imprime path resolvido para "planos"
289
- ```
290
-
291
- **Exemplo de config** (caso real do `packages/fractus`):
292
-
293
- ```json
294
- {
295
- "schema": "gos.plan-paths.v1",
296
- "dirs": {
297
- "projeto": "src/",
298
- "storybook": ".referencia-storybook/",
299
- "design_system_doc": ".referencia-storybook/docs/DESIGN_SYSTEM_REFERENCE.md",
300
- "components": ".referencia-storybook/components/",
301
- "stories": ".referencia-storybook/stories/",
302
- "planos": "docs/plans/",
303
- "tasks": "docs/plans/{plan}/tasks/",
304
- "contexto": "docs/plans/{plan}/context.md",
305
- "progress": "progress.txt",
306
- "stack": "docs/stack.md",
307
- "adr": "docs/adr/",
308
- "postman": "docs/postman/",
309
- "regras_negocio": "docs/regras-de-negocio/"
310
- },
311
- "knowledge_sources": [
312
- { "kind": "postman", "path": "docs/postman/", "required": false },
313
- { "kind": "business-rules", "path": "docs/regras-de-negocio/", "required": false },
314
- { "kind": "adr", "path": "docs/adr/", "required": false },
315
- { "kind": "design-system", "path": ".referencia-storybook/docs/DESIGN_SYSTEM_REFERENCE.md", "required": true }
316
- ],
317
- "naming": { "plan_prefix": "PLAN", "task_prefix": "T", "seq_padding": 3 },
318
- "figma": { "mcp_enabled": true, "default_file_url": null }
319
- }
320
- ```
321
-
322
- Helpers em `.gos/scripts/tools/`:
323
- - `plan-paths.js` — resolve caminhos do projeto-cliente
324
- - `plan-status.js` — valida transicoes de status (state machine)
325
- - `stack-scan.js` — infere stack lendo `package.json`, configs e `knowledge_sources`
326
-
327
- ### Exemplos de uso (end-to-end)
328
-
329
- Todos os comandos abaixo sao invocados via slash command no `gos-master` (Claude Code, Gemini, Cursor, etc).
330
-
331
- #### 1. Bootstrap do workspace (uma vez por projeto)
332
-
333
- ```bash
334
- /gos:agents:gos-master
335
- ```
336
-
337
- Em seguida, no chat:
338
-
339
- ```
340
- *stack refresh
341
- ```
342
-
343
- Saida esperada:
344
-
345
- ```
346
- ## Stack profilada — packages/fractus
347
-
348
- - Framework: Next.js 15 (App Router)
349
- - DB: Supabase (read-only)
350
- - Design System: .referencia-storybook
351
- - Knowledge sources: 4 (postman, business-rules, adr, design-system)
352
-
353
- stack.md: docs/stack.md
354
- lock: .gos-local/stack.lock.json
355
- hashes: 12 arquivos
356
- ```
357
-
358
- Verifique sempre que algo na stack mudar (lib, framework, ORM):
359
-
360
- ```
361
- *stack drift
362
- ```
363
-
364
- #### 2. Criar plano para uma tela
365
-
366
- A partir de URL Figma (autodetecta e usa Figma MCP):
367
-
368
- ```
369
- *plan https://www.figma.com/design/kXd8uP6dgeSuQypFnPmuQP/FRACTUS?node-id=9140-25387
370
- ```
371
-
372
- A partir de descricao livre:
373
-
374
- ```
375
- *plan tela de checkout com formulario de pagamento e resumo do pedido
376
- ```
377
-
378
- Saida:
379
-
380
- ```
381
- ## Plano criado: PLAN-042-checkout
382
-
383
- - plan.md: docs/plans/PLAN-042-checkout/plan.md
384
- - context.md: docs/plans/PLAN-042-checkout/context.md
385
- - tasks/: docs/plans/PLAN-042-checkout/tasks/ (5 tasks: T-042-001 ... T-042-005)
386
- - progress: atualizado (status=pendente)
387
- - stack_ref: docs/stack.md@a1b2c3d
388
-
389
- Proximos passos:
390
- 1. Revisar plan.md e checklist de aceite
391
- 2. *progress status T-042-001 em-andamento
392
- 3. Executar
393
- ```
394
-
395
- Telas complexas (modal + drawer + sub-rotas) sao **subdivididas automaticamente** em planos filhos:
396
-
397
- ```
398
- PLAN-042-checkout (pai, checklist consolidado)
399
- ├── PLAN-042.1-payment-modal (filho)
400
- ├── PLAN-042.2-summary-drawer
401
- └── PLAN-042.3-confirm-page
402
- ```
403
-
404
- #### 3. Executar tasks
405
-
406
- ```
407
- *progress show # mostra progress.txt atual
408
- *progress status T-042-001 em-andamento # iniciar task
409
- # ... dev implementa ...
410
- *progress status T-042-001 validacao # task pronta para revisao (commit preparado, nao pushado)
411
- ```
412
-
413
- Tentar pular validacao falha:
414
-
415
- ```
416
- *progress status T-042-001 concluido
417
- > erro: transicao invalida: em-andamento → concluido
418
- > use --rollback para voltar para pendente
419
- ```
420
-
421
- #### 4. Fechar o plano
422
-
423
- Quando todas as tasks estao em `validacao` e o checklist do plano esta completo:
424
-
425
- ```
426
- *progress status PLAN-042-checkout validacao # validacao humana + QA
427
- *progress status PLAN-042-checkout concluido # SOMENTE apos aprovacao
428
- ```
429
-
430
- `progress-tracker compact` periodicamente reescreve `progress.txt` removendo tasks `concluido` antigas para manter o arquivo < 4kB (otimizado para LLM).
431
-
432
- #### 5. Mudanca de arquitetura (excecao)
433
-
434
- Se a tela exigir alteracao da stack (nova lib, novo padrao de fetching, schema novo):
435
-
436
- ```
437
- *plan tela-relatorios --allow-arch-change
438
- ```
439
-
440
- Isso forca a Fase 2 propositiva e gera um ADR em `docs/adr/ADR-NNNN-<slug>.md` antes de prosseguir. O plano resultante referencia o ADR no frontmatter (`arch_change: true`).
441
-
442
- ### Estrutura de saida
443
-
444
- Apos `*plan tela-checkout`:
445
-
446
- ```
447
- docs/plans/PLAN-042-checkout/
448
- ├── plan.md # frontmatter (id, tela, figma_url, status, stack_ref) + secoes fixas
449
- ├── context.md # denso, indice de arquivos, decisoes, riscos
450
- └── tasks/
451
- ├── T-042-001-criar-rota-checkout.md
452
- ├── T-042-002-fetching-supabase.md
453
- ├── T-042-003-form-pagamento.md
454
- ├── T-042-004-resumo-pedido.md
455
- └── T-042-005-estados-erro-loading.md
456
- ```
457
-
458
- `progress.txt` na raiz do projeto fica:
459
-
460
- ```
461
- # progress.l1
462
- ts=2026-05-01T18:22:00-03:00
463
- project=fractus
464
- plan_active=docs/plans/PLAN-042-checkout/plan.md
465
- tasks_dir=docs/plans/PLAN-042-checkout/tasks/
466
- context=docs/plans/PLAN-042-checkout/context.md
467
- stack_ref=docs/stack.md@a1b2c3d
468
- status=em-andamento
469
-
470
- last_done=T-042-002 fetching-supabase
471
- current=T-042-003 form-pagamento
472
- next=T-042-004 resumo-pedido
473
-
474
- blockers=
475
- notes=fetch usa server component em app/checkout/page.tsx
476
- ```
477
-
478
- ### Playbook completo
479
-
480
- [`.gos/playbooks/plan-creation-playbook.md`](./.gos/playbooks/plan-creation-playbook.md) — documenta o fluxo end-to-end com troubleshooting.
481
-
482
- ## Documentacao
483
-
484
- | Documento | Descricao |
120
+ | Documento | Descrição |
485
121
  |-----------|-----------|
486
- | [AGENTS.md](./AGENTS.md) | Agentes, skills e slash commands disponiveis |
487
- | [CLAUDE.md](./CLAUDE.md) | Instrucoes para Claude Code |
488
- | [GEMINI.md](./GEMINI.md) | Instrucoes para Google Gemini |
489
- | [docs/README.md](./docs/README.md) | Indice de documentacao |
122
+ | [AGENTS.md](./AGENTS.md) | Agentes e entrypoints |
123
+ | [CLAUDE.md](./CLAUDE.md) | Instruções para Claude Code |
124
+ | [GEMINI.md](./GEMINI.md) | Instruções para Google Gemini |
490
125
 
491
- **Fonte canonica dos agents**: `.gos/agents/profiles/`
492
- **Fonte canonica das skills**: `.gos/skills/`
493
- **Registry de skills**: `.gos/skills/registry.json`
126
+ Fonte canônica: agentes em `.gos/agents/profiles/`, skills em `.gos/skills/` (registry em `.gos/skills/registry.json`).
494
127
 
495
128
  ## Licença
496
129
 
497
- Este é um projeto interno da **Ganbatte**. Distribuído sob licença [MIT](LICENSE).
130
+ Distribuído sob licença [MIT](LICENSE).
498
131
 
499
132
  ---
500
- © 2026 Ganbatte. Todos os direitos reservados.
133
+
134
+ © 2026 Douglas Oliveira · [github.com/imdouglasoliveira](https://github.com/imdouglasoliveira)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ganbatte-os",
3
- "version": "0.2.42",
3
+ "version": "0.2.44",
4
4
  "description": "Framework operacional de desenvolvimento: prototipacao, design-to-code, implementacao, otimizacao e seguranca.",
5
5
  "bin": {
6
6
  "gos": ".gos/scripts/cli/gos-cli.js"