rbin-task-flow 1.26.1 → 1.30.1

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.
@@ -29,15 +29,30 @@ Rule: `.cursor/rules/task_from_contexts.mdc`
29
29
 
30
30
  ---
31
31
 
32
+ ## task-flow: split:N
33
+
34
+ 1. **N obrigatório** — `split:3`, `split:2`. `split` sem `:N` → inválido.
35
+ 2. Escopo opcional: `split:3 50-72` ou `split:2 50,51,69`; senão todas pending.
36
+ 3. Particionar em **N** filas sem conflito; cadeias na mesma fila.
37
+ 4. Ordenar IA-1 (mais forte) → IA-N por dificuldade.
38
+ 5. Output N linhas `task-flow: run id,id,id` + coordenação.
39
+ 6. **Não** implementar nem editar status.
40
+
41
+ Rule: `.cursor/rules/task_split.mdc`
42
+
43
+ ---
44
+
32
45
  ## task-flow: run next X | run X | run all
33
46
 
34
47
  See AGENTS.md **Run** section. Prefer `.claude/skills/task-flow-run/workflow.md`; fallback: `.cursor/rules/task_work.mdc`.
35
48
 
36
- **Dependency:** `run N` only if tasks `1..N-1` fully done.
49
+ **Dependency:** `run N` only if tasks `1..N-1` fully `done` (no `manual` blocking).
50
+
51
+ **Per subtask (automatable):** implement → `done` → refresh `tasks.status.md` → suggest commit.
37
52
 
38
- **Per subtask:** implement → `done` in `status.json`refresh `tasks.status.md` suggest commit.
53
+ **Manual intervention:** implement what you can → `manual` → dev-log → user reports in chatAI updates Conversation log → `done` when verified.
39
54
 
40
- **Blocked:** set `in_progress`, explain.
55
+ **Never during run:** `guides/reports/task-*-implementation.md`.
41
56
 
42
57
  ---
43
58
 
@@ -23,6 +23,7 @@ Verify: `rg 'alwaysApply: true' .cursor/rules` → only the two files above.
23
23
  |---------------------|-------------|
24
24
  | `task-flow: from contexts` | `@task-flow-from-contexts` |
25
25
  | `task-flow: sync` | `@task-flow-sync` |
26
+ | `task-flow: split:N` | `@task-flow-split` |
26
27
  | `task-flow: run next 4` | `@task-flow-run` |
27
28
  | `task-flow: status` | `@task-flow-status` |
28
29
  | `task-flow: validate` | `@task-flow-validate` |
@@ -77,12 +78,12 @@ Only during `run` / `validate` when `.task-flow/guides/graphify-out/` exists. Do
77
78
 
78
79
  | Issue | Fix |
79
80
  |-------|-----|
80
- | Ignores task-flow | `rbin-task-flow update` |
81
+ | Ignores task-flow | `rbin-task-flow reset --keep-tasks` |
81
82
  | Run workflow wrong | **`@task-flow-run`** — avoid `@task_work` |
82
83
  | Rule not applied | `@task-flow-<command>` for that workflow |
83
84
  | Standards missing | File under `src/` or `@rbin-coding-standards` |
84
85
  | Context too large | Fewer `src/` files in chat; skills not full docs |
85
- | Wrong always-on count | `update`; don't set `graphify.mdc` always-on |
86
+ | Wrong always-on count | `reset --keep-tasks`; don't set `graphify.mdc` always-on |
86
87
 
87
88
  ---
88
89
 
@@ -31,7 +31,7 @@ Graphify ([graphifyy](https://pypi.org/project/graphifyyy/)) cria um **grafo de
31
31
  1. Copia **`.cursor/rules/graphify-task-flow.mdc`** — `alwaysApply: false` (não compete com `task_work`, etc.).
32
32
  2. Grafo em **`.task-flow/guides/graphify-out/`** (já coberto pelo `.task-flow/` no `.gitignore`; remove entrada legada `graphify-out/` na raiz).
33
33
  3. Se existir **`.cursor/rules/graphify.mdc`** do `graphify cursor install` (upstream com `alwaysApply: true`), o instalador **desativa** `alwaysApply` para economizar contexto.
34
- 4. Com **`--graphify`** em `init`, `update` ou **`reset`**, roda `graphify extract . --backend claude-cli --out .task-flow/guides` se o CLI estiver no PATH (usa assinatura Claude Code — sem API key separada).
34
+ 4. Com **`--graphify`** em `init` ou **`reset`**, roda `graphify extract . --backend claude-cli --out .task-flow/guides` se o CLI estiver no PATH (usa assinatura Claude Code — sem API key separada).
35
35
 
36
36
  **Não** rodamos `graphify claude install` / `graphify cursor install` automaticamente — o install upstream força `graphify.mdc` always-on e incham `CLAUDE.md` / `AGENTS.md`.
37
37
 
@@ -41,7 +41,7 @@ Graphify ([graphifyy](https://pypi.org/project/graphifyyy/)) cria um **grafo de
41
41
 
42
42
  ```bash
43
43
  cd seu-projeto
44
- rbin-task-flow reset --graphify # ou init/update --graphify; recria .task-flow + grafo
44
+ rbin-task-flow reset --keep-tasks --graphify # ou init --graphify; recria template + grafo
45
45
  task-flow: sync
46
46
  task-flow: run next 3 # IA usa grafo só ao implementar
47
47
  # você: git commit
@@ -89,7 +89,7 @@ task-flow: run next 2 — se .task-flow/guides/graphify-out/ existir, graphify q
89
89
  | Primeiro setup | `rbin-task-flow init --graphify` ou `graphify extract . --backend claude-cli --out .task-flow/guides` |
90
90
  | Reset completo (tasks + template + grafo) | `rbin-task-flow reset --graphify` |
91
91
  | Refactor grande após vários `run` | `graphify update .` ou `graphify extract . --backend claude-cli --out .task-flow/guides` |
92
- | `task-flow: update` | Reaplica `graphify-task-flow.mdc` e pode rebaixar `graphify.mdc` |
92
+ | `rbin-task-flow reset --keep-tasks` | Reaplica `graphify-task-flow.mdc` e pode rebaixar `graphify.mdc` |
93
93
 
94
94
  ---
95
95
 
@@ -29,14 +29,14 @@ projeto/
29
29
  ├── CLAUDE.md # Índice enxuto + tabela de skills
30
30
  ├── .claude/
31
31
  │ ├── settings.json
32
- │ └── skills/ # 10 skills (task-flow-*, rbin-*)
32
+ │ └── skills/ # 11 skills (task-flow-*, rbin-*)
33
33
  ├── .cursor/
34
34
  │ ├── rules/ # Referência + Cursor alwaysApply
35
35
  │ └── skills/ # Espelho das mesmas skills
36
36
  └── .task-flow/
37
37
  ```
38
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.
39
+ Após `rbin-task-flow init` ou `reset --keep-tasks`, use **`/task-flow-sync`**, **`/task-flow-run`**, etc. Reinicie o Claude Code se `.claude/skills/` foi criado pela primeira vez na sessão.
40
40
 
41
41
  ---
42
42
 
@@ -144,6 +144,7 @@ Para Task Flow em equipe: prefira **skills de projeto** versionadas (ajuste o `.
144
144
  | `task-flow: from contexts` | `task-flow-from-contexts` | `/task-flow-from-contexts` | `task_from_contexts.mdc` |
145
145
  | `task-flow: sync` | `task-flow-sync` | `/task-flow-sync` | `task-flow-sync.mdc` · `task_generation.mdc` (subtasks) |
146
146
  | `task-flow: run next X` / `run X` | `task-flow-run` | `/task-flow-run` | `workflow.md` · stub `task_work.mdc` |
147
+ | `task-flow: split:N` | `task-flow-split` | `/task-flow-split` | `task_split.mdc` |
147
148
  | `task-flow: status` | `task-flow-status` | `/task-flow-status` | `task_status.mdc` |
148
149
  | `task-flow: audit` | `task-flow-audit` | `/task-flow-audit` | `task_audit.mdc` |
149
150
  | `task-flow: estimate X` / `X,Y` / `all` | `task-flow-estimate` | `/task-flow-estimate` | `task_estimate.mdc` |
@@ -318,7 +319,7 @@ Ou use `AGENTS.override.md` / settings locais fora do git e commite `.claude/ski
318
319
  ## 13. Checklist de maturidade Claude + Task Flow
319
320
 
320
321
  - [x] `CLAUDE.md` enxuto com índice de skills
321
- - [x] Skills instaladas via `rbin-task-flow init` (10 skills)
322
+ - [x] Skills instaladas via `rbin-task-flow init` (11 skills)
322
323
  - [x] `paths: [".task-flow/**"]` em `task-flow-run`, `sync`, `estimate`, `report`
323
324
  - [x] Injeção `` !`head tasks.status.md` `` em `task-flow-run`
324
325
  - [ ] `.claude/skills/` versionado no git (ajustar `.gitignore` se o time quiser)
@@ -154,6 +154,7 @@ Codex prefere `AGENTS.override.md` sobre `AGENTS.md` **no mesmo nível**.
154
154
  | Comando | Prompt mínimo eficaz |
155
155
  |---------|---------------------|
156
156
  | `task-flow: from contexts` | `task_from_contexts.mdc — leia contexts/, append tasks em tasks.input.txt` |
157
+ | `task-flow: split:N` | `task_split.mdc — split:3 ou split:2 50-72, output task-flow: run id,id,id` |
157
158
  | `task-flow: sync` | `Leia AGENTS.md e task-flow-sync.mdc. Execute task-flow: sync em tasks.input.txt.` |
158
159
  | `task-flow: run next 3` | `Siga task-flow-run workflow.md. task-flow: run next 3. Atualize status.json e tasks.status.md.` |
159
160
  | `task-flow: run 2` | Idem + respeitar dependências tasks 1..X-1 |
@@ -8,7 +8,7 @@ Guia para extrair o máximo do **RBIN Task Flow** no [Cursor](https://cursor.com
8
8
 
9
9
  ## 1. Por que o Task Flow “nasce” bem no Cursor
10
10
 
11
- O instalador copia regras para `.cursor/rules/` e **10 skills** para `.cursor/skills/`. Desde **v1.23** (otimização P0 — ver [OPTIMIZATION-PLAN.md](../OPTIMIZATION-PLAN.md)):
11
+ O instalador copia regras para `.cursor/rules/` e **11 skills** para `.cursor/skills/`. Desde **v1.23** (otimização P0 — ver [OPTIMIZATION-PLAN.md](../OPTIMIZATION-PLAN.md)):
12
12
 
13
13
  | Camada | O que carrega | Tokens (~) |
14
14
  |--------|----------------|------------|
@@ -33,8 +33,8 @@ Documentação: [Cursor Rules](https://cursor.com/docs/context/rules) · Referê
33
33
  | **minimal** | `rbin-task-flow init --profile minimal` | Só `task-flow-cursor.mdc` + `rbin-git-policy.mdc` + skills |
34
34
 
35
35
  - **minimal:** ≤2 always-on; workflows só via `@task-flow-*` (sem glob `coding_standards`, `task_work`, etc.).
36
- - **update** sem `--profile` reaplica o profile salvo em `.task-flow/install-meta.json`.
37
- - Migrar para regras completas: `rbin-task-flow update --profile standard`.
36
+ - **reset** sem `--profile` reaplica o profile salvo em `.task-flow/install-meta.json`.
37
+ - Migrar para regras completas: `rbin-task-flow reset --profile standard --keep-tasks`.
38
38
 
39
39
  ---
40
40
 
@@ -71,6 +71,7 @@ Confirme no projeto: `rg 'alwaysApply: true' .cursor/rules` → deve listar **ap
71
71
  | `task_work.mdc` | fallback curto de `run` | Intelligent — use `@task-flow-run` |
72
72
  | `task_execution.mdc` | índice stub → skills | Intelligent / `@` manual |
73
73
  | `task_from_contexts.mdc` | draft tasks de `contexts/` | Intelligent |
74
+ | `task_split.mdc` | plano paralelo `split:N` | Intelligent |
74
75
  | `task-flow-sync.mdc` | `sync` completo | **Glob** `.task-flow/**` · prefer `@task-flow-sync` |
75
76
  | `task_generation.mdc` | templates de subtarefas | **Glob** `.task-flow/**` |
76
77
  | `task_status.mdc` | `status` | **Glob** `.task-flow/**` |
@@ -108,9 +109,9 @@ Cursor suporta o mesmo formato que Claude Code: `.cursor/skills/<nome>/SKILL.md`
108
109
  | Mesmo workflow em Claude + Cursor | Skills em **ambas** pastas | ✅ |
109
110
  | Referência enorme (coding standards) | checklist glob (~1k tokens) | `@rbin-coding-standards` + full doc por seção |
110
111
 
111
- O `rbin-task-flow init` copia **10 skills** para `.cursor/skills/` (mesmo conteúdo que `.claude/skills/`). No Agent, use `@task-flow-run`, `@task-flow-sync`, etc.
112
+ O `rbin-task-flow init` copia **11 skills** para `.cursor/skills/` (mesmo conteúdo que `.claude/skills/`). No Agent, use `@task-flow-split`, `@task-flow-run`, `@task-flow-sync`, etc.
112
113
 
113
- Após `rbin-task-flow init` ou `update`, use `@task-flow-*` no Agent. Para sync: `@task-flow-sync` (não `task_generation` isolado).
114
+ Após `rbin-task-flow init` ou `reset --keep-tasks`, use `@task-flow-*` no Agent. Para sync: `@task-flow-sync` (não `task_generation` isolado).
114
115
 
115
116
  ---
116
117
 
@@ -200,7 +201,7 @@ Coloque PNG/PDF/MD em `.task-flow/contexts/`. Nas subtarefas geradas, instruçõ
200
201
  | Stubs `task_work` / `task_execution` | ✅ |
201
202
  | Unificar git em `rbin-git-policy` | ✅ |
202
203
 
203
- **No seu projeto:** `rbin-task-flow update` reaplica o template. Evite reativar `alwaysApply: true` em `graphify.mdc` upstream.
204
+ **No seu projeto:** `rbin-task-flow reset --keep-tasks` reaplica o template. Evite reativar `alwaysApply: true` em `graphify.mdc` upstream.
204
205
 
205
206
  **Roadmap:** [OPTIMIZATION-PLAN.md](../OPTIMIZATION-PLAN.md) · tarefas: [OPTIMIZATION-IMPLEMENTATION-TASKS.md](../OPTIMIZATION-IMPLEMENTATION-TASKS.md).
206
207
 
@@ -237,10 +238,11 @@ Cursor também pode ler `AGENTS.md` em alguns fluxos; no RBIN ele é focado em *
237
238
 
238
239
  | Comando CLI | Uso com Cursor |
239
240
  |-------------|----------------|
240
- | `rbin-task-flow init` | Copia rules + task-flow |
241
- | `rbin-task-flow update` | Atualiza rules; preserva `.internal/` |
241
+ | `rbin-task-flow init` | Primeira instalação (rules + task-flow) |
242
242
  | `rbin-task-flow reset` | Recria `.task-flow` do zero |
243
+ | `rbin-task-flow reset --keep-tasks` | Sobe versão sem sobrescrever `tasks.input.txt`, `tasks.status.md`, `.internal/` |
243
244
  | `rbin-task-flow reset --graphify` | Reset + `graphify extract . --backend claude-cli` |
245
+ | `rbin-task-flow reset --keep-tasks --graphify` | Upgrade + mantém tasks + grafo |
244
246
 
245
247
  O Agent executa o workflow (`task-flow: audit`, `task-flow: run`, etc.); o CLI prepara arquivos.
246
248
 
@@ -257,7 +259,7 @@ O Agent executa o workflow (`task-flow: audit`, `task-flow: run`, etc.); o CLI p
257
259
  | Local (padrão) | `init` | Repo limpo; cada dev com setup próprio | Sem sync de rules/skills |
258
260
  | Time | `init --share-ai-config` | Mesmo Task Flow para todos | Mais arquivos de IA no git; tokens por dev ao usar rules |
259
261
 
260
- `update` sem flag reaplica a opção salva em `.task-flow/install-meta.json` (`shareAiConfig`).
262
+ `reset` sem flag reaplica a opção salva em `.task-flow/install-meta.json` (`shareAiConfig`).
261
263
 
262
264
  Para open source: documente no README — contribuidores podem usar `--share-ai-config` ou `init` local.
263
265
 
@@ -267,7 +269,7 @@ Para open source: documente no README — contribuidores podem usar `--share-ai-
267
269
 
268
270
  | Problema | Causa provável | Ação |
269
271
  |----------|----------------|------|
270
- | Agent ignora `task-flow:` | Rules não instaladas / projeto errado | `rbin-task-flow update` |
272
+ | Agent ignora `task-flow:` | Rules não instaladas / projeto errado | `rbin-task-flow reset --keep-tasks` |
271
273
  | Não atualiza `tasks.status.md` | Só mexeu em `status.json` | `@task-flow-run` — regenerar Summary |
272
274
  | `run 3` não roda | Tasks 1–2 incompletas | `task-flow: status` |
273
275
  | Coding standards ignorados | Checklist não no contexto | `@rbin-coding-standards` ou abrir arquivo em `src/` |
@@ -281,7 +283,7 @@ Para open source: documente no README — contribuidores podem usar `--share-ai-
281
283
  ## 13. Checklist de maturidade Cursor + Task Flow
282
284
 
283
285
  - [x] `task-flow-cursor.mdc` + `rbin-git-policy.mdc` (2 always-on, v1.23)
284
- - [x] 10 skills em `.cursor/skills/` após `init`
286
+ - [x] 11 skills em `.cursor/skills/` após `init`
285
287
  - [x] Otimização P0 de tokens (ver §3)
286
288
  - [ ] `task-flow: sync` após cada edição em `tasks.input.txt`
287
289
  - [ ] `@task-flow-run` (não `@task_work`) para implementar
package/AGENTS.md CHANGED
@@ -13,6 +13,7 @@
13
13
  | `.task-flow/.internal/tasks.json` | Task definitions |
14
14
  | `.task-flow/.internal/status.json` | Status source of truth |
15
15
  | `.task-flow/contexts/` | Specs/mockups for subtasks |
16
+ | `.task-flow/dev-logs/` | Manual steps + conversation log (AI updates from chat) |
16
17
 
17
18
  ## Git
18
19
 
@@ -31,6 +32,7 @@ No explanatory comments. Complex topics → `dev-logs/*.md`. Allowed: `// ──
31
32
  | `task-flow: sync` | Section **Sync** below; details `.task-flow/guides/CODEX.md` |
32
33
  | `task-flow: from contexts` | `.cursor/rules/task_from_contexts.mdc` · then `sync` |
33
34
  | `task-flow: run …` | Section **Run** below; details `.task-flow/guides/CODEX.md` |
35
+ | `task-flow: split:N` | `.cursor/rules/task_split.mdc` · N obrigatório (`split:3`, `split:2 50-72`) |
34
36
  | `task-flow: status` | `.task-flow/tasks.status.md` |
35
37
  | `task-flow: audit` | `.cursor/rules/task_audit.mdc` · checklist `coding_standards.mdc` (full: `.task-flow/guides/coding-standards-full.md` if needed) |
36
38
  | `task-flow: validate` | `.cursor/rules/task_validate.mdc` · then sync |
@@ -51,12 +53,13 @@ No explanatory comments. Complex topics → `dev-logs/*.md`. Allowed: `// ──
51
53
  ## Run (embedded)
52
54
 
53
55
  1. Read `tasks.json` + `status.json`.
54
- 2. `run next X` (default X=1): next X **pending** subtasks in order 1.1, 1.2, …, 2.1…
55
- 3. `run X` / `X,Y` / `all`: all pending for task(s); for `run X`, block if tasks `1..X-1` have any pending subtask.
56
- 4. Per subtask: follow `instructions`; read `contexts/` if cited; implement + verify.
57
- 5. If `.task-flow/guides/graphify-out/graph.json` exists, prefer `graphify query --graph .task-flow/guides/graphify-out/graph.json` before repo-wide grep.
58
- 6. Mark subtask `done` in `status.json`; update `tasks.status.md` Summary.
59
- 7. Parent task `done` when all subtasks done. Suggest commit; never git write.
56
+ 2. **Resolve `manual` first:** read dev-logs + conversation; append Conversation log; mark `done` only when verified.
57
+ 3. `run next X` (default X=1): next X **pending** subtasks (skip unresolved `manual`).
58
+ 4. `run X` / `X,Y` / `all`: all pending for task(s); block if tasks `1..X-1` have non-`done` subtasks.
59
+ 5. Per subtask: `instructions`; `contexts/`; implement + verify; optional `graphify query`.
60
+ 6. **Automatable** `done`; **manual intervention** `manual` + dev-log; user reports in chat; AI updates log and completes when verified.
61
+ 7. Parent task `done` when all subtasks `done`. Suggest commit; never git write.
62
+ 8. **Never** write `guides/reports/` during run.
60
63
 
61
64
  ## Prompt templates (copy)
62
65
 
package/CLAUDE.md CHANGED
@@ -16,6 +16,7 @@
16
16
  | Sync input → system | `/task-flow-sync` |
17
17
  | Draft tasks from `contexts/` | `/task-flow-from-contexts` |
18
18
  | Run subtasks | `/task-flow-run` |
19
+ | Split pending for N IAs (`split:3`, `split:2`, …) | `/task-flow-split` |
19
20
  | Status | `/task-flow-status` |
20
21
  | Audit repo | `/task-flow-audit` |
21
22
  | Validate + fill gaps | `/task-flow-validate` |
package/README.md CHANGED
@@ -33,7 +33,7 @@
33
33
  <a id="português"></a>
34
34
  # 🇧🇷 Português
35
35
 
36
- > **v1.25.1** — Padrão `.env` Vercel nos coding standards. De **1.25.0**: `npm install -g rbin-task-flow@1.25.1` e `rbin-task-flow update`. [CHANGELOG](CHANGELOG.md) · [Publicação](RELEASE-1.25.1.md).
36
+ > **v1.30.1** — `reset --keep-tasks`, sem comando `update`, subtarefas `manual` em `dev-logs/`. `npm install -g rbin-task-flow@1.30.1` e `rbin-task-flow reset --keep-tasks`. [CHANGELOG](CHANGELOG.md) · [Publicação](RELEASE-1.30.1.md).
37
37
 
38
38
  ## O Que É Este Projeto?
39
39
 
@@ -74,11 +74,12 @@ rbin-task-flow init
74
74
  rbin-task-flow init # Inicializa no projeto atual
75
75
  rbin-task-flow init --profile minimal # Só 2 regras always-on + skills (menos tokens no Cursor)
76
76
  rbin-task-flow init --share-ai-config # Versiona .cursor/skills/ e .cursor/rules/ no git (time)
77
- rbin-task-flow update # Atualiza configurações (mantém profile em install-meta.json)
78
- rbin-task-flow update --profile standard # Passa a copiar todas as regras .mdc
77
+ rbin-task-flow init --graphify # Init + grafo em .task-flow/guides/graphify-out/
79
78
  rbin-task-flow reset # Reinstala o Task Flow do zero
80
- rbin-task-flow update --graphify # Update + grafo em .task-flow/guides/graphify-out/
79
+ rbin-task-flow reset --keep-tasks # Sobe versão sem sobrescrever suas tasks
80
+ rbin-task-flow reset --profile standard # Passa a copiar todas as regras .mdc
81
81
  rbin-task-flow reset --graphify # Reset + graphify extract (CLI Graphify no PATH)
82
+ rbin-task-flow reset --keep-tasks --graphify # Upgrade + mantém tasks + graphify extract
82
83
  rbin-task-flow version-check # Verifica atualizações de modelos
83
84
  rbin-task-flow info # Mostra informações
84
85
  rbin-task-flow estimate <ids> # Estima tempo (ex: "1" ou "1,2" ou "all")
@@ -91,15 +92,15 @@ Após inicializar, use estes comandos na IA (Cursor/Claude/Codex) para gerenciar
91
92
 
92
93
  **Otimizar por plataforma:** [.task-flow/guides/AI-PLATFORMS.md](.task-flow/guides/AI-PLATFORMS.md) · [Claude](.task-flow/guides/platforms/claude-code.md) · [Cursor](.task-flow/guides/platforms/cursor.md) · [Codex](.task-flow/guides/platforms/codex.md) · [Graphify](.task-flow/guides/GRAPHIFY.md)
93
94
 
94
- **Graphify (opcional):** grafo em `.task-flow/guides/graphify-out/`. Novo projeto: `rbin-task-flow init --graphify`. **Já tem Task Flow:** `npm install -g rbin-task-flow@latest` e `rbin-task-flow update --graphify` no projeto (migra `graphify-out/` da raiz + regera grafo). Detalhes: [.task-flow/README.md](.task-flow/README.md#graphify-opcional) · [GRAPHIFY.md](.task-flow/guides/GRAPHIFY.md).
95
+ **Graphify (opcional):** grafo em `.task-flow/guides/graphify-out/`. Novo projeto: `rbin-task-flow init --graphify`. **Já tem Task Flow:** `npm install -g rbin-task-flow@latest` e `rbin-task-flow reset --keep-tasks --graphify` no projeto (migra `graphify-out/` da raiz + regera grafo). **Manter suas tasks ao subir versão:** `rbin-task-flow reset --keep-tasks`. Detalhes: [.task-flow/README.md](.task-flow/README.md#graphify-opcional) · [GRAPHIFY.md](.task-flow/guides/GRAPHIFY.md).
95
96
 
96
- **Claude Code / Cursor skills (v1.20+):** `init` copia 10 skills para `.claude/skills/` e `.cursor/skills/` — use `/task-flow-from-contexts`, `/task-flow-sync`, `/task-flow-run`, etc.
97
+ **Claude Code / Cursor skills (v1.20+):** `init` copia 11 skills para `.claude/skills/` e `.cursor/skills/` — use `/task-flow-split`, `/task-flow-sync`, `/task-flow-run`, etc.
97
98
 
98
99
  **Codex (v1.21+):** `AGENTS.md` com sync/run embutidos, `.task-flow/guides/CODEX.md` sob demanda, `.codex/config.toml` (64 KiB).
99
100
 
100
101
  **Cursor (v1.23+):** `task-flow-cursor.mdc` + `rbin-git-policy.mdc` (2 always-on) + skills — ver `.task-flow/guides/CURSOR.md`.
101
102
 
102
- **Perfil minimal:** `init --profile minimal` instala só as 2 regras always-on e as 10 skills; workflows via `@task-flow-*` (sem `task_work`, `coding_standards` glob, etc.). `standard` (padrão) copia todas as regras `.cursor/rules/`.
103
+ **Perfil minimal:** `init --profile minimal` instala só as 2 regras always-on e as 11 skills; workflows via `@task-flow-*` (sem `task_work`, `coding_standards` glob, etc.). `standard` (padrão) copia todas as regras `.cursor/rules/`.
103
104
 
104
105
  **Compartilhar com o time:** `init --share-ai-config` não ignora `.cursor/skills/` nem `.cursor/rules/` no `.gitignore` (só `.cursor/settings.json` e overrides locais). Padrão: `.cursor/` inteiro ignorado — menos ruído no repo, config local por dev.
105
106
 
@@ -109,7 +110,8 @@ Após inicializar, use estes comandos na IA (Cursor/Claude/Codex) para gerenciar
109
110
  | `task-flow: sync` | **Sincroniza** tarefas do arquivo texto com o sistema | Mantém tudo sincronizado automaticamente - adiciona novas, remove deletadas, preserva seu progresso |
110
111
  | `task-flow: audit` | **Avalia** o quanto o código bate com os padrões de codificação | Analisa a codebase, dá um score por categoria e pergunta quais melhorias você quer adotar — sem impor nada |
111
112
  | `task-flow: status` | **Visualiza** o progresso rapidamente | Vê resumo com tasks completas, em andamento e quantas subtarefas faltam |
112
- | `task-flow: run next X` | **Automatiza** o trabalho nas próximas subtarefas | A IA trabalha nas próximas X subtarefas sequencialmente, você acompanha |
113
+ | `task-flow: split` | `:3` · `:2` · `:3 50-72` | **Divide** trabalho entre N IAs gera N comandos `run X,Y,Z` (plano) |
114
+ | `task-flow: run next X` | **Automatiza** o trabalho nas próximas subtarefas | IA implementa o que pode; passos manuais → `dev-logs/`; você reporta no chat |
113
115
  | `task-flow: run X` | **Completa** uma tarefa inteira de uma vez | Executa todas as subtarefas de uma tarefa específica (permite trabalho paralelo) |
114
116
  | `task-flow: run X,Y` | **Completa** múltiplas tarefas | Executa tarefas separadas por vírgula (ex: `task-flow: run 10,11`) |
115
117
  | `task-flow: run all` | **Completa** todas as tarefas | Executa todas as tarefas pendentes |
@@ -270,11 +272,17 @@ Para atualizar configurações em um projeto existente:
270
272
  ```bash
271
273
  # Usando NPM (recomendado)
272
274
  cd /caminho/para/seu/projeto
273
- rbin-task-flow update
274
275
 
275
- # Para reiniciar o Task Flow do zero, incluindo .task-flow/.internal
276
+ # Primeira instalação
277
+ rbin-task-flow init
278
+
279
+ # Subir versão do pacote mantendo suas tasks
280
+ npm install -g rbin-task-flow@latest
281
+ rbin-task-flow reset --keep-tasks
282
+ rbin-task-flow reset --keep-tasks --graphify
283
+
284
+ # Reiniciar o Task Flow do zero (perde tasks)
276
285
  rbin-task-flow reset
277
- # Com grafo de código (requer graphify no PATH):
278
286
  rbin-task-flow reset --graphify
279
287
 
280
288
  # Ou usando método legacy
@@ -415,7 +423,7 @@ Para problemas ou perguntas:
415
423
  <a id="english"></a>
416
424
  # 🇬🇧 English
417
425
 
418
- > **v1.25.1** — Vercel `.env` pattern in coding standards. From **1.25.0**: `npm install -g rbin-task-flow@1.25.1` then `rbin-task-flow update`. [CHANGELOG](CHANGELOG.md) · [Release guide](RELEASE-1.25.1.md).
426
+ > **v1.30.1** — `reset --keep-tasks`, no `update` CLI, `manual` subtasks in `dev-logs/`. `npm install -g rbin-task-flow@1.30.1` then `rbin-task-flow reset --keep-tasks`. [CHANGELOG](CHANGELOG.md) · [Release guide](RELEASE-1.30.1.md).
419
427
 
420
428
  ## What Is This Project?
421
429
 
@@ -456,11 +464,12 @@ rbin-task-flow init
456
464
  rbin-task-flow init # Initialize in current project
457
465
  rbin-task-flow init --profile minimal # 2 always-on rules + skills only (lower Cursor token cost)
458
466
  rbin-task-flow init --share-ai-config # Commit .cursor/skills and rules with the team
459
- rbin-task-flow update # Update configs (keeps profile from .task-flow/install-meta.json)
460
- rbin-task-flow update --profile standard # Install all .cursor/rules/*.mdc
467
+ rbin-task-flow init --graphify # Init + graph at .task-flow/guides/graphify-out/
461
468
  rbin-task-flow reset # Reinstall Task Flow from scratch
462
- rbin-task-flow update --graphify # Update + graph at .task-flow/guides/graphify-out/
469
+ rbin-task-flow reset --keep-tasks # Upgrade package without overwriting your tasks
470
+ rbin-task-flow reset --profile standard # Install all .cursor/rules/*.mdc
463
471
  rbin-task-flow reset --graphify # Reset + graphify extract (Graphify CLI on PATH)
472
+ rbin-task-flow reset --keep-tasks --graphify # Upgrade + keep tasks + graphify extract
464
473
  rbin-task-flow version-check # Check for model updates
465
474
  rbin-task-flow info # Show information
466
475
  rbin-task-flow estimate <ids> # Estimate time (e.g., "1" or "1,2" or "all")
@@ -473,13 +482,13 @@ After initializing, use these commands in your AI (Cursor/Claude/Codex) to autom
473
482
 
474
483
  **Per-platform optimization:** [index](.task-flow/guides/AI-PLATFORMS.md) · [Claude](.task-flow/guides/platforms/claude-code.md) · [Cursor](.task-flow/guides/platforms/cursor.md) · [Codex](.task-flow/guides/platforms/codex.md) · [Graphify](.task-flow/guides/GRAPHIFY.md)
475
484
 
476
- **Graphify (optional):** graph at `.task-flow/guides/graphify-out/`. New project: `rbin-task-flow init --graphify`. **Existing project:** `npm install -g rbin-task-flow@latest` then `rbin-task-flow update --graphify` (migrates legacy root `graphify-out/` + re-extracts). See [.task-flow/README.md](.task-flow/README.md#graphify-opcional) · [GRAPHIFY.md](.task-flow/guides/GRAPHIFY.md).
485
+ **Graphify (optional):** graph at `.task-flow/guides/graphify-out/`. New project: `rbin-task-flow init --graphify`. **Existing project:** `npm install -g rbin-task-flow@latest` then `rbin-task-flow reset --keep-tasks --graphify` (migrates legacy root `graphify-out/` + re-extracts). **Keep your tasks when upgrading:** `rbin-task-flow reset --keep-tasks`. See [.task-flow/README.md](.task-flow/README.md#graphify-opcional) · [GRAPHIFY.md](.task-flow/guides/GRAPHIFY.md).
477
486
 
478
- **Claude / Cursor skills (v1.20+):** installs 10 skills — use `/task-flow-from-contexts`, `/task-flow-sync`, `/task-flow-run`, etc.
487
+ **Claude / Cursor skills (v1.20+):** installs 11 skills — use `/task-flow-split`, `/task-flow-sync`, `/task-flow-run`, etc.
479
488
 
480
489
  **Codex (v1.21+):** optimized `AGENTS.md`, `.task-flow/guides/CODEX.md`, `.codex/config.toml`.
481
490
 
482
- **Cursor (v1.23+):** 2 always-on rules + 10 skills — `@task-flow-from-contexts`, `@task-flow-sync`, `@task-flow-run`.
491
+ **Cursor (v1.23+):** 2 always-on rules + 11 skills — `@task-flow-split`, `@task-flow-sync`, `@task-flow-run`.
483
492
 
484
493
  **Minimal profile:** `init --profile minimal` copies only `task-flow-cursor.mdc` and `rbin-git-policy.mdc` plus skills; use `@task-flow-*` for workflows. `standard` (default) copies all rules under `.cursor/rules/`.
485
494
 
@@ -491,7 +500,8 @@ After initializing, use these commands in your AI (Cursor/Claude/Codex) to autom
491
500
  | `task-flow: sync` | **Sync** tasks from text file with system | Keeps everything synchronized automatically - adds new, removes deleted, preserves your progress |
492
501
  | `task-flow: audit` | **Evaluate** how well your code matches coding standards | Scans the codebase, scores it by category and asks which improvements you want to adopt — never imposes changes |
493
502
  | `task-flow: status` | **Visualize** progress quickly | See summary with completed tasks, in progress, and remaining subtasks |
494
- | `task-flow: run next X` | **Automate** work on next subtasks | AI works on next X subtasks sequentially, you just follow along |
503
+ | `task-flow: split` | `:3` · `:2` · `:3 50-72` | **Split** work across N AIs N `run` commands (plan only) |
504
+ | `task-flow: run next X` | **Automate** work on next subtasks | AI implements what it can; manual steps → `dev-logs/`; you report in chat |
495
505
  | `task-flow: run X` | **Complete** an entire task at once | Executes all subtasks of a specific task (allows parallel work) |
496
506
  | `task-flow: run X,Y` | **Complete** multiple tasks | Executes comma-separated tasks (e.g., `task-flow: run 10,11`) |
497
507
  | `task-flow: run all` | **Complete** all tasks | Executes all pending tasks |
@@ -652,11 +662,17 @@ To update configs in an existing project:
652
662
  ```bash
653
663
  # Using NPM (recommended)
654
664
  cd /path/to/your/project
655
- rbin-task-flow update
656
665
 
657
- # To reset Task Flow from scratch, including .task-flow/.internal
666
+ # First install
667
+ rbin-task-flow init
668
+
669
+ # Upgrade package while keeping your tasks
670
+ npm install -g rbin-task-flow@latest
671
+ rbin-task-flow reset --keep-tasks
672
+ rbin-task-flow reset --keep-tasks --graphify
673
+
674
+ # Reset Task Flow from scratch (loses tasks)
658
675
  rbin-task-flow reset
659
- # With code knowledge graph (requires graphify on PATH):
660
676
  rbin-task-flow reset --graphify
661
677
 
662
678
  # Or using legacy method
package/bin/cli.js CHANGED
@@ -22,12 +22,16 @@ function addInstallCommand(name, description, extra = {}) {
22
22
  .option('-g, --graphify', 'Run graphify extract → .task-flow/guides/graphify-out/ (claude-cli backend; requires graphify CLI)')
23
23
  .option(
24
24
  '--profile <profile>',
25
- 'Cursor rules: minimal (2 always-on + skills) or standard (all rules); update without flag keeps .task-flow/install-meta.json'
25
+ 'Cursor rules: minimal (2 always-on + skills) or standard (all rules); reset without flag keeps .task-flow/install-meta.json'
26
26
  )
27
27
  .option(
28
28
  '--share-ai-config',
29
29
  'Do not gitignore .cursor/skills/ or .cursor/rules/ (team can commit shared AI config; see .gitignore comment)'
30
30
  )
31
+ .option(
32
+ '--keep-tasks',
33
+ 'Preserve tasks.input.txt, tasks.status.md, .internal/, and dev-logs/ on reset (upgrade package without losing task definitions)'
34
+ )
31
35
  .action(async (options) => {
32
36
  const targetPath = options.path || process.cwd();
33
37
  try {
@@ -39,6 +43,7 @@ function addInstallCommand(name, description, extra = {}) {
39
43
  graphify: options.graphify,
40
44
  profile,
41
45
  shareAiConfig,
46
+ keepTasks: options.keepTasks === true,
42
47
  });
43
48
  } catch (error) {
44
49
  console.error(chalk.red('\n' + error.message + '\n'));
@@ -48,7 +53,6 @@ function addInstallCommand(name, description, extra = {}) {
48
53
  }
49
54
 
50
55
  addInstallCommand('init', 'Initialize RBIN Task Flow in current directory');
51
- addInstallCommand('update', 'Update RBIN Task Flow in current directory', { update: true });
52
56
  addInstallCommand('reset', 'Reset RBIN Task Flow in current directory', { reset: true });
53
57
 
54
58
  program
@@ -93,9 +97,10 @@ program
93
97
  console.log(chalk.cyan(' rbin-task-flow init --profile minimal') + ' - Low-token install (2 always-on rules + skills)');
94
98
  console.log(chalk.cyan(' rbin-task-flow init --share-ai-config') + ' - Version .cursor/skills and rules in git');
95
99
  console.log(chalk.cyan(' rbin-task-flow init --graphify') + ' - Init + graphify extract --backend claude-cli (if CLI installed)');
96
- console.log(chalk.cyan(' rbin-task-flow update') + ' - Update configurations');
97
100
  console.log(chalk.cyan(' rbin-task-flow reset') + ' - Reset task flow files from scratch');
101
+ console.log(chalk.cyan(' rbin-task-flow reset --keep-tasks') + ' - Upgrade package without overwriting tasks');
98
102
  console.log(chalk.cyan(' rbin-task-flow reset --graphify') + ' - Reset + graphify extract --backend claude-cli (if CLI installed)');
103
+ console.log(chalk.cyan(' rbin-task-flow reset --keep-tasks --graphify') + ' - Upgrade + keep tasks + graphify extract');
99
104
  console.log(chalk.cyan(' rbin-task-flow version-check') + ' - Check for model updates');
100
105
  console.log(chalk.cyan(' rbin-task-flow estimate <ids>') + ' - Estimate time (e.g., "1" or "1,2" or "all")');
101
106
  console.log(chalk.cyan(' rbin-task-flow report <ids>') + ' - Generate report (e.g., "1" or "1,2" or "all")');
package/lib/cursor.js CHANGED
@@ -30,7 +30,7 @@ async function setupCursorIntegration(targetPath, options = {}) {
30
30
 
31
31
  if (profile === 'minimal') {
32
32
  showInfo('Minimal profile: 2 always-on rules; workflows via @task-flow-* skills only');
33
- showInfo('Full rules: rbin-task-flow update --profile standard');
33
+ showInfo('Full rules: rbin-task-flow reset --profile standard --keep-tasks');
34
34
  } else {
35
35
  showInfo('Rules: 2 always-on + intelligent/glob rules; prefer @task-flow-* skills for workflows');
36
36
  }