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.
- package/README.md +219 -24
- 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
|
|
46
|
+
A partir da raiz do seu projeto:
|
|
47
47
|
|
|
48
|
-
| Comando | O que faz |
|
|
49
|
-
|
|
50
|
-
| `npm run gos:init` | Setup pos-clone
|
|
51
|
-
| `npm run gos:update` |
|
|
52
|
-
| `npm run gos:doctor` | Valida integridade do workspace
|
|
53
|
-
| `npm run gos:version` | Mostra versao e checa atualizacoes |
|
|
54
|
-
| `npm run sync:ides` | Regenera adapters
|
|
55
|
-
| `npm run check:ides` | Valida
|
|
56
|
-
| `npm run clickup` | CLI ClickUp (tarefas, sprints, status) |
|
|
57
|
-
|
|
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
|
|
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
|
-
"
|
|
171
|
-
"
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
"
|
|
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
|
|
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
|
-
|
|
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
|
|