rbin-task-flow 1.18.1 → 1.19.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.
@@ -62,6 +62,7 @@ alwaysApply: true
62
62
  - Rebuild tasks.json with all tasks in correct order (matching tasks.input.txt order)
63
63
  - Rebuild status.json preserving all existing statuses (or updating if needed)
64
64
  - Rebuild tasks.status.md with all tasks and correct status marks (synchronized with status.json)
65
+ - **DO NOT** update or populate `.task-flow/tasks.flow.md` — that file is filled only by `task-flow: generate flow`
65
66
  - **ALWAYS regenerate summary section** at the top of tasks.status.md:
66
67
  - Count completed tasks (all subtasks done)
67
68
  - Count in-progress tasks (some subtasks done)
@@ -37,6 +37,7 @@ alwaysApply: true
37
37
  - `task-flow: report X` - Generate implementation report for task X (simplified - no "task" needed)
38
38
  - `task-flow: report X,Y` - Generate reports for multiple tasks (comma-separated)
39
39
  - `task-flow: report all` - Generate reports for all tasks
40
+ - `task-flow: generate flow` - Populate tasks.flow.md with dependencies, estimated hours (mid-level dev, billing), and AI model recommendations
40
41
 
41
42
  - **Workflow Example:**
42
43
  ```markdown
@@ -102,6 +103,10 @@ alwaysApply: true
102
103
  - See [task_refactor.mdc](mdc:.cursor/rules/task_refactor.mdc) for refactoring code from current commit
103
104
  - When user says "task-flow: refactor", improve code quality without changing functionality
104
105
 
106
+ - **Task Flow Generation:**
107
+ - See [task_generate_flow.mdc](mdc:.cursor/rules/task_generate_flow.mdc) for populating tasks.flow.md
108
+ - When user says "task-flow: generate flow", populate dependencies and model recommendations
109
+
105
110
  - **Task Flow Commands - Natural Language Interpretation:**
106
111
  - **CRITICAL**: When user mentions **"task flow"**, they **ALWAYS** refer to **RBIN Task Flow**
107
112
  - Common phrases that mean "work on RBIN Task Flow subtasks":
@@ -0,0 +1,73 @@
1
+ ---
2
+ description: Generate task flow with dependencies, estimated hours (billing), and AI model recommendations
3
+ globs: **/*
4
+ alwaysApply: true
5
+ ---
6
+
7
+ - **Task Flow Generation - Dependencies, Hours & Model Recommendations:**
8
+ - **FAST FORMAT**: `task-flow: generate flow` → Populate tasks.flow.md with dependencies, estimated hours, and model recommendations
9
+ - When user says "task-flow: generate flow", "generate flow", "gerar flow", or "flow":
10
+ - **READ**: `.task-flow/.internal/tasks.json` to get all tasks
11
+ - **READ**: `.task-flow/.internal/status.json` (optional, for context)
12
+ - **ANALYZE**: For each task, determine dependencies, estimated hours, and model recommendations
13
+ - **WRITE**: Populate `.task-flow/tasks.flow.md` with the generated flow
14
+ - **DO NOT**: Populate tasks.flow.md when running `task-flow: sync` — only when `task-flow: generate flow`
15
+
16
+ - **Generation Process:**
17
+ 1. **Search for current model versions** (quick web search): Codex, Composer (Cursor), Claude (Haiku, Sonnet, Opus). Use the latest available versions in recommendations.
18
+ 2. Read all tasks from tasks.json (id, title, description, subtasks)
19
+ 3. For each task, determine:
20
+ - **Estimated hours** (dev mediano, cobrança ao cliente): Range in hours for mid-level developer (3-5 years). Formula: subtasks × 2 to subtasks × 3 hours (same as [task_estimate.mdc](mdc:.cursor/rules/task_estimate.mdc)). Round to nearest hour. Purpose: developer billing.
21
+ - **Dependencies**: Which tasks (if any) must be completed first
22
+ - Infer from task order, descriptions, subtask content
23
+ - Task 1 typically has no dependencies
24
+ - Task N may depend on 1..N-1 if it builds on their output
25
+ - Use "none" or "nenhuma" when no dependencies
26
+ - **Model recommendations** (in order, most to least indicated):
27
+ - **Codex** (variants): include current version from web search
28
+ - **Composer** (Cursor): include current version from web search
29
+ - **Claude**: Haiku, Sonnet, Opus — include current version from web search
30
+ - **Effort**: low, medium, or high (based on subtask count, complexity)
31
+ 4. Output format per task (simple, one line):
32
+ - `task X - depende da task Y - X-Yh (dev mediano, cobrança) - model1 effort E, model2, model3 effort E`
33
+ - Or: `task X - nenhuma dependência - X-Yh (dev mediano, cobrança) - model1 effort E, model2, model3 effort E`
34
+
35
+ - **Output Format for tasks.flow.md:**
36
+ ```markdown
37
+ # Task Flow — Dependencies, Hours & Model Recommendations
38
+
39
+ <!-- Populated by task-flow: generate flow. Do not edit manually. -->
40
+ <!-- Horas: dev mediano (3-5 anos), uso para cobrança ao cliente -->
41
+
42
+ ## Tasks
43
+
44
+ task 1 - nenhuma dependência - 6-9h (dev mediano, cobrança) - codex effort medium, composer, claude sonnet effort medium
45
+ task 2 - depende da task 1 - 8-12h (dev mediano, cobrança) - codex effort medium, composer, claude sonnet effort medium
46
+ task 3 - depende da task 2 - 14-21h (dev mediano, cobrança) - codex effort high, composer, claude opus effort high
47
+ ```
48
+
49
+ - **Model Recommendation Rules:**
50
+ - **MUST list multiple models** in order (most to least indicated), not just one
51
+ - **Order**: Codex first, then Composer, then Claude (unless task clearly favors another order)
52
+ - **Consider**: Subtask count, description complexity, integration needs
53
+ - **Effort**: low (1-3 subtasks), medium (4-6), high (7+ or complex)
54
+ - **VERSIONS**: Do a quick web search for current Codex, Composer, Claude model versions before generating; include them in the output. If search fails or is unclear, use model names only.
55
+
56
+ - **Dependency Inference Rules:**
57
+ - Sequential order: Task 2 often depends on 1, Task 3 on 2, etc.
58
+ - Semantic analysis: If task mentions "using X from task Y" or similar, add dependency
59
+ - Independent tasks: Can mark as "nenhuma dependência" or "none" to enable parallelization
60
+
61
+ - **Natural Language Phrases:**
62
+ - **FAST FORMAT**: `task-flow: generate flow` or `task-flow generate flow`
63
+ - "generate flow", "gerar flow", "flow", "gerar tasks.flow"
64
+ - Any variation asking to generate/populate the task flow
65
+
66
+ - **Integration:**
67
+ - Uses data from `.task-flow/.internal/tasks.json`
68
+ - Writes to `.task-flow/tasks.flow.md` (created by `rbin-task-flow init`)
69
+ - Does NOT run on `task-flow: sync` — only when user explicitly requests `task-flow: generate flow`
70
+ - Works with [task_execution.mdc](mdc:.cursor/rules/task_execution.mdc) workflow
71
+
72
+ - **Principle:**
73
+ > **Populate tasks.flow.md with dependencies (for parallelization), estimated hours for billing (dev mediano), and AI model recommendations in order. Enable users to decide which tasks can run in parallel, how many hours to charge the client, and which model/effort to use for each.**
@@ -15,6 +15,7 @@
15
15
  | `task-flow: refactor X` | Refactors specific task(s) (e.g., `task-flow: refactor 1` or `task-flow: refactor 10,11` or `task-flow: refactor all`) |
16
16
  | `task-flow: estimate X` | Estimates time for task X (e.g., `task-flow: estimate 1` or `task-flow: estimate 10,11`) |
17
17
  | `task-flow: report X` | Generates implementation report for task X (e.g., `task-flow: report 1` or `task-flow: report 10,11`) |
18
+ | `task-flow: generate flow` | Populates tasks.flow.md with dependencies, estimated hours, and AI model recommendations |
18
19
  | `task-flow: audit` | Audits codebase against coding standards and suggests incremental improvements |
19
20
  | `task-flow: check` | Run lint fix (if available) and build; fix any warnings or errors until both pass |
20
21
  | `task-flow: improve changes` | Audit only uncommitted files against coding standards (same as audit, restricted to current change set) |
@@ -106,6 +107,9 @@ Estimates time required to complete task(s) based on the number of subtasks and
106
107
  - `task-flow: estimate 10,11` → Shows time estimates for tasks 10 and 11
107
108
  - `task-flow: estimate all` → Shows time estimates for all tasks
108
109
 
110
+ ### `task-flow: generate flow`
111
+ Populates `tasks.flow.md` with: (1) task dependencies (for parallelization), (2) estimated hours, and (3) AI model recommendations (Codex, Composer, Claude) with effort levels. Run after `task-flow: sync` when you want to know which tasks can run in parallel and which model/effort to use.
112
+
109
113
  ### `task-flow: report X` (simplified syntax)
110
114
  Generates a detailed implementation report for completed task(s) in Markdown format.
111
115
 
@@ -129,4 +133,5 @@ Generates a detailed implementation report for completed task(s) in Markdown for
129
133
 
130
134
  - `.task-flow/tasks.input.txt` - Edit tasks here (format: `- Task description`)
131
135
  - `.task-flow/tasks.status.md` - ⚠️ **DO NOT EDIT** - Automatically updated by AI
136
+ - `.task-flow/tasks.flow.md` - Dependencies, estimated hours, and model recommendations (populated by `task-flow: generate flow`)
132
137
  - `.task-flow/.internal/` - ⚠️ **IGNORE** - Internal system files (no need to read or edit)
package/AGENTS.md CHANGED
@@ -29,7 +29,7 @@ This repo follows the same development norms as in `.cursor/rules/` and `CLAUDE.
29
29
  - **Task flow** always means **RBIN Task Flow**.
30
30
  - Tasks: `.task-flow/tasks.input.txt` (format: `- Task description`).
31
31
  - Status: `.task-flow/tasks.status.md` and `.task-flow/.internal/status.json`.
32
- - **Commands** to support: `task-flow: sync`, `task-flow: think`, `task-flow: audit`, `task-flow: check`, `task-flow: improve changes`, `task-flow: status`, `task-flow: run next X`, `task-flow: run X` (or `X,Y` / `all`), `task-flow: review X`, `task-flow: refactor X`, `task-flow: estimate X`, `task-flow: report X`.
32
+ - **Commands** to support: `task-flow: sync`, `task-flow: think`, `task-flow: audit`, `task-flow: check`, `task-flow: improve changes`, `task-flow: status`, `task-flow: run next X`, `task-flow: run X` (or `X,Y` / `all`), `task-flow: review X`, `task-flow: refactor X`, `task-flow: estimate X`, `task-flow: report X`, `task-flow: generate flow`.
33
33
  - When running `task-flow: audit`: scan the codebase, score it against `.cursor/rules/coding_standards.mdc`, present a report, and ask the user which improvements to adopt — never impose changes.
34
34
  - When running `task-flow: check`: run lint fix if present and fix lint warnings/errors; run build and fix until it passes.
35
35
  - When running `task-flow: improve changes`: same as audit but only for files changed and not yet committed (obtain list via `git diff --name-only HEAD`, then audit only those paths).
package/CLAUDE.md CHANGED
@@ -37,9 +37,11 @@ This project uses RBIN Task Flow for task management:
37
37
  - `task-flow: report X` - Generate implementation report for task X (simplified - no "task" needed)
38
38
  - `task-flow: report X,Y` - Generate reports for multiple tasks (comma-separated)
39
39
  - `task-flow: report all` - Generate reports for all tasks
40
+ - `task-flow: generate flow` - Populate tasks.flow.md with dependencies, estimated hours (mid-level dev, billing), and AI model recommendations
40
41
  - **Files**:
41
42
  - `.task-flow/tasks.input.txt` - Define your tasks here
42
43
  - `.task-flow/tasks.status.md` - Auto-generated status (DO NOT EDIT manually)
44
+ - `.task-flow/tasks.flow.md` - Dependencies, estimated hours (mid-level dev, billing), and model recommendations (populated by `task-flow: generate flow`)
43
45
  - `.task-flow/.internal/` - Internal system files (ignore)
44
46
 
45
47
  Follow all rules defined in `.cursor/rules/` for consistent development practices.
package/lib/install.js CHANGED
@@ -141,7 +141,18 @@ async function copyTaskFlow(targetPath) {
141
141
  });
142
142
 
143
143
  await fs.ensureDir(path.join(taskFlowDest, 'contexts'));
144
- await fs.ensureDir(path.join(taskFlowDest, 'docs'));
144
+
145
+ const flowPath = path.join(taskFlowDest, 'tasks.flow.md');
146
+ if (!fs.existsSync(flowPath)) {
147
+ const flowStub = [
148
+ '# Task Flow — Dependencies, Hours & Model Recommendations',
149
+ '',
150
+ '<!-- Populated by task-flow: generate flow. Do not edit manually. -->',
151
+ '<!-- Horas: dev mediano (3-5 anos), uso para cobrança ao cliente -->',
152
+ '',
153
+ ].join('\n');
154
+ await fs.writeFile(flowPath, flowStub);
155
+ }
145
156
 
146
157
  showSuccess('Task Flow directory (overwritten)');
147
158
  showInfo('Protected: .internal/ (your task data is safe)');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rbin-task-flow",
3
- "version": "1.18.1",
3
+ "version": "1.19.0",
4
4
  "description": "AI-powered task management for Claude and Cursor",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -18,7 +18,9 @@
18
18
  "cursor",
19
19
  "cli",
20
20
  "task-management",
21
- "ai-powered"
21
+ "ai-powered",
22
+ "generate-flow",
23
+ "tasks-flow"
22
24
  ],
23
25
  "author": "Rubens de Oliveira",
24
26
  "license": "MIT",