rbin-task-flow 1.25.0 → 1.26.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 (48) hide show
  1. package/.claude/skills/rbin-coding-standards/SKILL.md +4 -3
  2. package/.claude/skills/rbin-coding-standards/reference.md +2 -0
  3. package/.claude/skills/task-flow-estimate/SKILL.md +8 -5
  4. package/.claude/skills/task-flow-from-contexts/SKILL.md +16 -0
  5. package/.claude/skills/task-flow-run/SKILL.md +1 -1
  6. package/.claude/skills/task-flow-sync/SKILL.md +0 -1
  7. package/.claude/skills/task-flow-sync/workflow.md +1 -1
  8. package/.claude/skills/task-flow-validate/SKILL.md +2 -2
  9. package/.cursor/rules/coding_standards.mdc +13 -0
  10. package/.cursor/rules/graphify-task-flow.mdc +7 -8
  11. package/.cursor/rules/task-flow-cursor.mdc +3 -8
  12. package/.cursor/rules/task-flow-sync.mdc +1 -1
  13. package/.cursor/rules/task_execution.mdc +2 -7
  14. package/.cursor/rules/task_from_contexts.mdc +93 -0
  15. package/.cursor/rules/task_validate.mdc +1 -7
  16. package/.cursor/rules/task_work.mdc +1 -1
  17. package/.task-flow/README.md +72 -55
  18. package/.task-flow/guides/AI-PLATFORMS.md +6 -7
  19. package/.task-flow/guides/CODEX.md +16 -63
  20. package/.task-flow/guides/CURSOR.md +4 -5
  21. package/.task-flow/guides/GRAPHIFY.md +12 -13
  22. package/.task-flow/guides/coding-standards-full.md +145 -0
  23. package/.task-flow/guides/platforms/claude-code.md +13 -23
  24. package/.task-flow/guides/platforms/codex.md +9 -22
  25. package/.task-flow/guides/platforms/cursor.md +14 -35
  26. package/.task-flow/tasks.input.txt +3 -4
  27. package/AGENTS.md +3 -13
  28. package/CLAUDE.md +3 -8
  29. package/README.md +16 -24
  30. package/bin/cli.js +3 -24
  31. package/lib/gitignore.js +0 -2
  32. package/lib/graphify.js +50 -18
  33. package/lib/install.js +1 -14
  34. package/package.json +1 -2
  35. package/.claude/skills/task-flow-check/SKILL.md +0 -15
  36. package/.claude/skills/task-flow-generate-flow/SKILL.md +0 -15
  37. package/.claude/skills/task-flow-improve-changes/SKILL.md +0 -15
  38. package/.claude/skills/task-flow-refactor/SKILL.md +0 -14
  39. package/.claude/skills/task-flow-review/SKILL.md +0 -14
  40. package/.claude/skills/task-flow-think/SKILL.md +0 -19
  41. package/.cursor/rules/task_analysis.mdc +0 -45
  42. package/.cursor/rules/task_check.mdc +0 -37
  43. package/.cursor/rules/task_generate_flow.mdc +0 -90
  44. package/.cursor/rules/task_improve_changes.mdc +0 -50
  45. package/.cursor/rules/task_refactor.mdc +0 -94
  46. package/.cursor/rules/task_review.mdc +0 -88
  47. package/lib/audit.js +0 -44
  48. package/lib/check.js +0 -113
@@ -8,13 +8,13 @@ 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 **14 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 **10 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
  |--------|----------------|------------|
15
15
  | **Always-on (2)** | `task-flow-cursor.mdc`, `rbin-git-policy.mdc` | ~0,9k / turno |
16
16
  | **Skills** | `@task-flow-run`, `@task-flow-sync`, … | sob demanda |
17
- | **Intelligent** | `task_work`, `task_audit`, `task_analysis` (think), … | quando o Agent casa `description` |
17
+ | **Intelligent** | `task_work`, `task_audit`, `task_validate`, … | quando o Agent casa `description` |
18
18
  | **Glob** | `task-flow-sync`, `task_generation` (`.task-flow/**`), `coding_standards` (`src/**`, `app/**`) | arquivos no contexto |
19
19
 
20
20
  Isso significa:
@@ -44,7 +44,7 @@ Documentação: [Cursor Rules](https://cursor.com/docs/context/rules) · Referê
44
44
  |------|-------------|-------------------------|
45
45
  | **Always Apply** | `alwaysApply: true` | `task-flow-cursor`, `rbin-git-policy` only |
46
46
  | **Apply to Specific Files** | `globs: "**/.task-flow/**"` | Regras só ao editar tasks/status/contexts |
47
- | **Apply Intelligently** | `description` rica, `alwaysApply: false`, sem globs | `task_audit`, `task_refactor` — quando o assunto é auditoria/refactor |
47
+ | **Apply Intelligently** | `description` rica, `alwaysApply: false`, sem globs | `task_audit`, `task_validate` — quando o assunto é auditoria/validação |
48
48
  | **Apply Manually** | sem description/globs, `alwaysApply: false` | Rascunhos, regras experimentais — `@nome-da-regra` |
49
49
 
50
50
  ### Matriz frontmatter (oficial Cursor)
@@ -70,18 +70,13 @@ Confirme no projeto: `rg 'alwaysApply: true' .cursor/rules` → deve listar **ap
70
70
  | `rbin-git-policy.mdc` | git write proibido + sugestão de commit | **Always** |
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
+ | `task_from_contexts.mdc` | draft tasks de `contexts/` | Intelligent |
73
74
  | `task-flow-sync.mdc` | `sync` completo | **Glob** `.task-flow/**` · prefer `@task-flow-sync` |
74
75
  | `task_generation.mdc` | templates de subtarefas | **Glob** `.task-flow/**` |
75
- | `task_analysis.mdc` | `think` apenas | Intelligent |
76
76
  | `task_status.mdc` | `status` | **Glob** `.task-flow/**` |
77
77
  | `task_audit.mdc` | audit vs checklist standards | Intelligent |
78
- | `task_improve_changes.mdc` | audit só no diff | Intelligent |
79
- | `task_check.mdc` | lint + build | Intelligent |
80
- | `task_review.mdc` | verificar “done” | Intelligent |
81
- | `task_refactor.mdc` | refactor sem mudar comportamento | Intelligent |
82
78
  | `task_estimate.mdc` | estimativas | Intelligent / `@` |
83
79
  | `task_report.mdc` | relatórios | Intelligent / `@task-flow-report` |
84
- | `task_generate_flow.mdc` | `tasks.flow.md` | Intelligent / `@` |
85
80
  | `coding_standards.mdc` | checklist (~100 linhas) | **Glob** `src/**`, `app/**` |
86
81
  | `code_comments.mdc` | sem comentários explicativos | **Glob** `**/*.{ts,tsx,js,jsx}` |
87
82
  | `graphify-task-flow.mdc` | Graphify + Task Flow | Intelligent |
@@ -113,9 +108,9 @@ Cursor suporta o mesmo formato que Claude Code: `.cursor/skills/<nome>/SKILL.md`
113
108
  | Mesmo workflow em Claude + Cursor | Skills em **ambas** pastas | ✅ |
114
109
  | Referência enorme (coding standards) | checklist glob (~1k tokens) | `@rbin-coding-standards` + full doc por seção |
115
110
 
116
- O `rbin-task-flow init` copia **14 skills** para `.cursor/skills/` (mesmo conteúdo que `.claude/skills/`). No Agent, use `@task-flow-run`, `@task-flow-sync`, etc.
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.
117
112
 
118
- Após `rbin-task-flow init` ou `update`, use `@task-flow-*` no Agent. Para sync: `@task-flow-sync` (não `task_generation` / `task_analysis` isolados).
113
+ Após `rbin-task-flow init` ou `update`, use `@task-flow-*` no Agent. Para sync: `@task-flow-sync` (não `task_generation` isolado).
119
114
 
120
115
  ---
121
116
 
@@ -124,7 +119,7 @@ Após `rbin-task-flow init` ou `update`, use `@task-flow-*` no Agent. Para sync:
124
119
  | Superfície | Task Flow | Dica |
125
120
  |------------|-----------|------|
126
121
  | **Agent** (Ctrl+I / Composer) | Melhor para `run next X`, implementação multi-arquivo | Abra arquivos de `contexts/` no chat se UI |
127
- | **Chat** | `sync`, `think`, `status`, `estimate` | Peça explicitamente `task-flow: …` |
122
+ | **Chat** | `sync`, `status`, `estimate` | Peça explicitamente `task-flow: …` |
128
123
  | **Cursor CLI** | Mesmas regras do projeto se `.cursor/rules` presente | Útil em CI local com agent |
129
124
 
130
125
  **MCP:** regras não substituem MCP (DB, APIs). Task Flow não conflita — subtarefas podem dizer “usar MCP X” em `tasks.json`.
@@ -156,25 +151,12 @@ task-flow: run next 4
156
151
 
157
152
  Ao terminar cada subtarefa, o Agent deve atualizar `status.json` + `tasks.status.md` (`@task-flow-run` / `task_work` stub).
158
153
 
159
- ```text
160
- task-flow: check
161
- ```
162
-
163
154
  Commit **manual** (regra `rbin-git-policy`).
164
155
 
165
156
  ### 6.3 Qualidade antes do merge
166
157
 
167
158
  ```text
168
- task-flow: improve changes
169
- task-flow: review 2
170
- ```
171
-
172
- `improve changes` usa `git diff --name-only HEAD` — só arquivos alterados.
173
-
174
- ### 6.4 Refactor pós-task
175
-
176
- ```text
177
- task-flow: refactor 1
159
+ task-flow: validate
178
160
  ```
179
161
 
180
162
  Remove comentários explicativos; mantém separadores `// ───`.
@@ -197,7 +179,6 @@ Coloque PNG/PDF/MD em `.task-flow/contexts/`. Nas subtarefas geradas, instruçõ
197
179
  | Execução clara | `task-flow: run next 3` |
198
180
  | Task específica | `task-flow: run 2` |
199
181
  | Sincronizar após editar input | `task-flow: sync` |
200
- | Auditoria focada | `task-flow: improve changes` (não `audit` no repo inteiro) |
201
182
  | Padrões ao codificar | `@rbin-coding-standards` ou arquivo em `src/` (checklist glob) |
202
183
  | Regra sob demanda | `@task-flow-audit` ou `@task_audit` + `task-flow: audit` |
203
184
  | Run explícito | `@task-flow-run` + `task-flow: run next 2` |
@@ -246,9 +227,9 @@ Cursor também pode ler `AGENTS.md` em alguns fluxos; no RBIN ele é focado em *
246
227
  |---------|-------------|
247
228
  | **@-mentions** | `@tasks.input.txt`, `@contexts/dashboard.png`, `@task-flow-run` |
248
229
  | **Notepads / Docs** | Links para `.task-flow/README.md` |
249
- | **Bugbot / PR** | `task-flow: review X` antes de merge |
230
+ | **Bugbot / PR** | `task-flow: validate` antes de merge |
250
231
  | **Background Agent** | `run next 1` por job; cuidado com conflito de `status.json` |
251
- | **Plan mode** | `think` + `sync` para gerar tasks antes de `run` |
232
+ | **Plan mode** | Edite `tasks.input.txt` + `sync` antes de `run` |
252
233
 
253
234
  ---
254
235
 
@@ -260,9 +241,8 @@ Cursor também pode ler `AGENTS.md` em alguns fluxos; no RBIN ele é focado em *
260
241
  | `rbin-task-flow update` | Atualiza rules; preserva `.internal/` |
261
242
  | `rbin-task-flow reset` | Recria `.task-flow` do zero |
262
243
  | `rbin-task-flow reset --graphify` | Reset + `graphify extract . --backend claude-cli` |
263
- | `rbin-task-flow audit` | Lista arquivos **unstaged** (não substitui `task-flow: improve changes`) |
264
244
 
265
- O Agent executa o workflow; o CLI prepara arquivos.
245
+ O Agent executa o workflow (`task-flow: audit`, `task-flow: run`, etc.); o CLI prepara arquivos.
266
246
 
267
247
  ---
268
248
 
@@ -301,13 +281,12 @@ Para open source: documente no README — contribuidores podem usar `--share-ai-
301
281
  ## 13. Checklist de maturidade Cursor + Task Flow
302
282
 
303
283
  - [x] `task-flow-cursor.mdc` + `rbin-git-policy.mdc` (2 always-on, v1.23)
304
- - [x] 14 skills em `.cursor/skills/` após `init`
284
+ - [x] 10 skills em `.cursor/skills/` após `init`
305
285
  - [x] Otimização P0 de tokens (ver §3)
306
286
  - [ ] `task-flow: sync` após cada edição em `tasks.input.txt`
307
287
  - [ ] `@task-flow-run` (não `@task_work`) para implementar
308
288
  - [ ] Contextos em `.task-flow/contexts/` para tasks de UI
309
- - [ ] `improve changes` antes de commit
310
- - [ ] `task-flow: check` antes de push
289
+ - [ ] `task-flow: validate` antes de merge quando relevante
311
290
  - [ ] Time alinhado: git manual sempre
312
291
 
313
292
  ---
@@ -317,7 +296,7 @@ Para open source: documente no README — contribuidores podem usar `--share-ai-
317
296
  Com Graphify instalado (`rbin-install-dev`), o Task Flow traz **`graphify-task-flow.mdc`** (`alwaysApply: false`) em vez de depender do `graphify.mdc` always-on do `graphify cursor install`.
318
297
 
319
298
  - **`rbin-task-flow init`** rebaixa `graphify.mdc` upstream se existir.
320
- - Use Graphify só em **`task-flow: run`**, `think`, `review` — ver [GRAPHIFY.md](../GRAPHIFY.md).
299
+ - Use Graphify só em **`task-flow: run`**, `validate` — ver [GRAPHIFY.md](../GRAPHIFY.md).
321
300
 
322
301
  ---
323
302
 
@@ -9,10 +9,9 @@
9
9
 
10
10
  ## Contexts:
11
11
 
12
- - The `.task-flow/contexts/` folder is for AIs to consult when working on tasks (different file types: .md, .txt, .png, .jpg, .json, etc.)
13
- - Add specs, mockups, requirements, examples, or any reference file to this folder
14
- - RBIN Task Flow detects and references them when generating and implementing subtasks
15
- - To reference a specific context in a task: `task-flow-screen filename.ext`
12
+ - The `.task-flow/contexts/` folder is for specs, mockups, requirements (`.md`, `.txt`, `.png`, `.jpg`, `.pdf`, `.json`, etc.)
13
+ - **`task-flow: from contexts`** reads new files in `contexts/` and appends `- tasks` here (then run `task-flow: sync`)
14
+ - Manual reference in a task: `task-flow-screen filename.ext`
16
15
  - Example: `- Create login screen task-flow-screen login-mockup.png`
17
16
 
18
17
  ## Tasks:
package/AGENTS.md CHANGED
@@ -29,18 +29,13 @@ No explanatory comments. Complex topics → `dev-logs/*.md`. Allowed: `// ──
29
29
  | Command | Read first |
30
30
  |---------|------------|
31
31
  | `task-flow: sync` | Section **Sync** below; details `.task-flow/guides/CODEX.md` |
32
+ | `task-flow: from contexts` | `.cursor/rules/task_from_contexts.mdc` · then `sync` |
32
33
  | `task-flow: run …` | Section **Run** below; details `.task-flow/guides/CODEX.md` |
33
34
  | `task-flow: status` | `.task-flow/tasks.status.md` |
34
- | `task-flow: think` | `.task-flow/guides/CODEX.md` · optional codebase scan |
35
- | `task-flow: check` | `.cursor/rules/task_check.mdc` · `package.json` |
36
- | `task-flow: improve changes` | `git diff --name-only HEAD` · `.cursor/rules/task_improve_changes.mdc` |
37
35
  | `task-flow: audit` | `.cursor/rules/task_audit.mdc` · checklist `coding_standards.mdc` (full: `.task-flow/guides/coding-standards-full.md` if needed) |
38
- | `task-flow: review X` | `.task-flow/guides/CODEX.md` |
39
36
  | `task-flow: validate` | `.cursor/rules/task_validate.mdc` · then sync |
40
- | `task-flow: refactor X` | `.cursor/rules/task_refactor.mdc` |
41
- | `task-flow: estimate X` | `.task-flow/guides/CODEX.md` |
37
+ | `task-flow: estimate X` / `X,Y` / `all` | `.cursor/rules/task_estimate.mdc` · `.task-flow/guides/CODEX.md` |
42
38
  | `task-flow: report X` | `.task-flow/guides/CODEX.md` |
43
- | `task-flow: generate flow` | `.cursor/rules/task_generate_flow.mdc` |
44
39
  | Implementing code | Checklist `.cursor/rules/coding_standards.mdc` · depth: `.task-flow/guides/coding-standards-full.md` (sections only) |
45
40
 
46
41
  ## Sync (embedded)
@@ -52,7 +47,6 @@ No explanatory comments. Complex topics → `dev-logs/*.md`. Allowed: `// ──
52
47
  5. **Modified:** regen subtasks, **preserve** done/pending where possible.
53
48
  6. List `.task-flow/contexts/`; match to tasks; honor `task-flow-screen file.ext`.
54
49
  7. `status.json` = truth; sync `tasks.status.md` checkboxes + 📊 Summary.
55
- 8. Do not fill `tasks.flow.md` (only `generate flow`).
56
50
 
57
51
  ## Run (embedded)
58
52
 
@@ -60,7 +54,7 @@ No explanatory comments. Complex topics → `dev-logs/*.md`. Allowed: `// ──
60
54
  2. `run next X` (default X=1): next X **pending** subtasks in order 1.1, 1.2, …, 2.1…
61
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.
62
56
  4. Per subtask: follow `instructions`; read `contexts/` if cited; implement + verify.
63
- 5. If `graphify-out/graph.json` exists, prefer `graphify query` before repo-wide grep.
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.
64
58
  6. Mark subtask `done` in `status.json`; update `tasks.status.md` Summary.
65
59
  7. Parent task `done` when all subtasks done. Suggest commit; never git write.
66
60
 
@@ -74,10 +68,6 @@ Leia AGENTS.md. Execute task-flow: sync.
74
68
  Leia AGENTS.md e .task-flow/guides/CODEX.md (Run). task-flow: run next 3.
75
69
  ```
76
70
 
77
- ```
78
- task-flow: improve changes — git diff --name-only HEAD, audite só esses arquivos.
79
- ```
80
-
81
71
  ## Other platforms
82
72
 
83
73
  Claude: `CLAUDE.md` + `.claude/skills/`. Cursor: `.cursor/rules/`. Index: `.task-flow/guides/AI-PLATFORMS.md`.
package/CLAUDE.md CHANGED
@@ -14,18 +14,13 @@
14
14
  | Action | Skill |
15
15
  |--------|--------|
16
16
  | Sync input → system | `/task-flow-sync` |
17
+ | Draft tasks from `contexts/` | `/task-flow-from-contexts` |
17
18
  | Run subtasks | `/task-flow-run` |
18
19
  | Status | `/task-flow-status` |
19
- | Suggest new tasks | `/task-flow-think` |
20
- | Lint + build | `/task-flow-check` |
21
20
  | Audit repo | `/task-flow-audit` |
22
- | Audit diff only | `/task-flow-improve-changes` |
23
- | Verify done | `/task-flow-review` |
24
21
  | Validate + fill gaps | `/task-flow-validate` |
25
- | Refactor task code | `/task-flow-refactor` |
26
- | Estimate hours | `/task-flow-estimate` |
22
+ | Estimate hours (`X`, `X,Y`, `all`) | `/task-flow-estimate` |
27
23
  | Implementation report | `/task-flow-report` |
28
- | tasks.flow.md | `/task-flow-generate-flow` |
29
24
  | Implement code | `/rbin-coding-standards` (invoke explicitly; checklist first, full doc sections only if needed) |
30
25
  | Commit suggestion | `/rbin-git` |
31
26
 
@@ -43,7 +38,7 @@ Natural language `task-flow: …` works the same. Details: [.task-flow/README.md
43
38
 
44
39
  ## Graphify (optional)
45
40
 
46
- During `/task-flow-run`, if `graphify-out/` exists, use `graphify query` before broad search. See [.task-flow/guides/GRAPHIFY.md](.task-flow/guides/GRAPHIFY.md).
41
+ During `/task-flow-run`, if `.task-flow/guides/graphify-out/` exists, use `graphify query` with `--graph .task-flow/guides/graphify-out/graph.json` before broad search. See [.task-flow/guides/GRAPHIFY.md](.task-flow/guides/GRAPHIFY.md).
47
42
 
48
43
  ## Cursor rules (reference)
49
44
 
package/README.md CHANGED
@@ -33,7 +33,7 @@
33
33
  <a id="português"></a>
34
34
  # 🇧🇷 Português
35
35
 
36
- > **v1.25.0** — `.task-flow/` enxuto: tasks na raiz, docs em `guides/`. De **1.24.x**: `npm install -g rbin-task-flow@1.25` e `rbin-task-flow update`. [CHANGELOG](CHANGELOG.md) · [Publicação](RELEASE-1.25.0.md).
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).
37
37
 
38
38
  ## O Que É Este Projeto?
39
39
 
@@ -77,10 +77,10 @@ rbin-task-flow init --share-ai-config # Versiona .cursor/skills/ e .cursor/rule
77
77
  rbin-task-flow update # Atualiza configurações (mantém profile em install-meta.json)
78
78
  rbin-task-flow update --profile standard # Passa a copiar todas as regras .mdc
79
79
  rbin-task-flow reset # Reinstala o Task Flow do zero
80
- rbin-task-flow reset --graphify # Reset + graphify extract --backend claude-cli (CLI Graphify no PATH)
80
+ rbin-task-flow update --graphify # Update + grafo em .task-flow/guides/graphify-out/
81
+ rbin-task-flow reset --graphify # Reset + graphify extract (CLI Graphify no PATH)
81
82
  rbin-task-flow version-check # Verifica atualizações de modelos
82
83
  rbin-task-flow info # Mostra informações
83
- rbin-task-flow check # Roda lint/fix e build quando existirem
84
84
  rbin-task-flow estimate <ids> # Estima tempo (ex: "1" ou "1,2" ou "all")
85
85
  rbin-task-flow report <ids> # Gera relatório (ex: "1" ou "1,2" ou "all")
86
86
  ```
@@ -91,34 +91,30 @@ Após inicializar, use estes comandos na IA (Cursor/Claude/Codex) para gerenciar
91
91
 
92
92
  **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
93
 
94
- **Graphify (opcional):** `rbin-task-flow init --graphify` configura coexistência e roda `graphify extract . --backend claude-cli` (CLI via `rbin-install-dev`; usa assinatura Claude Code).
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
95
 
96
- **Claude Code / Cursor skills (v1.20+):** `init` copia 15 skills para `.claude/skills/` e `.cursor/skills/` — use `/task-flow-sync`, `/task-flow-run`, `/task-flow-validate`, etc.
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
97
 
98
98
  **Codex (v1.21+):** `AGENTS.md` com sync/run embutidos, `.task-flow/guides/CODEX.md` sob demanda, `.codex/config.toml` (64 KiB).
99
99
 
100
100
  **Cursor (v1.23+):** `task-flow-cursor.mdc` + `rbin-git-policy.mdc` (2 always-on) + skills — ver `.task-flow/guides/CURSOR.md`.
101
101
 
102
- **Perfil minimal:** `init --profile minimal` instala só as 2 regras always-on e as 15 skills; workflows via `@task-flow-*` (sem `task_work`, `coding_standards` glob, etc.). `standard` (padrão) copia todas as regras `.cursor/rules/`.
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
103
 
104
104
  **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
105
 
106
106
  | Comando | Por Que Usar | Feature Principal |
107
107
  |---------|--------------|-------------------|
108
+ | `task-flow: from contexts` | **Gera** tasks a partir de specs/mockups | Lê arquivos em `contexts/` (PDF, imagem, texto…) e adiciona linhas em `tasks.input.txt`; depois rode `sync` |
108
109
  | `task-flow: sync` | **Sincroniza** tarefas do arquivo texto com o sistema | Mantém tudo sincronizado automaticamente - adiciona novas, remove deletadas, preserva seu progresso |
109
- | `task-flow: think` | **Descobre** tarefas que você esqueceu | Analisa código e sugere tarefas que faltam (testes, refatoração, documentação) |
110
110
  | `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
- | `task-flow: check` | **Valida** lint e build antes de revisar ou commitar | Roda lint com fix quando disponível e depois build, corrigindo problemas do projeto atual |
112
- | `task-flow: improve changes` | **Audita** só o diff atual | Faz o mesmo audit de padrões, mas restrito aos arquivos alterados em relação ao `HEAD` |
113
111
  | `task-flow: status` | **Visualiza** o progresso rapidamente | Vê resumo com tasks completas, em andamento e quantas subtarefas faltam |
114
112
  | `task-flow: run next X` | **Automatiza** o trabalho nas próximas subtarefas | A IA trabalha nas próximas X subtarefas sequencialmente, você só acompanha |
115
113
  | `task-flow: run X` | **Completa** uma tarefa inteira de uma vez | Executa todas as subtarefas de uma tarefa específica (permite trabalho paralelo) |
116
114
  | `task-flow: run X,Y` | **Completa** múltiplas tarefas | Executa tarefas separadas por vírgula (ex: `task-flow: run 10,11`) |
117
115
  | `task-flow: run all` | **Completa** todas as tarefas | Executa todas as tarefas pendentes |
118
- | `task-flow: review X` | **Garante** qualidade do trabalho | Verifica tarefas específicas (ex: `task-flow: review 1` ou `task-flow: review 10,11` ou `task-flow: review all`) |
119
116
  | `task-flow: validate` | **Valida** implementação e **preenche lacunas** | Auditoria profunda: reverifica done/pending, corrige status falso, adiciona lacunas em `tasks.input.txt` e faz sync |
120
- | `task-flow: refactor X` | **Melhora** código sem quebrar | Refatora tarefas específicas (ex: `task-flow: refactor 1` ou `task-flow: refactor 10,11` ou `task-flow: refactor all`) |
121
- | `task-flow: estimate X` | **Estima** tempo para gestão | Calcula estimativa de tempo (ex: `task-flow: estimate 1` ou `task-flow: estimate 10,11`) |
117
+ | `task-flow: estimate X` | **Estima** tempo para gestão | `estimate 1`, `estimate 10,11` ou `estimate all` |
122
118
  | `task-flow: report X` | **Documenta** implementação | Gera relatório detalhado (ex: `task-flow: report 1` ou `task-flow: report 10,11`) |
123
119
 
124
120
  **Fluxo típico:**
@@ -419,7 +415,7 @@ Para problemas ou perguntas:
419
415
  <a id="english"></a>
420
416
  # 🇬🇧 English
421
417
 
422
- > **v1.25.0** — Slim `.task-flow/`: tasks at root, docs in `guides/`. From **1.24.x**: `npm install -g rbin-task-flow@1.25` then `rbin-task-flow update`. [CHANGELOG](CHANGELOG.md) · [Release guide](RELEASE-1.25.0.md).
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).
423
419
 
424
420
  ## What Is This Project?
425
421
 
@@ -463,10 +459,10 @@ rbin-task-flow init --share-ai-config # Commit .cursor/skills and rules with th
463
459
  rbin-task-flow update # Update configs (keeps profile from .task-flow/install-meta.json)
464
460
  rbin-task-flow update --profile standard # Install all .cursor/rules/*.mdc
465
461
  rbin-task-flow reset # Reinstall Task Flow from scratch
466
- rbin-task-flow reset --graphify # Reset + graphify extract --backend claude-cli (Graphify CLI on PATH)
462
+ rbin-task-flow update --graphify # Update + graph at .task-flow/guides/graphify-out/
463
+ rbin-task-flow reset --graphify # Reset + graphify extract (Graphify CLI on PATH)
467
464
  rbin-task-flow version-check # Check for model updates
468
465
  rbin-task-flow info # Show information
469
- rbin-task-flow check # Run lint/fix and build when available
470
466
  rbin-task-flow estimate <ids> # Estimate time (e.g., "1" or "1,2" or "all")
471
467
  rbin-task-flow report <ids> # Generate report (e.g., "1" or "1,2" or "all")
472
468
  ```
@@ -477,13 +473,13 @@ After initializing, use these commands in your AI (Cursor/Claude/Codex) to autom
477
473
 
478
474
  **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)
479
475
 
480
- **Graphify (optional):** `rbin-task-flow init --graphify` cooperative setup + runs `graphify extract . --backend claude-cli` (CLI from `rbin-install-dev`; uses Claude Code subscription).
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).
481
477
 
482
- **Claude / Cursor skills (v1.20+):** installs 15 skills — use `/task-flow-sync`, `/task-flow-run`, `/task-flow-validate`, etc.
478
+ **Claude / Cursor skills (v1.20+):** installs 10 skills — use `/task-flow-from-contexts`, `/task-flow-sync`, `/task-flow-run`, etc.
483
479
 
484
480
  **Codex (v1.21+):** optimized `AGENTS.md`, `.task-flow/guides/CODEX.md`, `.codex/config.toml`.
485
481
 
486
- **Cursor (v1.23+):** 2 always-on rules + 15 skills — `@task-flow-sync`, `@task-flow-run`, `@task-flow-validate`.
482
+ **Cursor (v1.23+):** 2 always-on rules + 10 skills — `@task-flow-from-contexts`, `@task-flow-sync`, `@task-flow-run`.
487
483
 
488
484
  **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/`.
489
485
 
@@ -491,20 +487,16 @@ After initializing, use these commands in your AI (Cursor/Claude/Codex) to autom
491
487
 
492
488
  | Command | Why Use It | Key Feature |
493
489
  |---------|------------|-------------|
490
+ | `task-flow: from contexts` | **Draft** tasks from specs/mockups | Reads `contexts/` files (PDF, image, text…) and appends lines to `tasks.input.txt`; then run `sync` |
494
491
  | `task-flow: sync` | **Sync** tasks from text file with system | Keeps everything synchronized automatically - adds new, removes deleted, preserves your progress |
495
- | `task-flow: think` | **Discover** tasks you forgot | Analyzes code and suggests missing tasks (tests, refactoring, documentation) |
496
492
  | `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 |
497
- | `task-flow: check` | **Validate** lint and build before review or commit | Runs lint with autofix when available and then build, fixing current-project issues first |
498
- | `task-flow: improve changes` | **Audit** only the current diff | Runs the same standards audit, but restricted to files changed relative to `HEAD` |
499
493
  | `task-flow: status` | **Visualize** progress quickly | See summary with completed tasks, in progress, and remaining subtasks |
500
494
  | `task-flow: run next X` | **Automate** work on next subtasks | AI works on next X subtasks sequentially, you just follow along |
501
495
  | `task-flow: run X` | **Complete** an entire task at once | Executes all subtasks of a specific task (allows parallel work) |
502
496
  | `task-flow: run X,Y` | **Complete** multiple tasks | Executes comma-separated tasks (e.g., `task-flow: run 10,11`) |
503
497
  | `task-flow: run all` | **Complete** all tasks | Executes all pending tasks |
504
- | `task-flow: review X` | **Ensure** work quality | Verifies specific tasks (e.g., `task-flow: review 1` or `task-flow: review 10,11` or `task-flow: review all`) |
505
498
  | `task-flow: validate` | **Validate** implementation and **fill gaps** | Deep audit: recheck done/pending, fix false done, append gaps to `tasks.input.txt`, then sync |
506
- | `task-flow: refactor X` | **Improve** code without breaking | Refactors specific tasks (e.g., `task-flow: refactor 1` or `task-flow: refactor 10,11` or `task-flow: refactor all`) |
507
- | `task-flow: estimate X` | **Estimate** time for management | Calculates time estimate (e.g., `task-flow: estimate 1` or `task-flow: estimate 10,11`) |
499
+ | `task-flow: estimate X` | **Estimate** time for management | `estimate 1`, `estimate 10,11`, or `estimate all` |
508
500
  | `task-flow: report X` | **Document** implementation | Generates detailed report (e.g., `task-flow: report 1` or `task-flow: report 10,11`) |
509
501
 
510
502
  **Typical workflow:**
package/bin/cli.js CHANGED
@@ -7,8 +7,6 @@ const { parseProfileOption } = require('../lib/profiles');
7
7
  const { checkVersionUpdates } = require('../lib/version');
8
8
  const { estimateTask } = require('../lib/estimate');
9
9
  const { generateReport } = require('../lib/report');
10
- const { runAudit } = require('../lib/audit');
11
- const { runCheck } = require('../lib/check');
12
10
  const chalk = require('chalk');
13
11
 
14
12
  program
@@ -21,7 +19,7 @@ function addInstallCommand(name, description, extra = {}) {
21
19
  .command(name)
22
20
  .description(description)
23
21
  .option('-p, --path <path>', 'Target directory (default: current directory)')
24
- .option('-g, --graphify', 'Run graphify extract . --backend claude-cli after install (requires graphify CLI)')
22
+ .option('-g, --graphify', 'Run graphify extract .task-flow/guides/graphify-out/ (claude-cli backend; requires graphify CLI)')
25
23
  .option(
26
24
  '--profile <profile>',
27
25
  'Cursor rules: minimal (2 always-on + skills) or standard (all rules); update without flag keeps .task-flow/install-meta.json'
@@ -80,24 +78,6 @@ program
80
78
  await generateReport(taskIds, targetPath);
81
79
  });
82
80
 
83
- program
84
- .command('audit')
85
- .description('List files with unstaged changes (not yet git add)')
86
- .option('-p, --path <path>', 'Target directory (default: current directory)')
87
- .action(async (options) => {
88
- const targetPath = options.path || process.cwd();
89
- await runAudit(targetPath);
90
- });
91
-
92
- program
93
- .command('check')
94
- .description('Run lint fix when available, then build')
95
- .option('-p, --path <path>', 'Target directory (default: current directory)')
96
- .action(async (options) => {
97
- const targetPath = options.path || process.cwd();
98
- await runCheck(targetPath);
99
- });
100
-
101
81
  program
102
82
  .command('info')
103
83
  .description('Show information about RBIN Task Flow')
@@ -119,9 +99,8 @@ program
119
99
  console.log(chalk.cyan(' rbin-task-flow version-check') + ' - Check for model updates');
120
100
  console.log(chalk.cyan(' rbin-task-flow estimate <ids>') + ' - Estimate time (e.g., "1" or "1,2" or "all")');
121
101
  console.log(chalk.cyan(' rbin-task-flow report <ids>') + ' - Generate report (e.g., "1" or "1,2" or "all")');
122
- console.log(chalk.cyan(' rbin-task-flow check') + ' - Run lint fix and build when available');
123
- console.log(chalk.cyan(' rbin-task-flow audit') + ' - List unstaged files (not yet git add)');
124
- console.log(chalk.cyan(' rbin-task-flow info') + ' - Show this information\n');
102
+ console.log(chalk.cyan(' rbin-task-flow info') + ' - Show this information');
103
+ console.log(chalk.gray(' task-flow: audit use in AI (@task-flow-audit)\n'));
125
104
  });
126
105
 
127
106
  program.parse();
package/lib/gitignore.js CHANGED
@@ -8,7 +8,6 @@ const ENTRIES_DEFAULT = [
8
8
  '.claude/',
9
9
  '.cursor/',
10
10
  '.task-flow/',
11
- 'graphify-out/',
12
11
  'CLAUDE.md',
13
12
  'AGENTS.md',
14
13
  ];
@@ -18,7 +17,6 @@ const ENTRIES_SHARE_AI_CONFIG = [
18
17
  '.cursor/settings.json',
19
18
  '.cursor/rules/*.local.mdc',
20
19
  '.task-flow/',
21
- 'graphify-out/',
22
20
  'CLAUDE.md',
23
21
  'AGENTS.md',
24
22
  ];
package/lib/graphify.js CHANGED
@@ -3,10 +3,14 @@ const path = require('path');
3
3
  const { spawnSync } = require('child_process');
4
4
  const { showSuccess, showWarning, showInfo } = require('./utils');
5
5
 
6
- const GRAPHIFY_OUT = 'graphify-out/';
6
+ const GRAPHIFY_GUIDES_DIR = '.task-flow/guides';
7
+ const GRAPHIFY_OUT_REL = `${GRAPHIFY_GUIDES_DIR}/graphify-out`;
8
+ const GRAPHIFY_GRAPH_JSON = `${GRAPHIFY_OUT_REL}/graph.json`;
9
+ const GRAPHIFY_GRAPH_FLAG = `--graph ${GRAPHIFY_GRAPH_JSON}`;
10
+ const LEGACY_GRAPHIFY_OUT = 'graphify-out';
7
11
  const UPSTREAM_GRAPHIFY_RULE = 'graphify.mdc';
8
- const GRAPHIFY_EXTRACT_CMD = 'graphify extract . --backend claude-cli';
9
- const GRAPHIFY_EXTRACT_ARGS = ['extract', '.', '--backend', 'claude-cli'];
12
+ const GRAPHIFY_EXTRACT_CMD = `graphify extract . --backend claude-cli --out ${GRAPHIFY_GUIDES_DIR}`;
13
+ const GRAPHIFY_EXTRACT_ARGS = ['extract', '.', '--backend', 'claude-cli', '--out', GRAPHIFY_GUIDES_DIR];
10
14
 
11
15
  function graphifyCliAvailable() {
12
16
  const result = spawnSync('graphify', ['--help'], {
@@ -44,25 +48,42 @@ function demoteUpstreamGraphifyRule(targetPath) {
44
48
  return true;
45
49
  }
46
50
 
47
- function ensureGraphifyGitignore(targetPath) {
51
+ function stripLegacyGraphifyGitignore(targetPath) {
48
52
  const gitignorePath = path.join(targetPath, '.gitignore');
49
53
  if (!fs.existsSync(gitignorePath)) {
50
54
  return false;
51
55
  }
52
56
 
53
57
  let content = fs.readFileSync(gitignorePath, 'utf8');
54
- const entry = GRAPHIFY_OUT.replace(/\/$/, '');
55
- const linePattern = new RegExp(`^${entry}\\/?$`, 'm');
58
+ const before = content;
59
+ const linePattern = new RegExp(`^${LEGACY_GRAPHIFY_OUT}\\/?\\s*$`, 'gm');
60
+ content = content.replace(linePattern, '');
56
61
 
57
- if (linePattern.test(content)) {
62
+ if (content === before) {
58
63
  return false;
59
64
  }
60
65
 
61
- if (!content.endsWith('\n')) {
62
- content += '\n';
66
+ fs.writeFileSync(gitignorePath, content.replace(/\n{3,}/g, '\n\n'));
67
+ return true;
68
+ }
69
+
70
+ async function migrateLegacyGraphifyOut(targetPath) {
71
+ await fs.ensureDir(path.join(targetPath, GRAPHIFY_GUIDES_DIR));
72
+
73
+ const legacyDir = path.join(targetPath, LEGACY_GRAPHIFY_OUT);
74
+ const guidesOutDir = path.join(targetPath, GRAPHIFY_OUT_REL);
75
+
76
+ if (!fs.existsSync(legacyDir)) {
77
+ return false;
63
78
  }
64
- content += `\n${entry}/\n`;
65
- fs.writeFileSync(gitignorePath, content);
79
+
80
+ if (fs.existsSync(guidesOutDir)) {
81
+ showInfo(`Legacy ${LEGACY_GRAPHIFY_OUT}/ kept — ${GRAPHIFY_OUT_REL}/ already exists`);
82
+ return false;
83
+ }
84
+
85
+ await fs.move(legacyDir, guidesOutDir);
86
+ showSuccess(`Graphify output moved: ${LEGACY_GRAPHIFY_OUT}/ → ${GRAPHIFY_OUT_REL}/`);
66
87
  return true;
67
88
  }
68
89
 
@@ -72,6 +93,8 @@ function runGraphifyExtract(targetPath) {
72
93
  return false;
73
94
  }
74
95
 
96
+ fs.ensureDirSync(path.join(targetPath, GRAPHIFY_GUIDES_DIR));
97
+
75
98
  showInfo(`Running ${GRAPHIFY_EXTRACT_CMD} (may take a few minutes)...`);
76
99
  const result = spawnSync('graphify', GRAPHIFY_EXTRACT_ARGS, {
77
100
  cwd: targetPath,
@@ -84,7 +107,7 @@ function runGraphifyExtract(targetPath) {
84
107
  return false;
85
108
  }
86
109
 
87
- showSuccess('Graphify knowledge graph (graphify-out/)');
110
+ showSuccess(`Graphify knowledge graph (${GRAPHIFY_OUT_REL}/)`);
88
111
  return true;
89
112
  }
90
113
 
@@ -94,29 +117,38 @@ async function setupGraphifyIntegration(targetPath, options = {}) {
94
117
  showSuccess('Graphify upstream rule demoted (alwaysApply: false) — Task Flow keeps priority');
95
118
  }
96
119
 
97
- const gitignoreUpdated = ensureGraphifyGitignore(targetPath);
98
- if (gitignoreUpdated) {
99
- showSuccess('graphify-out/ added to .gitignore');
120
+ await migrateLegacyGraphifyOut(targetPath);
121
+
122
+ const gitignoreCleaned = stripLegacyGraphifyGitignore(targetPath);
123
+ if (gitignoreCleaned) {
124
+ showInfo('Removed legacy graphify-out/ from .gitignore (graph lives under .task-flow/guides/)');
100
125
  }
101
126
 
127
+ await fs.ensureDir(path.join(targetPath, GRAPHIFY_GUIDES_DIR));
128
+
102
129
  if (options.extract) {
103
130
  runGraphifyExtract(targetPath);
104
131
  } else if (graphifyCliAvailable()) {
105
- const graphJson = path.join(targetPath, 'graphify-out', 'graph.json');
132
+ const graphJson = path.join(targetPath, GRAPHIFY_GRAPH_JSON);
106
133
  if (!fs.existsSync(graphJson)) {
107
134
  showInfo(`Graphify CLI detected — run: ${GRAPHIFY_EXTRACT_CMD} (or: rbin-task-flow init --graphify)`);
108
135
  }
109
136
  }
110
137
 
111
- showInfo('Graphify + Task Flow guide: .task-flow/guides/GRAPHIFY.md');
138
+ showInfo(`Graphify + Task Flow guide: .task-flow/guides/GRAPHIFY.md (output: ${GRAPHIFY_OUT_REL}/)`);
112
139
  }
113
140
 
114
141
  module.exports = {
115
142
  setupGraphifyIntegration,
116
143
  demoteUpstreamGraphifyRule,
117
- ensureGraphifyGitignore,
144
+ stripLegacyGraphifyGitignore,
145
+ migrateLegacyGraphifyOut,
118
146
  runGraphifyExtract,
119
147
  graphifyCliAvailable,
120
148
  GRAPHIFY_EXTRACT_CMD,
121
149
  GRAPHIFY_EXTRACT_ARGS,
150
+ GRAPHIFY_GUIDES_DIR,
151
+ GRAPHIFY_OUT_REL,
152
+ GRAPHIFY_GRAPH_JSON,
153
+ GRAPHIFY_GRAPH_FLAG,
122
154
  };
package/lib/install.js CHANGED
@@ -269,7 +269,6 @@ async function copyTaskFlow(targetPath, options = {}) {
269
269
  const PRESERVED_ON_INIT = [
270
270
  path.join(taskFlowDest, 'tasks.input.txt'),
271
271
  path.join(taskFlowDest, 'tasks.status.md'),
272
- path.join(taskFlowDest, 'tasks.flow.md'),
273
272
  path.join(taskFlowDest, 'install-meta.json'),
274
273
  ];
275
274
 
@@ -296,25 +295,13 @@ async function copyTaskFlow(targetPath, options = {}) {
296
295
  await fs.ensureDir(path.join(taskFlowDest, 'guides', 'reports'));
297
296
  await migrateLegacyTaskFlowLayout(taskFlowDest);
298
297
 
299
- const flowPath = path.join(taskFlowDest, 'tasks.flow.md');
300
- if (!fs.existsSync(flowPath)) {
301
- const flowStub = [
302
- '# Task Flow — Dependencies, Hours & Model Recommendations',
303
- '',
304
- '<!-- Populated by task-flow: generate flow. Do not edit manually. -->',
305
- '<!-- Horas: uso para cobrança ao cliente -->',
306
- '',
307
- ].join('\n');
308
- await fs.writeFile(flowPath, flowStub);
309
- }
310
-
311
298
  showSuccess('Task Flow directory');
312
299
  if (isReset) {
313
300
  showWarning('Reset completed: .task-flow was recreated from scratch');
314
301
  } else if (isUpdate) {
315
302
  showInfo('Protected: .internal/ (your task data is safe)');
316
303
  } else {
317
- showInfo('Protected on init: .internal/, tasks.input.txt, tasks.status.md, tasks.flow.md');
304
+ showInfo('Protected on init: .internal/, tasks.input.txt, tasks.status.md');
318
305
  }
319
306
  }
320
307
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rbin-task-flow",
3
- "version": "1.25.0",
3
+ "version": "1.26.0",
4
4
  "description": "AI-powered task management for Claude and Cursor",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -20,7 +20,6 @@
20
20
  "cli",
21
21
  "task-management",
22
22
  "ai-powered",
23
- "generate-flow",
24
23
  "tasks-flow"
25
24
  ],
26
25
  "author": "Rubens de Oliveira",
@@ -1,15 +0,0 @@
1
- ---
2
- name: task-flow-check
3
- description: Runs project lint fix and build from package.json until passing. Use when the user says task-flow check, run lint and build, or validate project before commit.
4
- disable-model-invocation: true
5
- ---
6
-
7
- # Task Flow — Check
8
-
9
- 1. Read `package.json` scripts.
10
- 2. Run lint with fix variant if present (`lint:fix`, `lint-fix`, or `lint -- --fix`); fix issues.
11
- 3. Run `build` if defined; fix failures.
12
- 4. Re-run until both pass.
13
- 5. Report what ran and final status.
14
-
15
- Does not change task files. Reference: `.cursor/rules/task_check.mdc`