ganbatte-os 0.2.31 → 0.2.32

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.
Files changed (2) hide show
  1. package/README.md +219 -24
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -43,18 +43,38 @@ Após rodar o install, o framework criará uma estrutura limpa na sua raiz:
43
43
 
44
44
  ### 3. Comandos do Workspace
45
45
 
46
- A partir da raiz do seu projeto, você pode gerenciar o framework:
46
+ A partir da raiz do seu projeto:
47
47
 
48
- | Comando | O que faz |
49
- |---------|-----------|
50
- | `npm run gos:init` | Setup pos-clone (remote, dirs, IDEs, sync framework pai) |
51
- | `npm run gos:update` | Fetch upstream + merge + re-sync IDEs + sync framework pai |
52
- | `npm run gos:doctor` | Valida integridade do workspace e IDEs |
53
- | `npm run gos:version` | Mostra versao e checa atualizacoes |
54
- | `npm run sync:ides` | Regenera adapters para Claude, Gemini, Cursor e outras |
55
- | `npm run check:ides` | Valida compatibilidade dos IDE adapters |
56
- | `npm run clickup` | CLI ClickUp (tarefas, sprints, status) |
57
- | `npm run doctor` | Alias direto para gos:doctor |
48
+ | Comando | Equivalente CLI | O que faz |
49
+ |---------|-----------------|-----------|
50
+ | `npm run gos:init` | `gos init` | Setup pos-clone: configura `upstream`, cria dirs (`.gos-local/`), gera IDE adapters, sincroniza com framework pai |
51
+ | `npm run gos:update` | `gos update` | `git fetch upstream` + merge `upstream/main` + `npm install` + re-sync IDE adapters |
52
+ | `npm run gos:doctor` | `gos doctor` | Valida integridade do workspace, registry de skills, IDE adapters, presenca de Git remote |
53
+ | `npm run gos:version` | `gos version` | Mostra versao instalada e checa se ha atualizacoes pendentes em `upstream/main` |
54
+ | `npm run sync:ides` | — | Regenera apenas os IDE adapters (`.claude/`, `.qwen/`, `.gemini/`, `.cursor/`, `.agents/`) |
55
+ | `npm run check:ides` | — | Valida que todos os adapters estao consistentes com `.gos/skills/registry.json` |
56
+ | `npm run clickup` | — | CLI ClickUp (tarefas, sprints, status) |
57
+
58
+ **Atualizar o G-OS no seu workspace:**
59
+
60
+ ```bash
61
+ npm run gos:update
62
+ # equivalente a: git fetch upstream && git merge upstream/main && npm install && npm run sync:ides
63
+ ```
64
+
65
+ Em caso de divergencia local nao resolvivel automaticamente, o comando aborta e instrui resolucao manual. Se quiser inspecionar antes:
66
+
67
+ ```bash
68
+ npm run gos:version # mostra versao atual + commits pendentes em upstream
69
+ git fetch upstream # ver mudancas sem aplicar
70
+ git log HEAD..upstream/main --oneline
71
+ ```
72
+
73
+ **Health-check apos qualquer mudanca:**
74
+
75
+ ```bash
76
+ npm run gos:doctor # 40+ checks (skills, agents, IDE adapters, git remote)
77
+ ```
58
78
 
59
79
  ### Via CLI global (`gos`)
60
80
 
@@ -64,7 +84,7 @@ Apos `npm install -g ganbatte-os`:
64
84
  |---------|-----------|
65
85
  | `gos install` | Instala framework em diretorio novo |
66
86
  | `gos init` | Inicializa workspace existente |
67
- | `gos update` | Atualiza framework |
87
+ | `gos update` | Atualiza framework (mesma logica de `npm run gos:update`) |
68
88
  | `gos doctor` | Health-check |
69
89
  | `gos version` | Versao instalada |
70
90
 
@@ -136,7 +156,7 @@ O `ganbatte-os` utiliza uma estrutura **encapsulada** para manter seu projeto li
136
156
 
137
157
  ## Plan Pipeline (stack-aware)
138
158
 
139
- Pipeline padronizado para criacao de planos por tela. Toda tela vira um plano + tasks + contexto, com status auditavel e contrato de stack.
159
+ 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.
140
160
 
141
161
  ### Fluxo
142
162
 
@@ -161,31 +181,206 @@ Pipeline padronizado para criacao de planos por tela. Toda tela vira um plano +
161
181
 
162
182
  ### Configuracao por workspace
163
183
 
164
- `.gos-local/plan-paths.json` define onde cada projeto guarda seus artefatos. Cada projeto/dev pode organizar diferente:
184
+ `.gos-local/plan-paths.json` define onde cada projeto guarda seus artefatos. Cada projeto/dev pode organizar diferente.
185
+
186
+ **Inicializar com defaults** (helper):
187
+
188
+ ```bash
189
+ node .gos/scripts/tools/plan-paths.js init # cria .gos-local/plan-paths.json se nao existir
190
+ node .gos/scripts/tools/plan-paths.js show # imprime config atual
191
+ node .gos/scripts/tools/plan-paths.js get planos # imprime path resolvido para "planos"
192
+ ```
193
+
194
+ **Exemplo de config** (caso real do `packages/fractus`):
165
195
 
166
196
  ```json
167
197
  {
168
198
  "schema": "gos.plan-paths.v1",
169
199
  "dirs": {
170
- "planos": "docs/plans/",
171
- "tasks": "docs/plans/{plan}/tasks/",
172
- "contexto": "docs/plans/{plan}/context.md",
173
- "progress": "progress.txt",
174
- "stack": "docs/stack.md",
175
- "postman": "docs/postman/",
176
- "regras_negocio": "docs/regras-de-negocio/"
200
+ "projeto": "src/",
201
+ "storybook": ".referencia-storybook/",
202
+ "design_system_doc": ".referencia-storybook/docs/DESIGN_SYSTEM_REFERENCE.md",
203
+ "components": ".referencia-storybook/components/",
204
+ "stories": ".referencia-storybook/stories/",
205
+ "planos": "docs/plans/",
206
+ "tasks": "docs/plans/{plan}/tasks/",
207
+ "contexto": "docs/plans/{plan}/context.md",
208
+ "progress": "progress.txt",
209
+ "stack": "docs/stack.md",
210
+ "adr": "docs/adr/",
211
+ "postman": "docs/postman/",
212
+ "regras_negocio": "docs/regras-de-negocio/"
177
213
  },
178
214
  "knowledge_sources": [
179
215
  { "kind": "postman", "path": "docs/postman/", "required": false },
180
216
  { "kind": "business-rules", "path": "docs/regras-de-negocio/", "required": false },
217
+ { "kind": "adr", "path": "docs/adr/", "required": false },
181
218
  { "kind": "design-system", "path": ".referencia-storybook/docs/DESIGN_SYSTEM_REFERENCE.md", "required": true }
182
- ]
219
+ ],
220
+ "naming": { "plan_prefix": "PLAN", "task_prefix": "T", "seq_padding": 3 },
221
+ "figma": { "mcp_enabled": true, "default_file_url": null }
183
222
  }
184
223
  ```
185
224
 
186
- Helpers: `scripts/tools/plan-paths.js`, `scripts/tools/plan-status.js`, `scripts/tools/stack-scan.js`.
225
+ Helpers em `.gos/scripts/tools/`:
226
+ - `plan-paths.js` — resolve caminhos do projeto-cliente
227
+ - `plan-status.js` — valida transicoes de status (state machine)
228
+ - `stack-scan.js` — infere stack lendo `package.json`, configs e `knowledge_sources`
229
+
230
+ ### Exemplos de uso (end-to-end)
231
+
232
+ Todos os comandos abaixo sao invocados via slash command no `gos-master` (Claude Code, Gemini, Cursor, etc).
233
+
234
+ #### 1. Bootstrap do workspace (uma vez por projeto)
235
+
236
+ ```bash
237
+ /gos:agents:gos-master
238
+ ```
239
+
240
+ Em seguida, no chat:
241
+
242
+ ```
243
+ *stack refresh
244
+ ```
245
+
246
+ Saida esperada:
247
+
248
+ ```
249
+ ## Stack profilada — packages/fractus
250
+
251
+ - Framework: Next.js 15 (App Router)
252
+ - DB: Supabase (read-only)
253
+ - Design System: .referencia-storybook
254
+ - Knowledge sources: 4 (postman, business-rules, adr, design-system)
255
+
256
+ stack.md: docs/stack.md
257
+ lock: .gos-local/stack.lock.json
258
+ hashes: 12 arquivos
259
+ ```
260
+
261
+ Verifique sempre que algo na stack mudar (lib, framework, ORM):
262
+
263
+ ```
264
+ *stack drift
265
+ ```
266
+
267
+ #### 2. Criar plano para uma tela
268
+
269
+ A partir de URL Figma (autodetecta e usa Figma MCP):
270
+
271
+ ```
272
+ *plan https://www.figma.com/design/kXd8uP6dgeSuQypFnPmuQP/FRACTUS?node-id=9140-25387
273
+ ```
274
+
275
+ A partir de descricao livre:
276
+
277
+ ```
278
+ *plan tela de checkout com formulario de pagamento e resumo do pedido
279
+ ```
280
+
281
+ Saida:
282
+
283
+ ```
284
+ ## Plano criado: PLAN-042-checkout
285
+
286
+ - plan.md: docs/plans/PLAN-042-checkout/plan.md
287
+ - context.md: docs/plans/PLAN-042-checkout/context.md
288
+ - tasks/: docs/plans/PLAN-042-checkout/tasks/ (5 tasks: T-042-001 ... T-042-005)
289
+ - progress: atualizado (status=pendente)
290
+ - stack_ref: docs/stack.md@a1b2c3d
291
+
292
+ Proximos passos:
293
+ 1. Revisar plan.md e checklist de aceite
294
+ 2. *progress status T-042-001 em-andamento
295
+ 3. Executar
296
+ ```
297
+
298
+ Telas complexas (modal + drawer + sub-rotas) sao **subdivididas automaticamente** em planos filhos:
299
+
300
+ ```
301
+ PLAN-042-checkout (pai, checklist consolidado)
302
+ ├── PLAN-042.1-payment-modal (filho)
303
+ ├── PLAN-042.2-summary-drawer
304
+ └── PLAN-042.3-confirm-page
305
+ ```
306
+
307
+ #### 3. Executar tasks
308
+
309
+ ```
310
+ *progress show # mostra progress.txt atual
311
+ *progress status T-042-001 em-andamento # iniciar task
312
+ # ... dev implementa ...
313
+ *progress status T-042-001 validacao # task pronta para revisao (commit preparado, nao pushado)
314
+ ```
315
+
316
+ Tentar pular validacao falha:
317
+
318
+ ```
319
+ *progress status T-042-001 concluido
320
+ > erro: transicao invalida: em-andamento → concluido
321
+ > use --rollback para voltar para pendente
322
+ ```
323
+
324
+ #### 4. Fechar o plano
325
+
326
+ Quando todas as tasks estao em `validacao` e o checklist do plano esta completo:
327
+
328
+ ```
329
+ *progress status PLAN-042-checkout validacao # validacao humana + QA
330
+ *progress status PLAN-042-checkout concluido # SOMENTE apos aprovacao
331
+ ```
332
+
333
+ `progress-tracker compact` periodicamente reescreve `progress.txt` removendo tasks `concluido` antigas para manter o arquivo < 4kB (otimizado para LLM).
334
+
335
+ #### 5. Mudanca de arquitetura (excecao)
336
+
337
+ Se a tela exigir alteracao da stack (nova lib, novo padrao de fetching, schema novo):
338
+
339
+ ```
340
+ *plan tela-relatorios --allow-arch-change
341
+ ```
342
+
343
+ 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`).
344
+
345
+ ### Estrutura de saida
346
+
347
+ Apos `*plan tela-checkout`:
348
+
349
+ ```
350
+ docs/plans/PLAN-042-checkout/
351
+ ├── plan.md # frontmatter (id, tela, figma_url, status, stack_ref) + secoes fixas
352
+ ├── context.md # denso, indice de arquivos, decisoes, riscos
353
+ └── tasks/
354
+ ├── T-042-001-criar-rota-checkout.md
355
+ ├── T-042-002-fetching-supabase.md
356
+ ├── T-042-003-form-pagamento.md
357
+ ├── T-042-004-resumo-pedido.md
358
+ └── T-042-005-estados-erro-loading.md
359
+ ```
360
+
361
+ `progress.txt` na raiz do projeto fica:
362
+
363
+ ```
364
+ # progress.l1
365
+ ts=2026-05-01T18:22:00-03:00
366
+ project=fractus
367
+ plan_active=docs/plans/PLAN-042-checkout/plan.md
368
+ tasks_dir=docs/plans/PLAN-042-checkout/tasks/
369
+ context=docs/plans/PLAN-042-checkout/context.md
370
+ stack_ref=docs/stack.md@a1b2c3d
371
+ status=em-andamento
372
+
373
+ last_done=T-042-002 fetching-supabase
374
+ current=T-042-003 form-pagamento
375
+ next=T-042-004 resumo-pedido
376
+
377
+ blockers=
378
+ notes=fetch usa server component em app/checkout/page.tsx
379
+ ```
380
+
381
+ ### Playbook completo
187
382
 
188
- Playbook completo: [`.gos/playbooks/plan-creation-playbook.md`](./.gos/playbooks/plan-creation-playbook.md).
383
+ [`.gos/playbooks/plan-creation-playbook.md`](./.gos/playbooks/plan-creation-playbook.md) — documenta o fluxo end-to-end com troubleshooting.
189
384
 
190
385
  ## Documentacao
191
386
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ganbatte-os",
3
- "version": "0.2.31",
3
+ "version": "0.2.32",
4
4
  "description": "Framework operacional para design-to-code, squads de entrega e sprint sync com ClickUp.",
5
5
  "bin": {
6
6
  "gos": ".gos/scripts/cli/gos-cli.js"