rbin-task-flow 1.19.4 → 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.
- package/.claude/skills/rbin-coding-standards/SKILL.md +29 -0
- package/.claude/skills/rbin-coding-standards/reference.md +42 -0
- package/.claude/skills/rbin-git/SKILL.md +39 -0
- package/.claude/skills/task-flow-audit/SKILL.md +15 -0
- package/.claude/skills/task-flow-check/SKILL.md +15 -0
- package/.claude/skills/task-flow-estimate/SKILL.md +15 -0
- package/.claude/skills/task-flow-generate-flow/SKILL.md +15 -0
- package/.claude/skills/task-flow-improve-changes/SKILL.md +15 -0
- package/.claude/skills/task-flow-refactor/SKILL.md +14 -0
- package/.claude/skills/task-flow-report/SKILL.md +15 -0
- package/.claude/skills/task-flow-review/SKILL.md +14 -0
- package/.claude/skills/task-flow-run/SKILL.md +28 -0
- package/.claude/skills/task-flow-run/workflow.md +59 -0
- package/.claude/skills/task-flow-status/SKILL.md +13 -0
- package/.claude/skills/task-flow-sync/SKILL.md +30 -0
- package/.claude/skills/task-flow-sync/workflow.md +57 -0
- package/.claude/skills/task-flow-think/SKILL.md +17 -0
- package/.codex/config.toml +10 -0
- package/.cursor/rules/code_comments.mdc +4 -4
- package/.cursor/rules/coding_standards.mdc +57 -810
- package/.cursor/rules/commit_practices.mdc +5 -138
- package/.cursor/rules/cursor_rules.mdc +4 -3
- package/.cursor/rules/git_control.mdc +5 -86
- package/.cursor/rules/graphify-task-flow.mdc +31 -0
- package/.cursor/rules/rbin-git-policy.mdc +47 -0
- package/.cursor/rules/self_improve.mdc +3 -3
- package/.cursor/rules/task-flow-cursor.mdc +51 -0
- package/.cursor/rules/task-flow-sync.mdc +46 -0
- package/.cursor/rules/task_analysis.mdc +31 -179
- package/.cursor/rules/task_audit.mdc +6 -5
- package/.cursor/rules/task_check.mdc +2 -3
- package/.cursor/rules/task_estimate.mdc +3 -4
- package/.cursor/rules/task_execution.mdc +26 -138
- package/.cursor/rules/task_generate_flow.mdc +2 -3
- package/.cursor/rules/task_generation.mdc +22 -140
- package/.cursor/rules/task_improve_changes.mdc +3 -4
- package/.cursor/rules/task_refactor.mdc +4 -5
- package/.cursor/rules/task_report.mdc +3 -4
- package/.cursor/rules/task_review.mdc +4 -5
- package/.cursor/rules/task_status.mdc +4 -4
- package/.cursor/rules/task_work.mdc +23 -210
- package/.task-flow/AI-PLATFORMS.md +104 -0
- package/.task-flow/CODEX.md +141 -0
- package/.task-flow/CURSOR.md +94 -0
- package/.task-flow/GRAPHIFY.md +112 -0
- package/.task-flow/OPTIMIZATION-IMPLEMENTATION-TASKS.md +365 -0
- package/.task-flow/OPTIMIZATION-PLAN.md +264 -0
- package/.task-flow/README.md +19 -4
- package/.task-flow/docs/coding-standards-full.md +851 -0
- package/.task-flow/platforms/claude-code.md +352 -0
- package/.task-flow/platforms/codex.md +379 -0
- package/.task-flow/platforms/cursor.md +333 -0
- package/AGENTS.md +69 -31
- package/CLAUDE.md +56 -48
- package/README.md +86 -10
- package/bin/cli.js +41 -16
- package/lib/codex.js +45 -0
- package/lib/cursor.js +41 -0
- package/lib/gitignore.js +101 -0
- package/lib/graphify.js +118 -0
- package/lib/install.js +106 -52
- package/lib/profiles.js +110 -0
- package/lib/skills.js +34 -0
- package/lib/utils.js +38 -2
- package/package.json +6 -2
|
@@ -1,191 +1,43 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
|
|
4
|
-
alwaysApply: true
|
|
2
|
+
description: Suggests new tasks for tasks.input.txt via task-flow think. Use for think, suggest tasks, analyze codebase for missing tasks — not for sync (use task-flow-sync.mdc).
|
|
3
|
+
alwaysApply: false
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
- **FASTEST FORMAT**: `task-flow: sync` → Complete sync of tasks.input.txt with system
|
|
9
|
-
- When user says "task-flow: sync" or "task-flow sync":
|
|
10
|
-
- **READ**: `.task-flow/tasks.input.txt` to find all tasks
|
|
11
|
-
- **READ**: `.task-flow/.internal/tasks.json` and `.task-flow/.internal/status.json` to see existing tasks and their status
|
|
12
|
-
- **SYNC**: Fully synchronize tasks and status between tasks.input.txt and system files
|
|
13
|
-
- **PRESERVE**: Keep status of existing tasks (done/pending/in_progress) when possible
|
|
6
|
+
# task-flow: think
|
|
14
7
|
|
|
15
|
-
-
|
|
16
|
-
1. **Read files**:
|
|
17
|
-
- Read `.task-flow/tasks.input.txt` (all tasks from user input)
|
|
18
|
-
- Read `.task-flow/.internal/tasks.json` (existing generated tasks)
|
|
19
|
-
- Read `.task-flow/.internal/status.json` (existing task status)
|
|
20
|
-
|
|
21
|
-
2. **Compare and identify changes**:
|
|
22
|
-
- **New tasks**: Tasks in tasks.input.txt that don't exist in tasks.json (by comparing `originalRequest`)
|
|
23
|
-
- **Removed tasks**: Tasks in tasks.json that don't exist in tasks.input.txt
|
|
24
|
-
- **Modified tasks**: Tasks that exist in both but `originalRequest` changed (text modified)
|
|
25
|
-
- **Unchanged tasks**: Tasks that exist in both with same `originalRequest`
|
|
26
|
-
|
|
27
|
-
3. **Process new tasks**:
|
|
28
|
-
- For each new task in tasks.input.txt:
|
|
29
|
-
- Generate subtasks following [task_generation.mdc](mdc:.cursor/rules/task_generation.mdc) rules
|
|
30
|
-
- Add to tasks.json with sequential ID
|
|
31
|
-
- Add to status.json with "pending" status for task and all subtasks
|
|
32
|
-
- Add to tasks.status.md with `- [ ]` format
|
|
33
|
-
|
|
34
|
-
4. **Process removed tasks**:
|
|
35
|
-
- For each task in tasks.json not found in tasks.input.txt:
|
|
36
|
-
- Remove from tasks.json
|
|
37
|
-
- Remove from status.json
|
|
38
|
-
- Remove from tasks.status.md
|
|
39
|
-
|
|
40
|
-
5. **Process modified tasks**:
|
|
41
|
-
- For each task where `originalRequest` changed:
|
|
42
|
-
- Update title and description in tasks.json based on new text
|
|
43
|
-
- Regenerate subtasks (following task_generation.mdc rules)
|
|
44
|
-
- **PRESERVE STATUS**: Keep existing status from status.json (task and subtasks)
|
|
45
|
-
- Update tasks.status.md with new subtasks but preserve status marks (`- [x]` for done, `- [ ]` for pending)
|
|
46
|
-
|
|
47
|
-
6. **Process unchanged tasks**:
|
|
48
|
-
- Keep tasks.json unchanged
|
|
49
|
-
- Keep status.json unchanged
|
|
50
|
-
- Keep tasks.status.md unchanged (preserve all status marks)
|
|
51
|
-
|
|
52
|
-
7. **Synchronize status between files**:
|
|
53
|
-
- Read current `status.json` to get all existing statuses
|
|
54
|
-
- Read current `tasks.status.md` to get status marks
|
|
55
|
-
- **Compare and sync**: Ensure `status.json` and `tasks.status.md` are perfectly aligned
|
|
56
|
-
- If there are inconsistencies:
|
|
57
|
-
- Use `status.json` as source of truth for status values
|
|
58
|
-
- Update `tasks.status.md` to match `status.json` (convert "done" → `- [x]`, "pending" → `- [ ]`)
|
|
59
|
-
- Ensure both files reflect the same status for all tasks and subtasks
|
|
60
|
-
|
|
61
|
-
8. **Rebuild files**:
|
|
62
|
-
- Rebuild tasks.json with all tasks in correct order (matching tasks.input.txt order)
|
|
63
|
-
- Rebuild status.json preserving all existing statuses (or updating if needed)
|
|
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`
|
|
66
|
-
- **ALWAYS regenerate summary section** at the top of tasks.status.md:
|
|
67
|
-
- Count completed tasks (all subtasks done)
|
|
68
|
-
- Count in-progress tasks (some subtasks done)
|
|
69
|
-
- Total remaining subtasks
|
|
70
|
-
- List each task with status and remaining subtasks count
|
|
71
|
-
|
|
72
|
-
**Critical Rules:**
|
|
73
|
-
- ✅ Always preserve status of existing tasks/subtasks when possible
|
|
74
|
-
- ✅ **SYNC STATUS**: Ensure `status.json` and `tasks.status.md` are always synchronized
|
|
75
|
-
- ✅ Use `status.json` as source of truth, update `tasks.status.md` to match
|
|
76
|
-
- ✅ When regenerating subtasks for modified tasks, try to match existing subtasks by title/description
|
|
77
|
-
- ✅ If subtasks change significantly, mark new ones as "pending" but keep old ones as "done" if they were done
|
|
78
|
-
- ✅ Maintain sequential task IDs (1, 2, 3...) matching order in tasks.input.txt
|
|
79
|
-
- ✅ When removing tasks, remove all associated data (subtasks, status)
|
|
80
|
-
- ✅ After any status change, update BOTH `status.json` and `tasks.status.md` to keep them in sync
|
|
8
|
+
**Not sync.** For `task-flow: sync` use [task-flow-sync.mdc](mdc:.cursor/rules/task-flow-sync.mdc) or `@task-flow-sync`.
|
|
81
9
|
|
|
82
|
-
-
|
|
83
|
-
- **FAST FORMAT**: `task-flow: think` → Analyze codebase and suggest new tasks
|
|
84
|
-
- When user says "task-flow: think", "analyze if there are new tasks to create", "check for new tasks", or "suggest tasks":
|
|
85
|
-
- **ANALYZE**: Current codebase, recent changes, TODOs, FIXMEs, and project structure
|
|
86
|
-
- **SUGGEST**: New tasks that should be added to `.task-flow/tasks.input.txt`
|
|
87
|
-
- **FORMAT**: Use RBIN Task Flow format: `- Task description` (no [ ] needed)
|
|
88
|
-
- **ASK**: Always ask user if they want to add the suggested tasks
|
|
89
|
-
- **ONLY ACTION**: If user confirms, add tasks to `.task-flow/tasks.input.txt` - nothing else
|
|
90
|
-
- **DON'T**: Automatically add tasks without confirmation
|
|
10
|
+
**Prefer:** `@task-flow-think` · After user adds lines: `@task-flow-sync`
|
|
91
11
|
|
|
92
|
-
|
|
93
|
-
1. **Read existing tasks**: Check `.task-flow/tasks.input.txt` to see what's already planned
|
|
94
|
-
2. **Analyze codebase**: Look for:
|
|
95
|
-
- TODO/FIXME comments in code
|
|
96
|
-
- Missing tests or incomplete test coverage
|
|
97
|
-
- Incomplete features or half-implemented functionality
|
|
98
|
-
- Code quality issues (refactoring opportunities)
|
|
99
|
-
- Missing documentation
|
|
100
|
-
- Security improvements needed
|
|
101
|
-
- Performance optimizations
|
|
102
|
-
- Missing error handling
|
|
103
|
-
3. **Check recent changes**: Review git history or recent file modifications
|
|
104
|
-
4. **Identify gaps**: Compare what exists vs what should exist
|
|
105
|
-
5. **Suggest tasks**: Propose specific, actionable tasks
|
|
12
|
+
## When to run
|
|
106
13
|
|
|
107
|
-
-
|
|
108
|
-
```markdown
|
|
109
|
-
## Suggested Tasks for tasks.input.txt
|
|
110
|
-
|
|
111
|
-
- Add unit tests for UserService
|
|
112
|
-
- Implement error handling in API endpoints
|
|
113
|
-
- Refactor authentication middleware
|
|
114
|
-
- Add API documentation with Swagger
|
|
115
|
-
- Optimize database queries in ReportService
|
|
116
|
-
```
|
|
14
|
+
User says `task-flow: think`, `suggest tasks`, `check for new tasks`, `analyze codebase for tasks`, etc.
|
|
117
15
|
|
|
118
|
-
|
|
119
|
-
- If user wants to add suggested tasks:
|
|
120
|
-
- Read `.task-flow/tasks.input.txt`
|
|
121
|
-
- Append new tasks (maintaining existing format)
|
|
122
|
-
- Don't remove or modify existing tasks
|
|
123
|
-
- Keep one task per line with `- ` format (no [ ] needed)
|
|
16
|
+
## Process
|
|
124
17
|
|
|
125
|
-
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
- "check for new tasks" → Same as task-flow: think
|
|
132
|
-
- "suggest tasks" → Same as task-flow: think
|
|
133
|
-
- "what tasks should I add?" → Same as task-flow: think
|
|
134
|
-
- "analyze codebase for tasks" → Same as task-flow: think
|
|
135
|
-
- "find missing tasks" → Same as task-flow: think
|
|
18
|
+
1. Read `.task-flow/tasks.input.txt` (existing planned tasks)
|
|
19
|
+
2. Scan codebase for gaps: TODO/FIXME, missing tests, incomplete features, docs, security, performance, error handling
|
|
20
|
+
3. Propose **specific** lines: `- Task description` (no `[ ]`)
|
|
21
|
+
4. **Ask** before adding to `tasks.input.txt` — never auto-add
|
|
22
|
+
5. If user confirms: append only; do not remove or edit existing lines
|
|
23
|
+
6. Suggest `task-flow: sync` after input changes
|
|
136
24
|
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
User: "task-flow: sync"
|
|
140
|
-
|
|
141
|
-
AI Action (Complete Sync):
|
|
142
|
-
1. Read .task-flow/tasks.input.txt:
|
|
143
|
-
- Task 1: "Create auth system" (exists, unchanged)
|
|
144
|
-
- Task 2: "Add database" (MODIFIED - was "Setup database")
|
|
145
|
-
- Task 3: "New feature" (NEW - not in tasks.json)
|
|
146
|
-
- Task 4: REMOVED (was in tasks.json, not in tasks.input.txt)
|
|
147
|
-
|
|
148
|
-
2. Read .task-flow/.internal/tasks.json:
|
|
149
|
-
- Task 1: exists, status: done
|
|
150
|
-
- Task 2: exists, status: in_progress (subtask 2.1 done, 2.2 pending)
|
|
151
|
-
- Task 4: exists, status: pending
|
|
152
|
-
|
|
153
|
-
3. Process changes:
|
|
154
|
-
- Task 1: Unchanged → Keep as is, preserve status "done"
|
|
155
|
-
- Task 2: Modified → Update title/description, regenerate subtasks, PRESERVE status (2.1 done, 2.2 pending)
|
|
156
|
-
- Task 3: New → Generate subtasks, add with status "pending"
|
|
157
|
-
- Task 4: Removed → Remove from all files
|
|
158
|
-
|
|
159
|
-
4. Sync status between files:
|
|
160
|
-
- Compare status.json and tasks.status.md
|
|
161
|
-
- Ensure both reflect same status (done → `- [x]`, pending → `- [ ]`)
|
|
162
|
-
- Update tasks.status.md to match status.json if inconsistencies found
|
|
163
|
-
|
|
164
|
-
5. Rebuild files:
|
|
165
|
-
- tasks.json: Tasks 1, 2 (updated), 3 (new) - in order
|
|
166
|
-
- status.json: Preserve Task 1 (done), Task 2 (in_progress with preserved subtask status), Task 3 (pending)
|
|
167
|
-
- tasks.status.md: Reflect all changes with correct status marks, synchronized with status.json
|
|
168
|
-
|
|
169
|
-
User: "task-flow: think"
|
|
170
|
-
AI Action (Analyze):
|
|
171
|
-
1. Read .task-flow/tasks/tasks.input.txt (existing tasks)
|
|
172
|
-
2. Analyze codebase for TODOs, missing features, etc.
|
|
173
|
-
3. Suggest new tasks:
|
|
174
|
-
- Add input validation to login endpoint
|
|
175
|
-
- Create migration for user preferences table
|
|
176
|
-
- Write tests for PaymentService
|
|
177
|
-
4. Ask: "Do you want to add these tasks to tasks.input.txt? [y/N]"
|
|
178
|
-
5. If user confirms (y): Add tasks to tasks.input.txt
|
|
179
|
-
6. If user declines (n): Do nothing, just show suggestions
|
|
180
|
-
|
|
181
|
-
User: "analise se tem tasks novas para criar no task flow"
|
|
182
|
-
AI Action: Same as task-flow: think
|
|
183
|
-
```
|
|
25
|
+
## Output format
|
|
184
26
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
- Follows [task_execution.mdc](mdc:.cursor/rules/task_execution.mdc) workflow
|
|
188
|
-
- Respects [git_control.mdc](mdc:.cursor/rules/git_control.mdc) - never commit automatically
|
|
27
|
+
```markdown
|
|
28
|
+
## Suggested Tasks for tasks.input.txt
|
|
189
29
|
|
|
190
|
-
-
|
|
191
|
-
|
|
30
|
+
- Add unit tests for UserService
|
|
31
|
+
- Implement error handling in API endpoints
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Optional roadmap
|
|
35
|
+
|
|
36
|
+
For package improvements see [.task-flow/OPTIMIZATION-PLAN.md](mdc:.task-flow/OPTIMIZATION-PLAN.md) — not part of think unless user asks.
|
|
37
|
+
|
|
38
|
+
## Integration
|
|
39
|
+
|
|
40
|
+
- [task-flow-sync.mdc](mdc:.cursor/rules/task-flow-sync.mdc) after new tasks are added
|
|
41
|
+
- [rbin-git-policy.mdc](mdc:.cursor/rules/rbin-git-policy.mdc) — never commit automatically
|
|
42
|
+
|
|
43
|
+
**Principle:** Suggest actionable tasks; user decides what enters `tasks.input.txt`.
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
|
|
4
|
-
alwaysApply: true
|
|
2
|
+
description: Audits full codebase against coding standards for task-flow audit. Non-destructive; user chooses improvements.
|
|
3
|
+
alwaysApply: false
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# task-flow: audit
|
|
8
7
|
|
|
9
|
-
When the user runs `task-flow: audit`, perform a non-destructive analysis
|
|
8
|
+
When the user runs `task-flow: audit`, perform a non-destructive analysis against the **checklist** in [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc). For deep architecture or examples, read only relevant sections of [coding-standards-full.md](mdc:.task-flow/docs/coding-standards-full.md) — do not load the entire file unless the user asks for depth.
|
|
10
9
|
|
|
11
10
|
---
|
|
12
11
|
|
|
13
12
|
## What This Command Does
|
|
14
13
|
|
|
15
14
|
1. **Scans the project** to understand its current structure, tech stack, and patterns
|
|
16
|
-
2. **Compares against coding_standards
|
|
15
|
+
2. **Compares against the coding_standards checklist** to identify gaps and misalignments
|
|
17
16
|
3. **Reports a compatibility score** per category
|
|
18
17
|
4. **Asks the user** which improvements they want to adopt — never assumes or imposes
|
|
19
18
|
5. **Respects project context** — an existing company project can't be fully restructured overnight
|
|
@@ -37,6 +36,8 @@ Scan the codebase to understand:
|
|
|
37
36
|
|
|
38
37
|
### Step 2 — Score each category
|
|
39
38
|
|
|
39
|
+
Score using the **checklist** in [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc). For a category that needs examples (Nest gateways, DataHandler, long patterns), read **one section** of [coding-standards-full.md](mdc:.task-flow/docs/coding-standards-full.md) — not the whole file unless the user requests depth.
|
|
40
|
+
|
|
40
41
|
For each category below, rate adherence: **Full / Partial / Missing**
|
|
41
42
|
|
|
42
43
|
| Category | Score | Notes |
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
|
|
4
|
-
alwaysApply: true
|
|
2
|
+
description: Estimates hours for task-flow estimate X. Average developer pace, no AI acceleration.
|
|
3
|
+
alwaysApply: false
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
- **Task Estimation - Time Estimation for Tasks:**
|
|
@@ -75,7 +74,7 @@ alwaysApply: true
|
|
|
75
74
|
```
|
|
76
75
|
|
|
77
76
|
- **Integration:**
|
|
78
|
-
- Works with [
|
|
77
|
+
- Works with [task-flow-cursor.mdc](mdc:.cursor/rules/task-flow-cursor.mdc) / `@task-flow-estimate`
|
|
79
78
|
- Uses task data from `.task-flow/.internal/tasks.json`
|
|
80
79
|
- Estimates are informational only (not stored)
|
|
81
80
|
|
|
@@ -1,141 +1,29 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Task
|
|
3
|
-
|
|
4
|
-
alwaysApply: true
|
|
2
|
+
description: Task Flow command index — use task-flow-cursor.mdc and @skills first. Legacy pointer only; do not duplicate CLAUDE.md.
|
|
3
|
+
alwaysApply: false
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- `task-flow: status` - Show current task status
|
|
32
|
-
- `task-flow: review X` - Review specific task(s) (comma-separated or "all")
|
|
33
|
-
- `task-flow: refactor X` - Refactor specific task(s) (comma-separated or "all")
|
|
34
|
-
- `task-flow: estimate X` - Estimate time for task X (simplified - no "task" needed)
|
|
35
|
-
- `task-flow: estimate X,Y` - Estimate multiple tasks (comma-separated)
|
|
36
|
-
- `task-flow: estimate all` - Estimate all tasks
|
|
37
|
-
- `task-flow: report X` - Generate implementation report for task X (simplified - no "task" needed)
|
|
38
|
-
- `task-flow: report X,Y` - Generate reports for multiple tasks (comma-separated)
|
|
39
|
-
- `task-flow: report all` - Generate reports for all tasks
|
|
40
|
-
- `task-flow: generate flow` - Populate tasks.flow.md with dependencies, estimated hours, and AI model recommendations
|
|
41
|
-
|
|
42
|
-
- **Workflow Example:**
|
|
43
|
-
```markdown
|
|
44
|
-
1. Add tasks to `.task-flow/tasks.input.txt`:
|
|
45
|
-
- Implement user authentication
|
|
46
|
-
- Add database migrations
|
|
47
|
-
- Create API endpoints
|
|
48
|
-
|
|
49
|
-
2. Use AI command: task-flow: sync (generates detailed subtasks)
|
|
50
|
-
3. Use AI command: task-flow: status (view all tasks and progress)
|
|
51
|
-
4. Use AI command: task-flow: run next X (work on next X subtasks)
|
|
52
|
-
5. Tasks are automatically marked as done when completed
|
|
53
|
-
6. Use AI command: task-flow: review (verify completed tasks)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
- **Commit Workflow:**
|
|
57
|
-
- After completing tasks, follow [commit_practices.mdc](mdc:.cursor/rules/commit_practices.mdc)
|
|
58
|
-
- Never execute git commands directly - follow [git_control.mdc](mdc:.cursor/rules/git_control.mdc)
|
|
59
|
-
- Suggest commits with descriptive messages referencing completed tasks
|
|
60
|
-
|
|
61
|
-
- **Commit Message Format:**
|
|
62
|
-
```bash
|
|
63
|
-
git add .
|
|
64
|
-
git commit -m "feat(module): Complete tasks from RBIN Task Flow
|
|
65
|
-
|
|
66
|
-
- Task 1: [description]
|
|
67
|
-
- Task 2: [description]
|
|
68
|
-
|
|
69
|
-
Completed via RBIN Task Flow"
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
- **Integration with Other Rules:**
|
|
73
|
-
- Follow [commit_practices.mdc](mdc:.cursor/rules/commit_practices.mdc) for commit format
|
|
74
|
-
- Follow [git_control.mdc](mdc:.cursor/rules/git_control.mdc) - NEVER execute git, only suggest
|
|
75
|
-
- See `CLAUDE.md` for complete RBIN Task Flow documentation
|
|
76
|
-
- See `README.md` for installation and setup instructions
|
|
77
|
-
|
|
78
|
-
- **Best Practices:**
|
|
79
|
-
- Keep task descriptions concise but clear
|
|
80
|
-
- Let AI generate detailed implementation steps
|
|
81
|
-
- Review generated subtasks before starting work
|
|
82
|
-
- Update task status regularly through the menu
|
|
83
|
-
- Commit work frequently referencing task progress
|
|
84
|
-
|
|
85
|
-
- **Task Generation:**
|
|
86
|
-
- See [task_generation.mdc](mdc:.cursor/rules/task_generation.mdc) for direct task generation rules
|
|
87
|
-
- When generating tasks, be efficient: read tasks.input.txt, generate JSONs, save files
|
|
88
|
-
- No need to explore codebase or read other files
|
|
89
|
-
|
|
90
|
-
- **Task Analysis:**
|
|
91
|
-
- See [task_analysis.mdc](mdc:.cursor/rules/task_analysis.mdc) for analyzing codebase to suggest new tasks
|
|
92
|
-
- When user asks to analyze for new tasks, intelligently scan codebase and suggest additions
|
|
93
|
-
|
|
94
|
-
- **Simplified Task Work:**
|
|
95
|
-
- See [task_work.mdc](mdc:.cursor/rules/task_work.mdc) for simplified "do next X subtasks" commands
|
|
96
|
-
- When user says "work on next X subtasks" or similar phrases, automatically find and implement them
|
|
97
|
-
|
|
98
|
-
- **Task Review:**
|
|
99
|
-
- See [task_review.mdc](mdc:.cursor/rules/task_review.mdc) for reviewing completed tasks
|
|
100
|
-
- When user says "task-flow: review", verify if completed tasks are actually done
|
|
101
|
-
|
|
102
|
-
- **Task Refactor:**
|
|
103
|
-
- See [task_refactor.mdc](mdc:.cursor/rules/task_refactor.mdc) for refactoring code from current commit
|
|
104
|
-
- When user says "task-flow: refactor", improve code quality without changing functionality
|
|
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
|
-
|
|
110
|
-
- **Task Flow Commands - Natural Language Interpretation:**
|
|
111
|
-
- **CRITICAL**: When user mentions **"task flow"**, they **ALWAYS** refer to **RBIN Task Flow**
|
|
112
|
-
- Common phrases that mean "work on RBIN Task Flow subtasks":
|
|
113
|
-
- "work on next x subtasks from task flow"
|
|
114
|
-
- "next subtasks from task flow"
|
|
115
|
-
- "task flow subtasks"
|
|
116
|
-
- "do next x subtasks"
|
|
117
|
-
- Any variation mentioning "task flow" + "subtasks"
|
|
118
|
-
|
|
119
|
-
- **When User Asks to Work on Subtasks:**
|
|
120
|
-
- **STEP 1**: Read `.task-flow/.internal/tasks.json` and `.task-flow/.internal/status.json`
|
|
121
|
-
- **STEP 2**: Find next X pending subtasks in sequential order:
|
|
122
|
-
- Order: Task 1 → Subtask 1, 2, 3... → Task 2 → Subtask 1, 2, 3...
|
|
123
|
-
- Only count subtasks with status "pending"
|
|
124
|
-
- Skip subtasks already "done" or "in_progress"
|
|
125
|
-
- **STEP 3**: For each subtask:
|
|
126
|
-
- Read instructions from `.internal/tasks.json`
|
|
127
|
-
- Implement following step-by-step instructions
|
|
128
|
-
- After completion: Update `.internal/status.json` (subtask → "done") and `tasks.status.md` (mark as `- [x]`)
|
|
129
|
-
- **STEP 4**: If all subtasks of a task are done, update task status to "done" in both files
|
|
130
|
-
|
|
131
|
-
- **Example:**
|
|
132
|
-
- User: "work on next 3 subtasks from task flow"
|
|
133
|
-
- Interpretation: Work on next 3 pending subtasks from RBIN Task Flow
|
|
134
|
-
- Action:
|
|
135
|
-
1. Read `.task-flow/.internal/tasks.json` and `.task-flow/.internal/status.json`
|
|
136
|
-
2. Find first 3 pending subtasks (e.g., 1.1, 1.2, 1.3 if all pending)
|
|
137
|
-
3. Work on 1.1 → mark done in .internal/status.json and tasks.status.md → work on 1.2 → mark done → work on 1.3 → mark done
|
|
138
|
-
4. Update both .internal/status.json and tasks.status.md after each completion
|
|
139
|
-
|
|
140
|
-
- **Principle:**
|
|
141
|
-
> **Use RBIN Task Flow's AI commands for all task management. Define tasks in plain text, let AI generate details, track progress through tasks.status.md, and commit work with descriptive messages.**
|
|
6
|
+
# RBIN Task Flow — Command index (stub)
|
|
7
|
+
|
|
8
|
+
**Prefer:** [task-flow-cursor.mdc](mdc:.cursor/rules/task-flow-cursor.mdc) (always-on) · Claude: [CLAUDE.md](mdc:CLAUDE.md) · Codex: [AGENTS.md](mdc:AGENTS.md) · Details: [.task-flow/README.md](mdc:.task-flow/README.md)
|
|
9
|
+
|
|
10
|
+
**Task flow** = RBIN Task Flow. Data: `.task-flow/` — never edit `.internal/` by hand.
|
|
11
|
+
|
|
12
|
+
| Command | Invoke |
|
|
13
|
+
|---------|--------|
|
|
14
|
+
| `task-flow: sync` | `@task-flow-sync` |
|
|
15
|
+
| `task-flow: run next X`, `run N` | `@task-flow-run` |
|
|
16
|
+
| `task-flow: status` | `@task-flow-status` |
|
|
17
|
+
| `task-flow: think` | `@task-flow-think` |
|
|
18
|
+
| `task-flow: check` | `@task-flow-check` |
|
|
19
|
+
| `task-flow: audit` | `@task-flow-audit` |
|
|
20
|
+
| `task-flow: improve changes` | `@task-flow-improve-changes` |
|
|
21
|
+
| `task-flow: review X` | `@task-flow-review` |
|
|
22
|
+
| `task-flow: refactor X` | `@task-flow-refactor` |
|
|
23
|
+
| `task-flow: estimate X` | `@task-flow-estimate` |
|
|
24
|
+
| `task-flow: report X` | `@task-flow-report` |
|
|
25
|
+
| `task-flow: generate flow` | `@task-flow-generate-flow` |
|
|
26
|
+
| Implement code | `@rbin-coding-standards` |
|
|
27
|
+
| Suggest commit | `@rbin-git` |
|
|
28
|
+
|
|
29
|
+
Git: [rbin-git-policy.mdc](mdc:.cursor/rules/rbin-git-policy.mdc). Run fallback: [task_work.mdc](mdc:.cursor/rules/task_work.mdc).
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
|
|
4
|
-
alwaysApply: true
|
|
2
|
+
description: Populates tasks.flow.md with dependencies and hours for task-flow generate flow.
|
|
3
|
+
alwaysApply: false
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
- **Task Flow Generation - Dependencies, Hours & Model Recommendations:**
|
|
@@ -1,155 +1,37 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
globs: .task-flow
|
|
4
|
-
alwaysApply:
|
|
2
|
+
description: Subtask generation templates and context rules for new tasks from tasks.input.txt. For task-flow sync use task-flow-sync.mdc or @task-flow-sync — not this file alone.
|
|
3
|
+
globs: .task-flow/**
|
|
4
|
+
alwaysApply: false
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- When user asks to "Read tasks.input.txt and generate detailed subtasks updating task status":
|
|
9
|
-
- **READ**: `.task-flow/tasks.input.txt` (only process lines starting with `- `)
|
|
10
|
-
- **READ**: `.task-flow/contexts/` directory to list available context files (ALWAYS check this directory)
|
|
11
|
-
- **GENERATE**: Two JSON files and one markdown file with the exact structure below
|
|
12
|
-
- **SAVE**: All files to `.task-flow/`
|
|
13
|
-
- **DON'T**: Check existing JSONs, explore codebase, or ask questions
|
|
7
|
+
# Task generation (subtasks only)
|
|
14
8
|
|
|
15
|
-
|
|
16
|
-
- **PURPOSE**: `.task-flow/contexts/` is for AIs to consult reference material (any type: .md, .txt, .png, .jpg, .json, etc.) when generating and working on tasks
|
|
17
|
-
- **AUTOMATIC**: Always check `.task-flow/contexts/` directory for available context files (all file types)
|
|
18
|
-
- **NO LISTING NEEDED**: Don't require context files to be listed in tasks.input.txt - always scan the directory
|
|
19
|
-
- **AUTOMATIC MATCHING**: Match context files to tasks by keywords (e.g., "login" → `login-mockup.png` or `api-login.md`, "dashboard" → `dashboard.png`)
|
|
20
|
-
- **SPECIFIC REFERENCE**: If task contains `task-flow-screen nome_arquivo.ext`, reference that file from `.task-flow/contexts/`
|
|
21
|
-
- **PATH ALWAYS**: `task-flow-screen` always references files in `.task-flow/contexts/`
|
|
22
|
-
- **INCLUDE**: In subtask instructions, add the reference: "Context/reference: `.task-flow/contexts/filename.ext`" (or "Visual reference" for images)
|
|
9
|
+
**Primary sync workflow:** [task-flow-sync.mdc](mdc:.cursor/rules/task-flow-sync.mdc) · `@task-flow-sync`
|
|
23
10
|
|
|
24
|
-
|
|
25
|
-
1. Read `tasks.input.txt`:
|
|
26
|
-
- Process task lines (only process lines starting with `- `)
|
|
27
|
-
- Check for `task-flow-screen nome_do_arquivo.png` markers in task descriptions
|
|
28
|
-
2. **ALWAYS** list available context files from `.task-flow/contexts/` directory (all file types: .md, .txt, .png, .jpg, .json, etc.)
|
|
29
|
-
3. For each task line, create a task with sequential ID starting at 1
|
|
30
|
-
4. Generate 3-8 subtasks per task with:
|
|
31
|
-
- Clear title
|
|
32
|
-
- Brief description
|
|
33
|
-
- Step-by-step instructions (3-5 steps)
|
|
34
|
-
- **AUTOMATIC**: Include relevant context references when applicable (match by keywords)
|
|
35
|
-
- **SPECIFIC**: If task has `task-flow-screen nome_arquivo.ext`, reference that file from `.task-flow/contexts/`
|
|
36
|
-
5. Create `.task-flow/.internal/tasks.json` with structure below
|
|
37
|
-
6. Create `.task-flow/.internal/status.json` with all tasks/subtasks as "pending"
|
|
38
|
-
7. Create `.task-flow/tasks.status.md` with all tasks and subtasks marked as `- [ ]` (pending)
|
|
39
|
-
8. Write all three files immediately
|
|
11
|
+
Use this rule for **subtask shape** when `task-flow-sync` creates or regenerates tasks.
|
|
40
12
|
|
|
41
|
-
|
|
42
|
-
```json
|
|
43
|
-
{
|
|
44
|
-
"tasks": [
|
|
45
|
-
{
|
|
46
|
-
"id": 1,
|
|
47
|
-
"title": "Task Title",
|
|
48
|
-
"description": "Task description",
|
|
49
|
-
"originalRequest": "- Task description from tasks.input.txt",
|
|
50
|
-
"createdAt": "ISO 8601 timestamp",
|
|
51
|
-
"subtasks": [
|
|
52
|
-
{
|
|
53
|
-
"id": 1,
|
|
54
|
-
"title": "Subtask Title",
|
|
55
|
-
"description": "What this subtask does",
|
|
56
|
-
"instructions": "Step 1: Action\nStep 2: Action\nStep 3: Verify"
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
```
|
|
13
|
+
## Contexts
|
|
63
14
|
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"tasks": {
|
|
68
|
-
"1": {
|
|
69
|
-
"status": "pending",
|
|
70
|
-
"subtasks": {
|
|
71
|
-
"1": "pending",
|
|
72
|
-
"2": "pending"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
```
|
|
15
|
+
- Always list `.task-flow/contexts/` (all file types)
|
|
16
|
+
- Match by keywords or `task-flow-screen nome.ext` → `.task-flow/contexts/nome.ext`
|
|
17
|
+
- In instructions: `Context/reference: .task-flow/contexts/filename.ext`
|
|
78
18
|
|
|
79
|
-
|
|
80
|
-
```markdown
|
|
81
|
-
# Task Status
|
|
19
|
+
## Subtasks (per task)
|
|
82
20
|
|
|
83
|
-
|
|
21
|
+
- 3–8 subtasks; sequential ids 1, 2, 3…
|
|
22
|
+
- Title, description, instructions (3–5 steps)
|
|
23
|
+
- Follow **checklist** in [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc): `src/app/`, `src/features/`, `src/shared/`, naming suffixes, service+use-case, `cn()`, RHF+zod
|
|
84
24
|
|
|
85
|
-
|
|
25
|
+
## File structures (minimal)
|
|
86
26
|
|
|
87
|
-
|
|
88
|
-
- ⏳ **Tasks in Progress**: 2
|
|
89
|
-
- 📝 **Remaining Subtasks**: 8
|
|
27
|
+
**tasks.json:** `id`, `title`, `description`, `originalRequest`, `createdAt`, `subtasks[]` with `id`, `title`, `description`, `instructions`.
|
|
90
28
|
|
|
91
|
-
|
|
92
|
-
- ✅ Task 1: First task (complete)
|
|
93
|
-
- ⏳ Task 2: Second task (3 remaining subtasks out of 5)
|
|
29
|
+
**status.json:** `tasks.{id}.status`, `tasks.{id}.subtasks.{subtaskId}` → `pending` | `done` | `in_progress`.
|
|
94
30
|
|
|
95
|
-
|
|
31
|
+
**tasks.status.md:** banner “do not edit”; 📊 Summary; tasks `- [ ]`/`- [x]`; subtasks indented with two spaces.
|
|
96
32
|
|
|
97
|
-
|
|
33
|
+
## Rules
|
|
98
34
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- [x] Subtask Title 2
|
|
103
|
-
|
|
104
|
-
- [ ] Second task
|
|
105
|
-
|
|
106
|
-
- [x] Subtask Title 1
|
|
107
|
-
- [ ] Subtask Title 2
|
|
108
|
-
- [ ] Subtask Title 3
|
|
109
|
-
```
|
|
110
|
-
- **ALWAYS include summary section** at the top with:
|
|
111
|
-
- ✅ Completed tasks (all subtasks done)
|
|
112
|
-
- ⏳ Tasks in progress (some subtasks done)
|
|
113
|
-
- 📝 Total remaining subtasks
|
|
114
|
-
- List of tasks with status and how many subtasks remain
|
|
115
|
-
- All tasks and subtasks start as `- [ ]` (pending)
|
|
116
|
-
- Format: Task title with `- [ ]` or `- [x]`, then subtasks indented with ` - [ ]` or ` - [x]`
|
|
117
|
-
- **CRITICAL**: Always regenerate summary when updating tasks.status.md
|
|
118
|
-
|
|
119
|
-
- **Example:**
|
|
120
|
-
- Input (`tasks.input.txt`): `- Create authentication system`
|
|
121
|
-
- Context files available: `login_recover_signup.png`
|
|
122
|
-
- Output: Task with ID 1, 5 subtasks with context references:
|
|
123
|
-
- Subtask 1: "Setup database schema" (no context)
|
|
124
|
-
- Subtask 2: "Create login form" → Instructions include: "Visual reference: `.task-flow/contexts/login_recover_signup.png`"
|
|
125
|
-
- Subtask 3: "Implement registration" → Instructions include context reference
|
|
126
|
-
- Subtask 4: "Add JWT authentication" (no context)
|
|
127
|
-
- Subtask 5: "Test authentication flow" → Instructions include context reference
|
|
128
|
-
|
|
129
|
-
- **Context Reference Examples:**
|
|
130
|
-
- Task: `- Dentist authentication system` → Automatically matches and references `login_recover_signup.png` from `.task-flow/contexts/`
|
|
131
|
-
- Task: `- Basic dashboard with structure task-flow-screen dashboard.png` → References specific `.task-flow/contexts/dashboard.png`
|
|
132
|
-
- Task: `- Complete patient CRUD` → Automatically matches and references `patient.png` and `patient_profile.png` from `.task-flow/contexts/` if available
|
|
133
|
-
- **IMPORTANT**: `task-flow-screen` always references files in `.task-flow/contexts/` - no need to specify full path
|
|
134
|
-
- **FILE TYPES**: Contexts can be any type (images, markdown, text, JSON, etc.) for the AI to read and use when working on tasks
|
|
135
|
-
|
|
136
|
-
- **Critical Rules:**
|
|
137
|
-
- ✅ Be direct: Read → Generate → Save
|
|
138
|
-
- ✅ **ALWAYS** check `.task-flow/contexts/` directory for available context files (automatic, no need to list in tasks.input.txt)
|
|
139
|
-
- ✅ Automatically match and reference relevant context files in subtask instructions based on keywords
|
|
140
|
-
- ✅ Support `task-flow-screen nome_do_arquivo.png` format - always references `.task-flow/contexts/nome_do_arquivo.png`
|
|
141
|
-
- ✅ No exploration of codebase beyond `.task-flow/contexts/` directory
|
|
142
|
-
- ✅ No questions - just generate
|
|
143
|
-
- ✅ Use current timestamp for `createdAt`
|
|
144
|
-
- ✅ All statuses start as "pending"
|
|
145
|
-
- ✅ Subtask IDs are sequential per task (1, 2, 3...)
|
|
146
|
-
|
|
147
|
-
- **Coding Standards:**
|
|
148
|
-
- When generating subtask instructions, always follow the patterns defined in [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc)
|
|
149
|
-
- Subtask instructions must reference the correct file structure: `src/app/`, `src/features/`, `src/shared/`
|
|
150
|
-
- Subtask instructions must specify the correct file naming suffix (`.page.tsx`, `.service.tsx`, `.use-case.ts`, etc.)
|
|
151
|
-
- Subtask instructions must enforce the service + use-case split for API calls
|
|
152
|
-
- Subtask instructions must enforce `cn()` for class merging, `Controller` for form inputs, and `zodResolver` for validation
|
|
153
|
-
|
|
154
|
-
- **Principle:**
|
|
155
|
-
> **When generating tasks, be fast and direct. Read tasks.input.txt, generate JSONs and tasks.status.md with proper structure, save files. Always follow coding_standards.mdc patterns in subtask instructions.**
|
|
35
|
+
- Be direct: generate → save; no codebase exploration beyond `contexts/`
|
|
36
|
+
- No questions during generation
|
|
37
|
+
- Regenerate summary in `tasks.status.md` when that file is rebuilt
|