rbin-task-flow 1.19.5 → 1.23.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.
Files changed (65) hide show
  1. package/.claude/skills/rbin-coding-standards/SKILL.md +29 -0
  2. package/.claude/skills/rbin-coding-standards/reference.md +42 -0
  3. package/.claude/skills/rbin-git/SKILL.md +39 -0
  4. package/.claude/skills/task-flow-audit/SKILL.md +15 -0
  5. package/.claude/skills/task-flow-check/SKILL.md +15 -0
  6. package/.claude/skills/task-flow-estimate/SKILL.md +15 -0
  7. package/.claude/skills/task-flow-generate-flow/SKILL.md +15 -0
  8. package/.claude/skills/task-flow-improve-changes/SKILL.md +15 -0
  9. package/.claude/skills/task-flow-refactor/SKILL.md +14 -0
  10. package/.claude/skills/task-flow-report/SKILL.md +15 -0
  11. package/.claude/skills/task-flow-review/SKILL.md +14 -0
  12. package/.claude/skills/task-flow-run/SKILL.md +28 -0
  13. package/.claude/skills/task-flow-run/workflow.md +59 -0
  14. package/.claude/skills/task-flow-status/SKILL.md +13 -0
  15. package/.claude/skills/task-flow-sync/SKILL.md +30 -0
  16. package/.claude/skills/task-flow-sync/workflow.md +57 -0
  17. package/.claude/skills/task-flow-think/SKILL.md +17 -0
  18. package/.codex/config.toml +10 -0
  19. package/.cursor/rules/code_comments.mdc +4 -4
  20. package/.cursor/rules/coding_standards.mdc +57 -810
  21. package/.cursor/rules/commit_practices.mdc +5 -138
  22. package/.cursor/rules/cursor_rules.mdc +4 -3
  23. package/.cursor/rules/git_control.mdc +5 -86
  24. package/.cursor/rules/graphify-task-flow.mdc +31 -0
  25. package/.cursor/rules/rbin-git-policy.mdc +47 -0
  26. package/.cursor/rules/self_improve.mdc +3 -3
  27. package/.cursor/rules/task-flow-cursor.mdc +51 -0
  28. package/.cursor/rules/task-flow-sync.mdc +46 -0
  29. package/.cursor/rules/task_analysis.mdc +31 -179
  30. package/.cursor/rules/task_audit.mdc +6 -5
  31. package/.cursor/rules/task_check.mdc +2 -3
  32. package/.cursor/rules/task_estimate.mdc +3 -4
  33. package/.cursor/rules/task_execution.mdc +26 -138
  34. package/.cursor/rules/task_generate_flow.mdc +2 -3
  35. package/.cursor/rules/task_generation.mdc +22 -140
  36. package/.cursor/rules/task_improve_changes.mdc +3 -4
  37. package/.cursor/rules/task_refactor.mdc +4 -5
  38. package/.cursor/rules/task_report.mdc +3 -4
  39. package/.cursor/rules/task_review.mdc +4 -5
  40. package/.cursor/rules/task_status.mdc +4 -4
  41. package/.cursor/rules/task_work.mdc +23 -210
  42. package/.task-flow/AI-PLATFORMS.md +104 -0
  43. package/.task-flow/CODEX.md +141 -0
  44. package/.task-flow/CURSOR.md +94 -0
  45. package/.task-flow/GRAPHIFY.md +112 -0
  46. package/.task-flow/OPTIMIZATION-IMPLEMENTATION-TASKS.md +365 -0
  47. package/.task-flow/OPTIMIZATION-PLAN.md +264 -0
  48. package/.task-flow/README.md +19 -4
  49. package/.task-flow/docs/coding-standards-full.md +851 -0
  50. package/.task-flow/platforms/claude-code.md +352 -0
  51. package/.task-flow/platforms/codex.md +379 -0
  52. package/.task-flow/platforms/cursor.md +333 -0
  53. package/AGENTS.md +69 -31
  54. package/CLAUDE.md +56 -48
  55. package/README.md +78 -10
  56. package/bin/cli.js +40 -25
  57. package/lib/codex.js +45 -0
  58. package/lib/cursor.js +41 -0
  59. package/lib/gitignore.js +101 -0
  60. package/lib/graphify.js +118 -0
  61. package/lib/install.js +83 -47
  62. package/lib/profiles.js +110 -0
  63. package/lib/skills.js +34 -0
  64. package/lib/utils.js +38 -2
  65. package/package.json +6 -2
@@ -0,0 +1,352 @@
1
+ # Task Flow no Claude Code
2
+
3
+ Guia para extrair o máximo do **RBIN Task Flow** no [Claude Code](https://code.claude.com/) (CLI e integrações). Comandos `task-flow: …` são os mesmos em todas as plataformas; aqui o foco é **como o Claude carrega contexto** e como estruturar o projeto.
4
+
5
+ **Índice geral:** [AI-PLATFORMS.md](../AI-PLATFORMS.md) · **Outras plataformas:** [cursor.md](cursor.md) · [codex.md](codex.md)
6
+
7
+ ---
8
+
9
+ ## 1. Como o Claude Code pensa contexto
10
+
11
+ | Mecanismo | Caminho | Quando entra no contexto | Custo |
12
+ |-----------|---------|-------------------------|-------|
13
+ | **Memória do projeto** | `CLAUDE.md` (raiz e pais) | **Toda sessão** | Fixo por sessão |
14
+ | **Skills** | `.claude/skills/<nome>/SKILL.md` | Sob demanda (`/nome`) ou quando o modelo acha relevante pela `description` | Só quando usada |
15
+ | **Comandos legados** | `.claude/commands/*.md` | Igual a skill com mesmo nome | Sob demanda |
16
+ | **Settings** | `.claude/settings.json` | Config (modelo, permissões) | Metadados |
17
+ | **Regras Cursor** | `.cursor/rules/*.mdc` | **Não é nativo** — Claude pode ler se você pedir ou abrir o arquivo | Manual |
18
+
19
+ Documentação: [Extend Claude with skills](https://code.claude.com/docs/en/skills).
20
+
21
+ **Regra de ouro do curso Claude:** se algo é um **procedimento repetível** (“sempre que sync, faça X, Y, Z”), não deixe no `CLAUDE.md` — vire **skill**. `CLAUDE.md` guarda fatos estáveis: stack, caminhos, políticas curtas, índice de skills.
22
+
23
+ ---
24
+
25
+ ## 2. O que o RBIN Task Flow instala hoje
26
+
27
+ ```
28
+ projeto/
29
+ ├── CLAUDE.md # Índice enxuto + tabela de skills
30
+ ├── .claude/
31
+ │ ├── settings.json
32
+ │ └── skills/ # 14 skills (task-flow-*, rbin-*)
33
+ ├── .cursor/
34
+ │ ├── rules/ # Referência + Cursor alwaysApply
35
+ │ └── skills/ # Espelho das mesmas skills
36
+ └── .task-flow/
37
+ ```
38
+
39
+ Após `rbin-task-flow init` ou `update`, use **`/task-flow-sync`**, **`/task-flow-run`**, etc. Reinicie o Claude Code se `.claude/skills/` foi criado pela primeira vez na sessão.
40
+
41
+ ---
42
+
43
+ ## 3. Arquitetura recomendada (Claude-first + Task Flow)
44
+
45
+ ```text
46
+ CLAUDE.md # ≤ 150 linhas: índice + invariantes
47
+ .claude/
48
+ ├── settings.json # modelo opcional; permissões
49
+ └── skills/
50
+ ├── task-flow-sync/
51
+ │ ├── SKILL.md
52
+ │ └── workflow.md
53
+ ├── task-flow-run/
54
+ │ ├── SKILL.md
55
+ │ └── workflow.md
56
+ ├── task-flow-check/
57
+ ├── task-flow-audit/
58
+ ├── task-flow-improve-changes/
59
+ └── rbin-git/
60
+ .task-flow/ # tasks, status, contexts (inalterado)
61
+ ```
62
+
63
+ **Invariantes no `CLAUDE.md` (sempre carregados):**
64
+
65
+ - “Task flow” = RBIN Task Flow; dados em `.task-flow/`.
66
+ - Nunca executar `git add`, `commit`, `push`, `pull`, `merge`, `checkout`, `reset`, `rebase`.
67
+ - Após subtarefa concluída: sugerir commit (Conventional Commits + ID da task).
68
+ - Índice: “sync → `/task-flow-sync` ou `task-flow: sync`”.
69
+
70
+ **Procedimentos nas skills:** conteúdo de `task_work.mdc`, `task_generation.mdc`, etc.
71
+
72
+ ---
73
+
74
+ ## 4. Skills: anatomia e boas práticas
75
+
76
+ ### 4.1 Estrutura de pasta
77
+
78
+ ```text
79
+ task-flow-run/
80
+ ├── SKILL.md # Obrigatório — entrada
81
+ ├── workflow.md # Passos completos (carregar quando executar)
82
+ ├── checklist.md # Opcional
83
+ └── scripts/ # Opcional — validação, não lógica de negócio
84
+ ```
85
+
86
+ ### 4.2 Frontmatter essencial
87
+
88
+ | Campo | Uso com Task Flow |
89
+ |-------|-------------------|
90
+ | `description` | **Obrigatório para descoberta.** Terceira pessoa, WHAT + WHEN, termos `task-flow`, `run next`, `sync`, `RBIN`. Limite ~1536 caracteres na listagem. |
91
+ | `name` | Opcional; comando `/` vem do **nome da pasta** (`task-flow-run` → `/task-flow-run`). |
92
+ | `disable-model-invocation: true` | Workflows com efeito colateral: `run`, `sync`, `check`, deploy. Você dispara; Claude não “decide” sozinho. |
93
+ | `user-invocable: false` | Conhecimento de fundo (ex.: legado) — raro no Task Flow. |
94
+ | `allowed-tools` | Restringir ferramentas em skills sensíveis (ex.: só `Read`, `Grep` para audit read-only). |
95
+ | `paths` | Ex.: `[".task-flow/**"]` — auto-carregar skill ao editar arquivos de task. |
96
+ | `context: fork` + `agent` | Tasks longas (`run all`) em subagente isolado. |
97
+
98
+ ### 4.3 Tipos de conteúdo na skill
99
+
100
+ | Tipo | Exemplo Task Flow |
101
+ |------|------------------|
102
+ | **Referência** | `/rbin-coding-standards` sob demanda (`disable-model-invocation: true`) — checklist primeiro |
103
+ | **Tarefa** | `task-flow-run`, `task-flow-sync` — passos sequenciais; use `disable-model-invocation: true` |
104
+
105
+ Mantenha o corpo do `SKILL.md` **curto** (< 500 linhas). Detalhe em `workflow.md`.
106
+
107
+ ### 4.4 Injeção dinâmica (diferencial do Claude Code)
108
+
109
+ Inclua estado real **antes** das instruções:
110
+
111
+ ```markdown
112
+ ## Status atual
113
+
114
+ !`cat .task-flow/tasks.status.md | head -40`
115
+
116
+ ## Próximas subtarefas pendentes
117
+
118
+ !`node -e "const s=require('./.task-flow/.internal/status.json'); ..."`
119
+
120
+ ## Instruções
121
+
122
+ 1. ...
123
+ ```
124
+
125
+ O prefixo `` !`comando` `` executa o comando e substitui a linha pelo output. Ideal para `run`, `review` e `improve changes` (diff).
126
+
127
+ ### 4.5 Descoberta e monorepos
128
+
129
+ - Skills em `.claude/skills/` na **raiz** do repo são vistas ao iniciar na raiz ou em subpastas (walk para cima).
130
+ - Ao editar arquivos em `packages/api/`, Claude também procura `packages/api/.claude/skills/`.
131
+ - **Watcher:** editar skill existente → efeito na sessão atual. **Criar** pasta `.claude/skills/` pela primeira vez → **reiniciar** Claude Code.
132
+
133
+ ### 4.6 Prioridade de nomes
134
+
135
+ Enterprise > pessoal (`~/.claude/skills/`) > projeto. Skills de plugin: namespace `plugin:skill`.
136
+
137
+ Para Task Flow em equipe: prefira **skills de projeto** versionadas (ajuste o `.gitignore` — ver seção 10).
138
+
139
+ ---
140
+
141
+ ## 5. Mapeamento: comando → skill → regra `.mdc`
142
+
143
+ | Comando usuário | Skill sugerida | `/` | Regra fonte |
144
+ |-----------------|----------------|-----|-------------|
145
+ | `task-flow: sync` | `task-flow-sync` | `/task-flow-sync` | `task-flow-sync.mdc` · `task_generation.mdc` (subtasks) |
146
+ | `task-flow: run next X` / `run X` | `task-flow-run` | `/task-flow-run` | `workflow.md` · stub `task_work.mdc` |
147
+ | `task-flow: status` | `task-flow-status` | `/task-flow-status` | `task_status.mdc` |
148
+ | `task-flow: think` | `task-flow-think` | `/task-flow-think` | `task_analysis.mdc` |
149
+ | `task-flow: audit` | `task-flow-audit` | `/task-flow-audit` | `task_audit.mdc` |
150
+ | `task-flow: improve changes` | `task-flow-improve-changes` | `/task-flow-improve-changes` | `task_improve_changes.mdc` |
151
+ | `task-flow: check` | `task-flow-check` | `/task-flow-check` | `task_check.mdc` |
152
+ | `task-flow: review X` | `task-flow-review` | `/task-flow-review` | `task_review.mdc` |
153
+ | `task-flow: refactor X` | `task-flow-refactor` | `/task-flow-refactor` | `task_refactor.mdc` |
154
+ | `task-flow: estimate X` | `task-flow-estimate` | `/task-flow-estimate` | `task_estimate.mdc` |
155
+ | `task-flow: report X` | `task-flow-report` | `/task-flow-report` | `task_report.mdc` |
156
+ | `task-flow: generate flow` | `task-flow-generate-flow` | `/task-flow-generate-flow` | `task_generate_flow.mdc` |
157
+ | Implementar código | `rbin-coding-standards` | `/rbin-coding-standards` | checklist `coding_standards.mdc` + `docs/coding-standards-full.md` on demand |
158
+ | Após concluir subtarefa | `rbin-git` | `/rbin-git` | `rbin-git-policy.mdc` (always) |
159
+
160
+ ---
161
+
162
+ ## 6. Exemplo completo: `task-flow-run`
163
+
164
+ **`.claude/skills/task-flow-run/SKILL.md`:**
165
+
166
+ ```yaml
167
+ ---
168
+ name: task-flow-run
169
+ description: Executes RBIN Task Flow subtasks from tasks.json and status.json. Use when the user says task-flow run, run next X subtasks, work on task N, execute pending subtasks, or implement task flow.
170
+ disable-model-invocation: true
171
+ allowed-tools: Read Write Edit Glob Grep Shell
172
+ paths: [".task-flow/**"]
173
+ ---
174
+
175
+ # Task Flow — Run
176
+
177
+ ## Status (resumo)
178
+
179
+ !`head -35 .task-flow/tasks.status.md`
180
+
181
+ ## Quick steps
182
+
183
+ 1. Read `.task-flow/.internal/tasks.json` and `status.json`.
184
+ 2. Parse intent: `run next X` | `run X` | `run X,Y` | `run all`.
185
+ 3. For `run X`: block if tasks `1..X-1` have pending subtasks.
186
+ 4. Per subtask: follow `instructions`; read `.task-flow/contexts/*` if referenced.
187
+ 5. Update `status.json` + `tasks.status.md` (regenerate 📊 Summary).
188
+ 6. Suggest commit; **never** `git add`/`commit`/`push`.
189
+
190
+ ## Full procedure
191
+
192
+ See [workflow.md](workflow.md).
193
+ ```
194
+
195
+ Copie o corpo longo de `.cursor/rules/task_work.mdc` para `workflow.md`.
196
+
197
+ ---
198
+
199
+ ## 7. Fluxos de trabalho otimizados
200
+
201
+ ### 7.1 Dia a dia (desenvolvimento)
202
+
203
+ ```text
204
+ 1. Editar .task-flow/tasks.input.txt
205
+ 2. /task-flow-sync (ou: task-flow: sync)
206
+ 3. /task-flow-status
207
+ 4. /task-flow-run run next 3
208
+ 5. /task-flow-check
209
+ 6. Você: git add && git commit (mensagem sugerida pela IA)
210
+ ```
211
+
212
+ ### 7.2 Antes do PR
213
+
214
+ ```text
215
+ /task-flow-improve-changes
216
+ /task-flow-check
217
+ /task-flow-review 1,2
218
+ ```
219
+
220
+ ### 7.3 Planejamento / cobrança
221
+
222
+ ```text
223
+ /task-flow-generate-flow
224
+ /task-flow-estimate 3
225
+ ```
226
+
227
+ ### 7.4 Múltiplos agentes no mesmo repo
228
+
229
+ - Use **checagem de dependência** (`run 3` só se 1–2 done) — já em `task_work.mdc`.
230
+ - Skills com `disable-model-invocation: true` evitam dois Claudes disparando `sync` ao mesmo tempo sem intenção.
231
+
232
+ ---
233
+
234
+ ## 8. Bundled skills do Claude Code (complementares)
235
+
236
+ Skills nativas úteis **junto** com Task Flow ([docs](https://code.claude.com/docs/en/skills)):
237
+
238
+ | Skill | Uso com Task Flow |
239
+ |-------|-------------------|
240
+ | `/code-review` | Após `task-flow: run`, antes do commit |
241
+ | `/debug` | Subtarefa travada em bug |
242
+ | `/verify` | Validar app rodando (além de `task-flow: check`) |
243
+ | `/run` | Subir app para testar UI de subtarefa |
244
+ | `/run-skill-generator` | Uma vez por repo — grava receita de build em `.claude/skills/run-*/` |
245
+
246
+ `task-flow: check` cobre lint/build; `/verify` cobre comportamento em runtime quando testes não bastam.
247
+
248
+ ---
249
+
250
+ ## 9. `CLAUDE.md` enxuto (template)
251
+
252
+ ```markdown
253
+ # Projeto
254
+
255
+ Stack: …
256
+
257
+ ## RBIN Task Flow
258
+
259
+ - Tarefas: `.task-flow/tasks.input.txt`
260
+ - Status: `.task-flow/tasks.status.md` (auto)
261
+ - Dados: `.task-flow/.internal/` (não editar à mão)
262
+ - Contextos: `.task-flow/contexts/`
263
+
264
+ ## Skills (preferir `/` ou pedir por nome)
265
+
266
+ | Ação | Skill |
267
+ |------|--------|
268
+ | Sync | `/task-flow-sync` |
269
+ | Executar | `/task-flow-run` |
270
+ | Status | `/task-flow-status` |
271
+ | Lint/build | `/task-flow-check` |
272
+ | Padrões de código | `/rbin-coding-standards` |
273
+
274
+ Comandos naturais `task-flow: …` também valem.
275
+
276
+ ## Git
277
+
278
+ Nunca executar git que modifica o repo. Sugerir Conventional Commits com Task ID.
279
+
280
+ ## Referência legada
281
+
282
+ Detalhe completo ainda em `.cursor/rules/` se uma skill não existir.
283
+ ```
284
+
285
+ ---
286
+
287
+ ## 10. Versionamento e `.gitignore`
288
+
289
+ O instalador RBIN ignora `.claude/` no git do cliente. Para **time + Claude**:
290
+
291
+ ```gitignore
292
+ # Manter skills no repo; ignorar só local
293
+ .claude/settings.local.json
294
+ # NÃO ignorar .claude/skills/
295
+ ```
296
+
297
+ Ou use `AGENTS.override.md` / settings locais fora do git e commite `.claude/skills/`.
298
+
299
+ ---
300
+
301
+ ## 11. Prompts que funcionam
302
+
303
+ | Situação | Prompt |
304
+ |----------|--------|
305
+ | Com skills | `/task-flow-run run next 4` |
306
+ | Com skills | `Use a skill task-flow-sync` |
307
+ | Sem skills ainda | `Leia .cursor/rules/task_work.mdc e execute task-flow: run next 2` |
308
+ | Contexto visual | `Implemente subtarefa 1.3; mockup em .task-flow/contexts/login.png` |
309
+ | Forçar padrões | `/rbin-coding-standards depois task-flow: run next 1` |
310
+
311
+ ---
312
+
313
+ ## 12. Anti-padrões
314
+
315
+ | Evite | Por quê |
316
+ |-------|---------|
317
+ | Colar `task_work.mdc` inteiro no `CLAUDE.md` | Estoura contexto fixo da sessão |
318
+ | `disable-model-invocation: false` em `sync`/`run` | Claude pode executar workflow pesado sem você pedir |
319
+ | Editar `status.json` à mão | Dessincroniza `tasks.status.md` |
320
+ | Confiar só em “continua as tasks” | Sem número ou skill, ordem fica ambígua |
321
+ | Ignorar reinício após criar `.claude/skills/` | Skills não aparecem no `/` |
322
+
323
+ ---
324
+
325
+ ## 13. Checklist de maturidade Claude + Task Flow
326
+
327
+ - [x] `CLAUDE.md` enxuto com índice de skills
328
+ - [x] Skills instaladas via `rbin-task-flow init` (14 skills)
329
+ - [x] `paths: [".task-flow/**"]` em `task-flow-run`, `sync`, `estimate`, `report`, `generate-flow`
330
+ - [x] Injeção `` !`head tasks.status.md` `` em `task-flow-run`
331
+ - [ ] `.claude/skills/` versionado no git (ajustar `.gitignore` se o time quiser)
332
+ - [ ] `.task-flow/contexts/` populado para tasks de UI
333
+ - [ ] `graphify extract .` em repos grandes (opcional)
334
+
335
+ ---
336
+
337
+ ## 14. Graphify (opcional)
338
+
339
+ Durante **`task-flow: run`**, use `/graphify` ou `graphify query` para achar módulos — não substitua atualização de status. O Task Flow **não** roda `graphify claude install` no init (evita inchhar `CLAUDE.md`). Ver [GRAPHIFY.md](../GRAPHIFY.md).
340
+
341
+ ---
342
+
343
+ ## 15. Referências
344
+
345
+ - [Claude Code — Skills](https://code.claude.com/docs/en/skills)
346
+ - [Agent Skills open standard](https://agentskills.io/) (interoperável com Cursor)
347
+ - Comandos Task Flow: [../README.md](../README.md)
348
+ - Regras completas: `../../.cursor/rules/`
349
+
350
+ ---
351
+
352
+ *Atualize este guia quando o instalador passar a incluir `.claude/skills/` no template.*