rbin-task-flow 1.23.1 → 1.25.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 +1 -1
- package/.claude/skills/rbin-coding-standards/reference.md +1 -1
- package/.claude/skills/task-flow-audit/SKILL.md +1 -1
- package/.claude/skills/task-flow-improve-changes/SKILL.md +1 -1
- package/.claude/skills/task-flow-report/SKILL.md +2 -2
- package/.claude/skills/task-flow-sync/SKILL.md +1 -1
- package/.claude/skills/task-flow-think/SKILL.md +2 -0
- package/.claude/skills/task-flow-validate/SKILL.md +22 -0
- package/.cursor/rules/coding_standards.mdc +2 -2
- package/.cursor/rules/graphify-task-flow.mdc +3 -2
- package/.cursor/rules/task-flow-cursor.mdc +6 -4
- package/.cursor/rules/task-flow-sync.mdc +1 -1
- package/.cursor/rules/task_analysis.mdc +3 -1
- package/.cursor/rules/task_audit.mdc +2 -2
- package/.cursor/rules/task_execution.mdc +1 -0
- package/.cursor/rules/task_improve_changes.mdc +1 -1
- package/.cursor/rules/task_report.mdc +5 -5
- package/.cursor/rules/task_review.mdc +1 -0
- package/.cursor/rules/task_validate.mdc +99 -0
- package/.task-flow/README.md +36 -31
- package/.task-flow/{AI-PLATFORMS.md → guides/AI-PLATFORMS.md} +6 -6
- package/.task-flow/{CODEX.md → guides/CODEX.md} +17 -3
- package/.task-flow/{CURSOR.md → guides/CURSOR.md} +3 -2
- package/.task-flow/{GRAPHIFY.md → guides/GRAPHIFY.md} +4 -4
- package/.task-flow/{OPTIMIZATION-IMPLEMENTATION-TASKS.md → guides/OPTIMIZATION-IMPLEMENTATION-TASKS.md} +5 -5
- package/.task-flow/{OPTIMIZATION-PLAN.md → guides/OPTIMIZATION-PLAN.md} +3 -3
- package/.task-flow/{platforms → guides/platforms}/claude-code.md +1 -1
- package/.task-flow/{platforms → guides/platforms}/codex.md +6 -5
- package/.task-flow/{platforms → guides/platforms}/cursor.md +2 -2
- package/.task-flow/guides/reports/.gitkeep +0 -0
- package/AGENTS.md +12 -11
- package/CLAUDE.md +7 -6
- package/README.md +13 -11
- package/lib/codex.js +1 -1
- package/lib/cursor.js +1 -1
- package/lib/graphify.js +2 -2
- package/lib/install.js +54 -0
- package/lib/report.js +1 -1
- package/lib/utils.js +2 -2
- package/package.json +1 -1
- /package/.task-flow/{docs → guides}/coding-standards-full.md +0 -0
|
@@ -13,7 +13,7 @@ paths: ["src/**", "app/**"]
|
|
|
13
13
|
|
|
14
14
|
1. Apply the **checklist** in `.cursor/rules/coding_standards.mdc` (default for all implementation). Do **not** read the entire `.mdc` or full markdown into context if the checklist already covers the task.
|
|
15
15
|
2. Implement using checklist rules: `app/` thin, `features/`, `shared/`, service+use-case, RHF+zod+`Controller`, `cn()`, no `any`, no raw base UI.
|
|
16
|
-
3. **Only if ambiguous** (Nest gateways, DataHandler, route groups, naming edge case): open **one or two sections** of `.task-flow/
|
|
16
|
+
3. **Only if ambiguous** (Nest gateways, DataHandler, route groups, naming edge case): open **one or two sections** of `.task-flow/guides/coding-standards-full.md` — never paste or load the whole file.
|
|
17
17
|
4. If `graphify-out/graph.json` exists, `graphify query` before choosing file paths for new code.
|
|
18
18
|
5. No explanatory code comments; use `dev-logs/` for non-obvious design notes.
|
|
19
19
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Doc | Path | When |
|
|
6
6
|
|-----|------|------|
|
|
7
7
|
| **Checklist** (default) | `.cursor/rules/coding_standards.mdc` | Every implementation; glob on `src/**`, `app/**` in Cursor |
|
|
8
|
-
| **Full reference** (sections only) | `.task-flow/
|
|
8
|
+
| **Full reference** (sections only) | `.task-flow/guides/coding-standards-full.md` | Nest/Prisma detail, long examples, ESLint table, DataHandler, providers |
|
|
9
9
|
|
|
10
10
|
## Checklist essentials
|
|
11
11
|
|
|
@@ -7,7 +7,7 @@ disable-model-invocation: true
|
|
|
7
7
|
# Task Flow — Audit
|
|
8
8
|
|
|
9
9
|
1. Scan project structure and `package.json`.
|
|
10
|
-
2. Score categories vs `.cursor/rules/coding_standards.mdc` checklist (Full / Partial / Missing). Use `.task-flow/
|
|
10
|
+
2. Score categories vs `.cursor/rules/coding_standards.mdc` checklist (Full / Partial / Missing). Use `.task-flow/guides/coding-standards-full.md` only for deep dives — not the whole file.
|
|
11
11
|
3. Present table and incremental improvement options.
|
|
12
12
|
4. **Ask** user what to adopt; never impose refactors.
|
|
13
13
|
5. Generate task lines for selected items only if user confirms.
|
|
@@ -8,7 +8,7 @@ disable-model-invocation: true
|
|
|
8
8
|
|
|
9
9
|
1. Run `git diff --name-only HEAD` (read-only git).
|
|
10
10
|
2. If empty, stop — no uncommitted changes.
|
|
11
|
-
3. Audit **only** those paths using the same checklist as audit (`.cursor/rules/coding_standards.mdc`). Full reference: `.task-flow/
|
|
11
|
+
3. Audit **only** those paths using the same checklist as audit (`.cursor/rules/coding_standards.mdc`). Full reference: `.task-flow/guides/coding-standards-full.md` — relevant sections only if a category needs depth.
|
|
12
12
|
4. Present findings; ask what to fix.
|
|
13
13
|
5. Does **not** run lint/build — use `/task-flow-check` separately.
|
|
14
14
|
|
|
@@ -9,7 +9,7 @@ paths: [".task-flow/**"]
|
|
|
9
9
|
|
|
10
10
|
1. Verify task X is fully `done` in `status.json` (warn if partial).
|
|
11
11
|
2. Read `tasks.json`; analyze related code changes (read-only git ok).
|
|
12
|
-
3. Write `.task-flow/
|
|
13
|
-
4. Create `.task-flow/
|
|
12
|
+
3. Write `.task-flow/guides/reports/task-X-implementation.md` using project template.
|
|
13
|
+
4. Create `.task-flow/guides/reports/` if missing.
|
|
14
14
|
|
|
15
15
|
Reference: `.cursor/rules/task_report.mdc`
|
|
@@ -12,7 +12,7 @@ paths: [".task-flow/**"]
|
|
|
12
12
|
1. Read `.task-flow/tasks.input.txt` (only lines starting with `- `).
|
|
13
13
|
2. Read `.task-flow/.internal/tasks.json` and `status.json` if they exist.
|
|
14
14
|
3. Compare by `originalRequest`: new, removed, modified, unchanged tasks.
|
|
15
|
-
4. **New:** generate subtasks (3–8 each), add pending status, update `tasks.status.md`. Subtask instructions: follow **checklist** in `.cursor/rules/coding_standards.mdc` only — not `.task-flow/
|
|
15
|
+
4. **New:** generate subtasks (3–8 each), add pending status, update `tasks.status.md`. Subtask instructions: follow **checklist** in `.cursor/rules/coding_standards.mdc` only — not `.task-flow/guides/coding-standards-full.md`.
|
|
16
16
|
5. **Removed:** delete from all three stores.
|
|
17
17
|
6. **Modified:** update title/description, regenerate subtasks, **preserve** done/pending status where possible.
|
|
18
18
|
7. **Unchanged:** leave task data and status as-is.
|
|
@@ -14,4 +14,6 @@ disable-model-invocation: true
|
|
|
14
14
|
|
|
15
15
|
Optional: `graphify query` on large repos before suggesting.
|
|
16
16
|
|
|
17
|
+
For deep verify + auto-add lacunas (no ask): `@task-flow-validate` (`task-flow: validate`).
|
|
18
|
+
|
|
17
19
|
Reference: `.cursor/rules/task_analysis.mdc` · Sync after confirm: `@task-flow-sync`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-flow-validate
|
|
3
|
+
description: Deep-validates RBIN Task Flow tasks against the codebase, reverts false done status, and appends missing gaps to tasks.input.txt then syncs. Use when the user says task-flow validate, validate all, validar tasks, or verificar lacunas.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Task Flow — Validate
|
|
8
|
+
|
|
9
|
+
Thorough implementation audit + automatic gap fill (unlike `review` or `think`).
|
|
10
|
+
|
|
11
|
+
1. Read `tasks.input.txt`, `tasks.json`, `status.json`, `contexts/` — scope `X`, `X,Y`, or `all` (default `all`).
|
|
12
|
+
2. **Verify** each subtask in scope: `done` must match code; `pending` checked for drift.
|
|
13
|
+
3. **Lacunas:** missing work not in `tasks.input.txt` (TODOs, tests, incomplete features).
|
|
14
|
+
4. **Apply:**
|
|
15
|
+
- False `done` → `pending` in `status.json`
|
|
16
|
+
- Append new `- Description` lines to `tasks.input.txt` (no duplicates)
|
|
17
|
+
- Run sync workflow (`@task-flow-sync` / `task-flow-sync.mdc`)
|
|
18
|
+
5. Report verified / reverted / added / next `run`.
|
|
19
|
+
|
|
20
|
+
Optional: `graphify query` per task area if `graphify-out/graph.json` exists.
|
|
21
|
+
|
|
22
|
+
Reference: `.cursor/rules/task_validate.mdc`
|
|
@@ -6,7 +6,7 @@ alwaysApply: false
|
|
|
6
6
|
|
|
7
7
|
# Coding Standards — Checklist
|
|
8
8
|
|
|
9
|
-
Apply when implementing Task Flow subtasks or feature code (this file is the **checklist**). For workflows and section index: invoke `@rbin-coding-standards` (`disable-model-invocation: true` — not auto). **Full guide:** [.task-flow/
|
|
9
|
+
Apply when implementing Task Flow subtasks or feature code (this file is the **checklist**). For workflows and section index: invoke `@rbin-coding-standards` (`disable-model-invocation: true` — not auto). **Full guide:** [.task-flow/guides/coding-standards-full.md](mdc:.task-flow/guides/coding-standards-full.md) — **sections only**; never paste entire file into chat.
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -86,7 +86,7 @@ src/
|
|
|
86
86
|
|
|
87
87
|
## Audit / sync
|
|
88
88
|
|
|
89
|
-
- **`task-flow: audit`:** score against this checklist; open [coding-standards-full.md](mdc:.task-flow/
|
|
89
|
+
- **`task-flow: audit`:** score against this checklist; open [coding-standards-full.md](mdc:.task-flow/guides/coding-standards-full.md) only for deep dives or user-requested depth.
|
|
90
90
|
- **`task-flow: sync`:** subtask instructions follow checklist patterns (structure, naming, service+use-case) — not full doc.
|
|
91
91
|
|
|
92
92
|
---
|
|
@@ -11,7 +11,8 @@ alwaysApply: false
|
|
|
11
11
|
- **`task-flow: run` / `run next X`:** Before implementing a subtask in a non-trivial codebase, if `graphify-out/graph.json` exists, use `graphify query "<feature or module from subtask>"` or read `graphify-out/GRAPH_REPORT.md` god nodes — then implement. If no graph exists, proceed with normal search or suggest `graphify extract . --backend claude-cli` (or `rbin-task-flow init --graphify`).
|
|
12
12
|
- **`task-flow: think`:** Optional `graphify query` for gap analysis on large repos.
|
|
13
13
|
- **`task-flow: review X`:** Optional `graphify affected "<symbol>"` to verify impact surface.
|
|
14
|
-
- **`task-flow:
|
|
14
|
+
- **`task-flow: validate`:** Optional `graphify query` per task area before verifying implementation; then append lacunas + sync per `task_validate.mdc`.
|
|
15
|
+
- **`task-flow: audit`:** Graphify is structural only; scoring uses [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc) checklist. Deep dive: sections of [coding-standards-full.md](mdc:.task-flow/guides/coding-standards-full.md) only if user asks for depth.
|
|
15
16
|
|
|
16
17
|
- **When NOT to use Graphify:**
|
|
17
18
|
- `task-flow: sync`, `status`, `estimate`, `report`, `generate flow` — only `.task-flow/` files.
|
|
@@ -25,7 +26,7 @@ alwaysApply: false
|
|
|
25
26
|
- **CLI (project root):**
|
|
26
27
|
- Build graph: `graphify extract . --backend claude-cli` or `rbin-task-flow init --graphify` (re-run after large refactors).
|
|
27
28
|
- Query: `graphify query "question"` · `graphify affected "node"`.
|
|
28
|
-
- Guide: [.task-flow/GRAPHIFY.md](mdc:.task-flow/GRAPHIFY.md)
|
|
29
|
+
- Guide: [.task-flow/guides/GRAPHIFY.md](mdc:.task-flow/guides/GRAPHIFY.md)
|
|
29
30
|
|
|
30
31
|
- **Principle:**
|
|
31
32
|
> **Task Flow decides what to do; Graphify helps find where in the code — only during implementation and exploration commands.**
|
|
@@ -14,6 +14,7 @@ alwaysApply: true
|
|
|
14
14
|
| `.task-flow/.internal/tasks.json` | Definitions |
|
|
15
15
|
| `.task-flow/.internal/status.json` | Status source of truth |
|
|
16
16
|
| `.task-flow/contexts/` | Specs / mockups |
|
|
17
|
+
| `.task-flow/guides/` | Platform guides, Graphify, standards, reports |
|
|
17
18
|
|
|
18
19
|
## Prefer skills (`.cursor/skills/`)
|
|
19
20
|
|
|
@@ -27,6 +28,7 @@ alwaysApply: true
|
|
|
27
28
|
| `task-flow: audit` | `@task-flow-audit` |
|
|
28
29
|
| `task-flow: improve changes` | `@task-flow-improve-changes` |
|
|
29
30
|
| `task-flow: review X` | `@task-flow-review` |
|
|
31
|
+
| `task-flow: validate` | `@task-flow-validate` |
|
|
30
32
|
| `task-flow: refactor X` | `@task-flow-refactor` |
|
|
31
33
|
| `task-flow: estimate X` | `@task-flow-estimate` |
|
|
32
34
|
| `task-flow: report X` | `@task-flow-report` |
|
|
@@ -42,10 +44,10 @@ Never write git — user runs all commits. Policy: [rbin-git-policy.mdc](mdc:.cu
|
|
|
42
44
|
|
|
43
45
|
## Graphify (optional)
|
|
44
46
|
|
|
45
|
-
On `run` / `think`, if `graphify-out/` exists: `graphify query` before repo-wide grep. Rule: `graphify-task-flow`. Guide: `.task-flow/GRAPHIFY.md`.
|
|
47
|
+
On `run` / `think`, if `graphify-out/` exists: `graphify query` before repo-wide grep. Rule: `graphify-task-flow`. Guide: `.task-flow/guides/GRAPHIFY.md`.
|
|
46
48
|
|
|
47
49
|
## More detail
|
|
48
50
|
|
|
49
|
-
- Workflows: `.task-flow/CURSOR.md`
|
|
50
|
-
- Full guide: `.task-flow/platforms/cursor.md`
|
|
51
|
-
- Codex parity: `.task-flow/CODEX.md`
|
|
51
|
+
- Workflows: `.task-flow/guides/CURSOR.md`
|
|
52
|
+
- Full guide: `.task-flow/guides/platforms/cursor.md`
|
|
53
|
+
- Codex parity: `.task-flow/guides/CODEX.md`
|
|
@@ -30,7 +30,7 @@ Task IDs stay sequential (1, 2, 3…) matching `tasks.input.txt` order.
|
|
|
30
30
|
- `originalRequest`: exact input line; `createdAt`: ISO 8601 for new tasks
|
|
31
31
|
- 3–8 subtasks: title, description, instructions (3–5 steps)
|
|
32
32
|
- Contexts: keyword match or `task-flow-screen file.ext` → `.task-flow/contexts/file.ext`
|
|
33
|
-
- Subtask instructions: **checklist** in [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc) only — not [coding-standards-full.md](mdc:.task-flow/
|
|
33
|
+
- Subtask instructions: **checklist** in [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc) only — not [coding-standards-full.md](mdc:.task-flow/guides/coding-standards-full.md)
|
|
34
34
|
- More templates: [task_generation.mdc](mdc:.cursor/rules/task_generation.mdc)
|
|
35
35
|
|
|
36
36
|
**Sync rules:** no codebase exploration; no questions; do not fill `tasks.flow.md` (only `generate flow`).
|
|
@@ -7,6 +7,8 @@ alwaysApply: false
|
|
|
7
7
|
|
|
8
8
|
**Not sync.** For `task-flow: sync` use [task-flow-sync.mdc](mdc:.cursor/rules/task-flow-sync.mdc) or `@task-flow-sync`.
|
|
9
9
|
|
|
10
|
+
**Not validate.** For deep verify + auto-add lacunas use [task_validate.mdc](mdc:.cursor/rules/task_validate.mdc) or `@task-flow-validate`.
|
|
11
|
+
|
|
10
12
|
**Prefer:** `@task-flow-think` · After user adds lines: `@task-flow-sync`
|
|
11
13
|
|
|
12
14
|
## When to run
|
|
@@ -33,7 +35,7 @@ User says `task-flow: think`, `suggest tasks`, `check for new tasks`, `analyze c
|
|
|
33
35
|
|
|
34
36
|
## Optional roadmap
|
|
35
37
|
|
|
36
|
-
For package improvements see [.task-flow/OPTIMIZATION-PLAN.md](mdc:.task-flow/OPTIMIZATION-PLAN.md) — not part of think unless user asks.
|
|
38
|
+
For package improvements see [.task-flow/guides/OPTIMIZATION-PLAN.md](mdc:.task-flow/guides/OPTIMIZATION-PLAN.md) — not part of think unless user asks.
|
|
37
39
|
|
|
38
40
|
## Integration
|
|
39
41
|
|
|
@@ -5,7 +5,7 @@ alwaysApply: false
|
|
|
5
5
|
|
|
6
6
|
# task-flow: audit
|
|
7
7
|
|
|
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/
|
|
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/guides/coding-standards-full.md) — do not load the entire file unless the user asks for depth.
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -36,7 +36,7 @@ Scan the codebase to understand:
|
|
|
36
36
|
|
|
37
37
|
### Step 2 — Score each category
|
|
38
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/
|
|
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/guides/coding-standards-full.md) — not the whole file unless the user requests depth.
|
|
40
40
|
|
|
41
41
|
For each category below, rate adherence: **Full / Partial / Missing**
|
|
42
42
|
|
|
@@ -19,6 +19,7 @@ alwaysApply: false
|
|
|
19
19
|
| `task-flow: audit` | `@task-flow-audit` |
|
|
20
20
|
| `task-flow: improve changes` | `@task-flow-improve-changes` |
|
|
21
21
|
| `task-flow: review X` | `@task-flow-review` |
|
|
22
|
+
| `task-flow: validate` | `@task-flow-validate` |
|
|
22
23
|
| `task-flow: refactor X` | `@task-flow-refactor` |
|
|
23
24
|
| `task-flow: estimate X` | `@task-flow-estimate` |
|
|
24
25
|
| `task-flow: report X` | `@task-flow-report` |
|
|
@@ -7,7 +7,7 @@ alwaysApply: false
|
|
|
7
7
|
|
|
8
8
|
When the user runs `task-flow: improve changes`:
|
|
9
9
|
|
|
10
|
-
1. **Audit current changes only**: Do the **same as** [task-flow: audit](mdc:.cursor/rules/task_audit.mdc) (score against the [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc) checklist; [full doc](mdc:.task-flow/
|
|
10
|
+
1. **Audit current changes only**: Do the **same as** [task-flow: audit](mdc:.cursor/rules/task_audit.mdc) (score against the [coding_standards.mdc](mdc:.cursor/rules/coding_standards.mdc) checklist; [full doc](mdc:.task-flow/guides/coding-standards-full.md) only if needed), but **restricted to files that were changed and not yet committed**.
|
|
11
11
|
2. **Do not run project checks here**: Lint fix and build now belong to [task-flow: check](mdc:.cursor/rules/task_check.mdc).
|
|
12
12
|
|
|
13
13
|
---
|
|
@@ -12,7 +12,7 @@ alwaysApply: false
|
|
|
12
12
|
- **READ**: `.task-flow/.internal/status.json` to verify task is completed
|
|
13
13
|
- **ANALYZE**: Codebase changes related to the task (git history, file changes)
|
|
14
14
|
- **GENERATE**: Markdown report documenting what was implemented
|
|
15
|
-
- **SAVE**: Report to `.task-flow/
|
|
15
|
+
- **SAVE**: Report to `.task-flow/guides/reports/task-X-implementation.md`
|
|
16
16
|
|
|
17
17
|
- **Report Generation Rules:**
|
|
18
18
|
1. **Verify Completion**: Task must be marked as "done" in status.json (all subtasks completed)
|
|
@@ -23,9 +23,9 @@ alwaysApply: false
|
|
|
23
23
|
- Code changes summary
|
|
24
24
|
- Testing information (if applicable)
|
|
25
25
|
- Notes and considerations
|
|
26
|
-
3. **File Location**: `.task-flow/
|
|
26
|
+
3. **File Location**: `.task-flow/guides/reports/task-X-implementation.md`
|
|
27
27
|
4. **File Naming**: `task-{taskId}-implementation.md` (e.g., `task-1-implementation.md`)
|
|
28
|
-
5. **Directory Creation**: Create `.task-flow/
|
|
28
|
+
5. **Directory Creation**: Create `.task-flow/guides/reports/` if it doesn't exist
|
|
29
29
|
|
|
30
30
|
- **Report Template:**
|
|
31
31
|
```markdown
|
|
@@ -93,7 +93,7 @@ alwaysApply: false
|
|
|
93
93
|
2. Verify task 1 is completed
|
|
94
94
|
3. Analyze codebase for changes related to task 1
|
|
95
95
|
4. Generate markdown report
|
|
96
|
-
5. Save to .task-flow/
|
|
96
|
+
5. Save to .task-flow/guides/reports/task-1-implementation.md
|
|
97
97
|
6. Show confirmation message
|
|
98
98
|
```
|
|
99
99
|
|
|
@@ -105,7 +105,7 @@ alwaysApply: false
|
|
|
105
105
|
- **Integration:**
|
|
106
106
|
- Works with [task-flow-cursor.mdc](mdc:.cursor/rules/task-flow-cursor.mdc) / `@task-flow-report`
|
|
107
107
|
- Uses task data from `.task-flow/.internal/tasks.json` and `.task-flow/.internal/status.json`
|
|
108
|
-
- Reports are stored in `.task-flow/
|
|
108
|
+
- Reports are stored in `.task-flow/guides/reports/` directory
|
|
109
109
|
- Can reference git history for implementation details
|
|
110
110
|
|
|
111
111
|
- **Principle:**
|
|
@@ -81,6 +81,7 @@ alwaysApply: false
|
|
|
81
81
|
|
|
82
82
|
- **Integration:**
|
|
83
83
|
- Works with [task-flow-cursor.mdc](mdc:.cursor/rules/task-flow-cursor.mdc) / `@task-flow-review`
|
|
84
|
+
- For verify + auto-add lacunas + sync: [task_validate.mdc](mdc:.cursor/rules/task_validate.mdc) / `@task-flow-validate`
|
|
84
85
|
- Respects [rbin-git-policy.mdc](mdc:.cursor/rules/rbin-git-policy.mdc) — never commit automatically
|
|
85
86
|
|
|
86
87
|
- **Principle:**
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Deep-validates task-flow tasks against the codebase, fixes false done status, and appends missing gaps to tasks.input.txt. Use for task-flow validate, validate all, validar tasks, or verificar lacunas.
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# task-flow: validate
|
|
7
|
+
|
|
8
|
+
**Prefer:** `@task-flow-validate` · After changes: status is updated automatically; new lines trigger sync.
|
|
9
|
+
|
|
10
|
+
**Not the same as:**
|
|
11
|
+
- `task-flow: review` — only checks `done` subtasks; asks before status revert; does not add tasks.
|
|
12
|
+
- `task-flow: think` — suggests tasks; **asks** before writing `tasks.input.txt`.
|
|
13
|
+
|
|
14
|
+
## When to run
|
|
15
|
+
|
|
16
|
+
User says `task-flow: validate`, `task-flow: validate X`, `task-flow: validate all`, `validar tasks`, `verificar lacunas`, `validate implementation gaps`, etc.
|
|
17
|
+
|
|
18
|
+
Default scope when no ID: **`all`**.
|
|
19
|
+
|
|
20
|
+
## Depth
|
|
21
|
+
|
|
22
|
+
Use **thorough** reasoning: read each subtask `instructions`, `.task-flow/contexts/` when cited, verify files/tests/docs in the codebase — not a shallow grep. Optional: `graphify query "<module>"` per task area when `graphify-out/graph.json` exists.
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### 1. Load
|
|
27
|
+
|
|
28
|
+
- `.task-flow/tasks.input.txt` (lines `- ` only)
|
|
29
|
+
- `.task-flow/.internal/tasks.json`, `status.json`
|
|
30
|
+
- List `.task-flow/contexts/`
|
|
31
|
+
|
|
32
|
+
### 2. Verify (scope: task X, X,Y, or all)
|
|
33
|
+
|
|
34
|
+
For each task/subtask in scope:
|
|
35
|
+
|
|
36
|
+
| Status | Check |
|
|
37
|
+
|--------|--------|
|
|
38
|
+
| `done` | Implementation exists and matches requirements (files, tests, docs per instructions) |
|
|
39
|
+
| `pending` / `in_progress` | Whether code already partially or fully implements the subtask (status drift) |
|
|
40
|
+
|
|
41
|
+
Record:
|
|
42
|
+
|
|
43
|
+
- **Verified done** — correctly marked
|
|
44
|
+
- **False done** — marked `done` but missing or incomplete
|
|
45
|
+
- **Drift** — implemented in code but still `pending`
|
|
46
|
+
- **Confirmed pending** — not implemented yet (expected)
|
|
47
|
+
|
|
48
|
+
### 3. Lacunas (gaps)
|
|
49
|
+
|
|
50
|
+
Find work not covered by current tasks:
|
|
51
|
+
|
|
52
|
+
- Requirements from `done`/`pending` subtasks still missing in codebase
|
|
53
|
+
- TODO/FIXME, missing tests, half-finished features, docs, wiring not listed in `tasks.input.txt`
|
|
54
|
+
- Do **not** duplicate lines already in `tasks.input.txt` (match by meaning / `originalRequest`)
|
|
55
|
+
|
|
56
|
+
### 4. Apply fixes (no ask — user invoked validate)
|
|
57
|
+
|
|
58
|
+
1. **Status:** set false `done` → `pending` in `status.json`; optional drift `pending` → keep or note in report (do not auto-mark `done` without user run)
|
|
59
|
+
2. **Input:** append new lacunas as `- Description` lines to `tasks.input.txt` (append only; never remove or edit existing lines)
|
|
60
|
+
3. **Sync:** follow [task-flow-sync.mdc](mdc:.cursor/rules/task-flow-sync.mdc) — diff input, regen subtasks for new tasks, rebuild `tasks.status.md` Summary
|
|
61
|
+
4. **Never** edit `.internal/` by hand except through sync-aligned updates to `status.json` for false-done fixes before sync
|
|
62
|
+
|
|
63
|
+
### 5. Report
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
## Task Flow Validate
|
|
67
|
+
|
|
68
|
+
### Verified done
|
|
69
|
+
- 1.2 Title — evidence (file paths)
|
|
70
|
+
|
|
71
|
+
### False done → reverted to pending
|
|
72
|
+
- 2.1 Title — what is missing
|
|
73
|
+
|
|
74
|
+
### Lacunas added to tasks.input.txt
|
|
75
|
+
- New line added: "- …"
|
|
76
|
+
- (none)
|
|
77
|
+
|
|
78
|
+
### Sync
|
|
79
|
+
- N new task(s), M subtasks regenerated
|
|
80
|
+
|
|
81
|
+
### Next
|
|
82
|
+
- `task-flow: run next X` for pending work
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Natural language
|
|
86
|
+
|
|
87
|
+
- `task-flow: validate` / `validate all`
|
|
88
|
+
- `task-flow: validate 1` / `validate 2,3`
|
|
89
|
+
- `validar tasks do task-flow`
|
|
90
|
+
- `verificar lacunas e adicionar no task-flow`
|
|
91
|
+
|
|
92
|
+
## Integration
|
|
93
|
+
|
|
94
|
+
- Sync: [task-flow-sync.mdc](mdc:.cursor/rules/task-flow-sync.mdc)
|
|
95
|
+
- Review (lighter): [task_review.mdc](mdc:.cursor/rules/task_review.mdc)
|
|
96
|
+
- Think (suggest only): [task_analysis.mdc](mdc:.cursor/rules/task_analysis.mdc)
|
|
97
|
+
- Git: [rbin-git-policy.mdc](mdc:.cursor/rules/rbin-git-policy.mdc)
|
|
98
|
+
|
|
99
|
+
**Principle:** Validate = truth check + fill gaps. Done means done; missing work becomes new tasks automatically.
|
package/.task-flow/README.md
CHANGED
|
@@ -1,19 +1,37 @@
|
|
|
1
1
|
# RBIN Task Flow - Quick Commands
|
|
2
2
|
|
|
3
|
+
## Layout
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
.task-flow/
|
|
7
|
+
├── README.md ← você está aqui
|
|
8
|
+
├── tasks.input.txt ← defina tasks (`- descrição`)
|
|
9
|
+
├── tasks.status.md ← progresso (auto; não editar)
|
|
10
|
+
├── tasks.flow.md ← deps/horas (task-flow: generate flow)
|
|
11
|
+
├── contexts/ ← specs, mockups
|
|
12
|
+
├── .internal/ ← tasks.json, status.json (sistema)
|
|
13
|
+
└── guides/ ← documentação e configs
|
|
14
|
+
├── AI-PLATFORMS.md
|
|
15
|
+
├── GRAPHIFY.md
|
|
16
|
+
├── CODEX.md · CURSOR.md
|
|
17
|
+
├── coding-standards-full.md
|
|
18
|
+
├── platforms/ ← Claude, Cursor, Codex
|
|
19
|
+
└── reports/ ← task-X-implementation.md
|
|
20
|
+
```
|
|
21
|
+
|
|
3
22
|
**Optimize by AI platform:**
|
|
4
23
|
|
|
5
24
|
| Platform | Guide |
|
|
6
25
|
|----------|--------|
|
|
7
|
-
| Index | [AI-PLATFORMS.md](AI-PLATFORMS.md) |
|
|
8
|
-
| Claude Code | [platforms/claude-code.md](platforms/claude-code.md) |
|
|
9
|
-
| Cursor | [platforms/cursor.md](platforms/cursor.md) |
|
|
10
|
-
| Codex | [platforms/codex.md](platforms/codex.md) |
|
|
11
|
-
| Graphify + Task Flow | [GRAPHIFY.md](GRAPHIFY.md) |
|
|
12
|
-
| Codex | [CODEX.md](CODEX.md)
|
|
13
|
-
| Cursor
|
|
14
|
-
| Otimização (tokens
|
|
15
|
-
|
|
|
16
|
-
| Coding standards (full, on demand) | [docs/coding-standards-full.md](docs/coding-standards-full.md) |
|
|
26
|
+
| Index | [guides/AI-PLATFORMS.md](guides/AI-PLATFORMS.md) |
|
|
27
|
+
| Claude Code | [guides/platforms/claude-code.md](guides/platforms/claude-code.md) |
|
|
28
|
+
| Cursor | [guides/platforms/cursor.md](guides/platforms/cursor.md) |
|
|
29
|
+
| Codex | [guides/platforms/codex.md](guides/platforms/codex.md) |
|
|
30
|
+
| Graphify + Task Flow | [guides/GRAPHIFY.md](guides/GRAPHIFY.md) |
|
|
31
|
+
| Codex workflows | [guides/CODEX.md](guides/CODEX.md) |
|
|
32
|
+
| Cursor quick ref | [guides/CURSOR.md](guides/CURSOR.md) |
|
|
33
|
+
| Otimização (tokens) | [guides/OPTIMIZATION-PLAN.md](guides/OPTIMIZATION-PLAN.md) |
|
|
34
|
+
| Coding standards (full) | [guides/coding-standards-full.md](guides/coding-standards-full.md) |
|
|
17
35
|
|
|
18
36
|
## 🚀 Quick Commands
|
|
19
37
|
|
|
@@ -21,6 +39,7 @@
|
|
|
21
39
|
|---------|-------------|
|
|
22
40
|
| `task-flow: sync` | Complete synchronization: adds new, removes deleted, updates modified, preserves status |
|
|
23
41
|
| `task-flow: think` | Analyzes code and suggests new tasks |
|
|
42
|
+
| `task-flow: validate` | Deep audit vs codebase; revert false done; append gaps to `tasks.input.txt`; sync |
|
|
24
43
|
| `task-flow: status` | Shows current task status |
|
|
25
44
|
| `task-flow: run next X` | Works on next X subtasks (e.g., `task-flow: run next 4`) |
|
|
26
45
|
| `task-flow: run X` | Executes all pending subtasks of task X (e.g., `task-flow: run 1`) |
|
|
@@ -53,11 +72,14 @@ Complete synchronization between `tasks.input.txt` and the system:
|
|
|
53
72
|
### `task-flow: think`
|
|
54
73
|
Analyzes code and suggests new tasks. Asks before adding to `tasks.input.txt`.
|
|
55
74
|
|
|
75
|
+
### `task-flow: validate`
|
|
76
|
+
Deep validation: checks subtasks against the codebase, reverts false `done`, appends lacunas to `tasks.input.txt`, and syncs. Invoke: `@task-flow-validate` / `/task-flow-validate`.
|
|
77
|
+
|
|
56
78
|
### `task-flow: status`
|
|
57
79
|
Shows current status of tasks and subtasks from the `tasks.status.md` file.
|
|
58
80
|
|
|
59
81
|
### `task-flow: audit`
|
|
60
|
-
Audits the **entire codebase** against the **checklist** in [coding_standards.mdc](
|
|
82
|
+
Audits the **entire codebase** against the **checklist** in [coding_standards.mdc](../.cursor/rules/coding_standards.mdc). Deep reference: [guides/coding-standards-full.md](guides/coding-standards-full.md) (sections only, on demand). Non-destructive: reports gaps and suggests incremental improvements; the user chooses what to adopt. See [task_audit.mdc](../.cursor/rules/task_audit.mdc) for the full flow.
|
|
61
83
|
|
|
62
84
|
### `task-flow: check`
|
|
63
85
|
Runs **lint fix** and **build** for the project. Check `package.json` for a lint-with-fix script (e.g. `lint:fix`, `lint -- --fix`) and a build script; run lint fix first, fix any warnings or errors, then run build and fix until it passes. Use before committing or before `task-flow: improve changes` to ensure the project is clean.
|
|
@@ -128,25 +150,8 @@ Populates `tasks.flow.md` with: (1) task dependencies (for parallelization), (2)
|
|
|
128
150
|
### `task-flow: report X` (simplified syntax)
|
|
129
151
|
Generates a detailed implementation report for completed task(s) in Markdown format.
|
|
130
152
|
|
|
131
|
-
**
|
|
132
|
-
- Task overview and completion status
|
|
133
|
-
- List of completed subtasks
|
|
134
|
-
- Files created and modified (detected from git history)
|
|
135
|
-
- Code change summaries with analysis
|
|
136
|
-
- Task creation and completion dates
|
|
137
|
-
|
|
138
|
-
**Report location:** `.task-flow/docs/task-X-implementation.md`
|
|
153
|
+
**Output:** `.task-flow/guides/reports/task-X-implementation.md`
|
|
139
154
|
|
|
140
155
|
**Examples:**
|
|
141
|
-
- `task-flow: report 1` →
|
|
142
|
-
- `task-flow: report 10,11` →
|
|
143
|
-
- `task-flow: report all` → Generates reports for all tasks
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## Files
|
|
148
|
-
|
|
149
|
-
- `.task-flow/tasks.input.txt` - Edit tasks here (format: `- Task description`)
|
|
150
|
-
- `.task-flow/tasks.status.md` - ⚠️ **DO NOT EDIT** - Automatically updated by AI
|
|
151
|
-
- `.task-flow/tasks.flow.md` - Dependencies, estimated hours, and model recommendations (populated by `task-flow: generate flow`)
|
|
152
|
-
- `.task-flow/.internal/` - ⚠️ **IGNORE** - Internal system files (no need to read or edit)
|
|
156
|
+
- `task-flow: report 1` → Report for task 1
|
|
157
|
+
- `task-flow: report 10,11` → Reports for tasks 10 and 11
|
|
@@ -10,7 +10,7 @@ Os comandos `task-flow: …` são **os mesmos** em Claude Code, Cursor e Codex.
|
|
|
10
10
|
|------------|------|------------------|----------------------|
|
|
11
11
|
| **Claude Code** | [platforms/claude-code.md](platforms/claude-code.md) | `CLAUDE.md` + `.claude/skills/*/SKILL.md` | **Skills no `init`** — `/task-flow-run`, etc. |
|
|
12
12
|
| **Cursor** | [platforms/cursor.md](platforms/cursor.md) | `task-flow-cursor.mdc` + `rbin-git-policy.mdc` + skills | **Otimizado v1.23** — 2 always-on + `@task-flow-*` |
|
|
13
|
-
| **OpenAI Codex** | [platforms/codex.md](platforms/codex.md) | `AGENTS.md` + `.task-flow/CODEX.md` + `.codex/config.toml` | **Otimizado v1.21** — sync/run no AGENTS.md |
|
|
13
|
+
| **OpenAI Codex** | [platforms/codex.md](platforms/codex.md) | `AGENTS.md` + `.task-flow/guides/CODEX.md` + `.codex/config.toml` | **Otimizado v1.21** — sync/run no AGENTS.md |
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -37,7 +37,7 @@ Os comandos `task-flow: …` são **os mesmos** em Claude Code, Cursor e Codex.
|
|
|
37
37
|
5. `task-flow: check`
|
|
38
38
|
6. **Você** faz `git commit` (a IA só sugere)
|
|
39
39
|
|
|
40
|
-
Detalhes dos comandos: [README.md](README.md).
|
|
40
|
+
Detalhes dos comandos: [README.md](../README.md).
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
@@ -49,14 +49,14 @@ Detalhes dos comandos: [README.md](README.md).
|
|
|
49
49
|
| `.cursor/rules/` | leitura manual | ✅ auto | leitura manual |
|
|
50
50
|
| `CLAUDE.md` | ✅ | — | — |
|
|
51
51
|
| `AGENTS.md` | — | — | ✅ |
|
|
52
|
-
| `.task-flow/CODEX.md` | — | — | ✅ |
|
|
53
|
-
| `.task-flow/CURSOR.md` | — | ✅ | — |
|
|
54
|
-
| `.task-flow/
|
|
52
|
+
| `.task-flow/guides/CODEX.md` | — | — | ✅ |
|
|
53
|
+
| `.task-flow/guides/CURSOR.md` | — | ✅ | — |
|
|
54
|
+
| `.task-flow/guides/coding-standards-full.md` | on demand | on demand (sections only) | on demand |
|
|
55
55
|
| [OPTIMIZATION-PLAN.md](OPTIMIZATION-PLAN.md) | — | token roadmap | — |
|
|
56
56
|
| `.codex/config.toml` | — | — | ✅ (opcional, preservado no update) |
|
|
57
57
|
| `task-flow-cursor.mdc` | — | ✅ always-on | — |
|
|
58
58
|
| `rbin-git-policy.mdc` | — | ✅ always-on | — |
|
|
59
|
-
| `.claude/skills/` | ✅ (
|
|
59
|
+
| `.claude/skills/` | ✅ (15 skills) | — | — |
|
|
60
60
|
| `.cursor/skills/` | — | ✅ (espelho) | — |
|
|
61
61
|
|
|
62
62
|
Por padrão, `.claude/`, `.cursor/`, `.task-flow/`, `CLAUDE.md` e `AGENTS.md` entram no **`.gitignore`** do projeto cliente. Para versionar skills/regras com o time, ajuste o ignore — veja a seção “Versionamento” em cada guia.
|
|
@@ -88,6 +88,20 @@ Rule: `.cursor/rules/task_review.mdc`
|
|
|
88
88
|
|
|
89
89
|
---
|
|
90
90
|
|
|
91
|
+
## task-flow: validate
|
|
92
|
+
|
|
93
|
+
1. Read `tasks.input.txt`, `tasks.json`, `status.json` — scope `all` or task ID(s).
|
|
94
|
+
2. Thoroughly verify each subtask against codebase (`done` + `pending`).
|
|
95
|
+
3. Revert false `done` → `pending` in `status.json`.
|
|
96
|
+
4. Append lacunas as `- Description` to `tasks.input.txt` (no duplicates).
|
|
97
|
+
5. Run sync workflow (section **Sync** in AGENTS.md).
|
|
98
|
+
|
|
99
|
+
Rule: `.cursor/rules/task_validate.mdc`
|
|
100
|
+
|
|
101
|
+
Unlike `think` (asks before add) or `review` (done only, asks before revert).
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
91
105
|
## task-flow: refactor X
|
|
92
106
|
|
|
93
107
|
Refactor task-related files: no behavior change, remove explanatory comments, keep section separators.
|
|
@@ -106,7 +120,7 @@ Rule: `.cursor/rules/task_estimate.mdc`
|
|
|
106
120
|
|
|
107
121
|
## task-flow: report X
|
|
108
122
|
|
|
109
|
-
Verify task done; write `.task-flow/
|
|
123
|
+
Verify task done; write `.task-flow/guides/reports/task-X-implementation.md`.
|
|
110
124
|
|
|
111
125
|
Rule: `.cursor/rules/task_report.mdc`
|
|
112
126
|
|
|
@@ -122,13 +136,13 @@ Rule: `.cursor/rules/task_generate_flow.mdc`
|
|
|
122
136
|
|
|
123
137
|
## Implementing code (any subtask)
|
|
124
138
|
|
|
125
|
-
Follow the checklist in `.cursor/rules/coding_standards.mdc`. For examples/Nest: read sections of `.task-flow/
|
|
139
|
+
Follow the checklist in `.cursor/rules/coding_standards.mdc`. For examples/Nest: read sections of `.task-flow/guides/coding-standards-full.md` only.
|
|
126
140
|
|
|
127
141
|
---
|
|
128
142
|
|
|
129
143
|
## Graphify (optional)
|
|
130
144
|
|
|
131
|
-
Only during `run` / `think` when `graphify-out/` exists. See `.task-flow/GRAPHIFY.md`. Does not replace status updates.
|
|
145
|
+
Only during `run` / `think` when `graphify-out/` exists. See `.task-flow/guides/GRAPHIFY.md`. Does not replace status updates.
|
|
132
146
|
|
|
133
147
|
---
|
|
134
148
|
|
|
@@ -26,6 +26,7 @@ Verify: `rg 'alwaysApply: true' .cursor/rules` → only the two files above.
|
|
|
26
26
|
| `task-flow: status` | `@task-flow-status` |
|
|
27
27
|
| `task-flow: check` | `@task-flow-check` |
|
|
28
28
|
| `task-flow: improve changes` | `@task-flow-improve-changes` |
|
|
29
|
+
| `task-flow: validate` | `@task-flow-validate` |
|
|
29
30
|
| Implement feature code | `@rbin-coding-standards` (explicit; checklist glob on `src/**`) |
|
|
30
31
|
|
|
31
32
|
**Avoid:** `@task_work` (short fallback only — prefer `@task-flow-run`).
|
|
@@ -42,7 +43,7 @@ Verify: `rg 'alwaysApply: true' .cursor/rules` → only the two files above.
|
|
|
42
43
|
| **Glob** | `task-flow-sync`, `task_generation` (`.task-flow/**`), `coding_standards` (`src/**`, `app/**`), `code_comments` | Matching paths in chat |
|
|
43
44
|
| **Manual** | `@cursor_rules`, `@self_improve`, `@task_report`, legacy `git_control` | You `@`-mention only (no `description` auto-match) |
|
|
44
45
|
|
|
45
|
-
**Coding standards:** checklist in `coding_standards.mdc` (glob). Full reference: `.task-flow/
|
|
46
|
+
**Coding standards:** checklist in `coding_standards.mdc` (glob). Full reference: `.task-flow/guides/coding-standards-full.md` — **sections only**, never whole file.
|
|
46
47
|
|
|
47
48
|
If a command fails to trigger, use **`@task-flow-*`** explicitly.
|
|
48
49
|
|
|
@@ -89,6 +90,6 @@ Only during `run` / `think` when `graphify-out/` exists. Does not replace Task F
|
|
|
89
90
|
## References
|
|
90
91
|
|
|
91
92
|
- [platforms/cursor.md](platforms/cursor.md) — full guide
|
|
92
|
-
- [README.md](README.md) — all commands
|
|
93
|
+
- [README.md](../README.md) — all commands
|
|
93
94
|
- [AI-PLATFORMS.md](AI-PLATFORMS.md) — install matrix
|
|
94
95
|
- [Cursor Rules docs](https://cursor.com/docs/context/rules)
|
|
@@ -54,7 +54,7 @@ task-flow: check
|
|
|
54
54
|
|-------------------|----------------|
|
|
55
55
|
| `sync`, `status`, `estimate`, `report`, `generate flow` | Não |
|
|
56
56
|
| `run next X`, `run N` | Sim, se `graphify-out/` existir |
|
|
57
|
-
| `think`, `review` | Opcional |
|
|
57
|
+
| `think`, `review`, `validate` | Opcional |
|
|
58
58
|
| `audit`, `improve changes` | Opcional (estrutura); padrões = checklist `coding_standards.mdc` |
|
|
59
59
|
| `check` | Não |
|
|
60
60
|
|
|
@@ -69,7 +69,7 @@ task-flow: run next 2 — se graphify-out existir, graphify query "<módulo da s
|
|
|
69
69
|
## Claude Code
|
|
70
70
|
|
|
71
71
|
- Use **`/graphify`** ou `graphify query` **durante** `task-flow: run`, não no lugar de atualizar status.
|
|
72
|
-
- Se já rodou `graphify claude install` no passado: o hook PreToolUse pode ajudar; evite duplicar parágrafos longos no `CLAUDE.md` — priorize [
|
|
72
|
+
- Se já rodou `graphify claude install` no passado: o hook PreToolUse pode ajudar; evite duplicar parágrafos longos no `CLAUDE.md` — priorize [platforms/claude-code.md](platforms/claude-code.md).
|
|
73
73
|
|
|
74
74
|
## Cursor
|
|
75
75
|
|
|
@@ -79,7 +79,7 @@ task-flow: run next 2 — se graphify-out existir, graphify query "<módulo da s
|
|
|
79
79
|
## Codex
|
|
80
80
|
|
|
81
81
|
- Graphify não entra no `AGENTS.md` automaticamente (limite 32 KiB).
|
|
82
|
-
- No prompt: cite `.task-flow/GRAPHIFY.md` + `graphify query` ao executar `run`.
|
|
82
|
+
- No prompt: cite `.task-flow/guides/GRAPHIFY.md` + `graphify query` ao executar `run`.
|
|
83
83
|
|
|
84
84
|
---
|
|
85
85
|
|
|
@@ -109,5 +109,5 @@ task-flow: run next 2 — se graphify-out existir, graphify query "<módulo da s
|
|
|
109
109
|
## Referências
|
|
110
110
|
|
|
111
111
|
- [AI-PLATFORMS.md](AI-PLATFORMS.md) — índice Claude / Cursor / Codex
|
|
112
|
-
- [README.md](README.md) — comandos Task Flow
|
|
112
|
+
- [README.md](../README.md) — comandos Task Flow
|
|
113
113
|
- Graphify CLI: `graphify --help`
|
|
@@ -92,7 +92,7 @@ Task 10–13 (P2) ───────────► após P0 completo
|
|
|
92
92
|
|
|
93
93
|
**Instruções:**
|
|
94
94
|
1. Criar `.task-flow/docs/` se não existir.
|
|
95
|
-
2. Copiar corpo atual de `.cursor/rules/coding_standards.mdc` (sem frontmatter) para `.task-flow/
|
|
95
|
+
2. Copiar corpo atual de `.cursor/rules/coding_standards.mdc` (sem frontmatter) para `.task-flow/guides/coding-standards-full.md`.
|
|
96
96
|
3. Adicionar cabeçalho no full doc: “Carregar sob demanda — audit profundo, dúvidas de arquitetura; não colar no chat inteiro.”
|
|
97
97
|
|
|
98
98
|
**Critério de aceite:** `coding-standards-full.md` ≥ linhas do antigo corpo; nenhuma seção crítica perdida.
|
|
@@ -105,7 +105,7 @@ Task 10–13 (P2) ───────────► após P0 completo
|
|
|
105
105
|
|
|
106
106
|
**Instruções:**
|
|
107
107
|
1. Manter frontmatter: `alwaysApply: false`, `globs: src/**,app/**`, `description` clara.
|
|
108
|
-
2. Corpo **80–120 linhas**: estrutura `app/features/shared`; app thin; page orchestrator; service+use-case; RHF+zod; `cn()`; sem `any`; sem raw button/input; naming suffixes (tabela compacta); link `mdc:.task-flow/
|
|
108
|
+
2. Corpo **80–120 linhas**: estrutura `app/features/shared`; app thin; page orchestrator; service+use-case; RHF+zod; `cn()`; sem `any`; sem raw button/input; naming suffixes (tabela compacta); link `mdc:.task-flow/guides/coding-standards-full.md` para detalhes.
|
|
109
109
|
3. Remover exemplos de código longos do `.mdc` (ficam no full doc).
|
|
110
110
|
|
|
111
111
|
**Critério de aceite:** `wc -l .cursor/rules/coding_standards.mdc` ≤ 130; `wc -c` ≤ 6 KB.
|
|
@@ -163,7 +163,7 @@ Task 10–13 (P2) ───────────► após P0 completo
|
|
|
163
163
|
|
|
164
164
|
**Instruções:**
|
|
165
165
|
1. `.claude/skills/rbin-coding-standards/SKILL.md`: `disable-model-invocation: true`.
|
|
166
|
-
2. Steps: (1) aplicar checklist em `coding_standards.mdc`; (2) só se ambíguo, ler `.task-flow/
|
|
166
|
+
2. Steps: (1) aplicar checklist em `coding_standards.mdc`; (2) só se ambíguo, ler `.task-flow/guides/coding-standards-full.md` seções relevantes — **não** colar arquivo inteiro no chat.
|
|
167
167
|
3. `reference.md`: paths atualizados para checklist + full doc.
|
|
168
168
|
|
|
169
169
|
**Critério de aceite:** skill não referencia “ler coding_standards.mdc inteiro” como passo 1.
|
|
@@ -215,7 +215,7 @@ Task 10–13 (P2) ───────────► após P0 completo
|
|
|
215
215
|
**Instruções:**
|
|
216
216
|
1. `task-flow-audit`, `task-flow-improve-changes`, `task-flow-sync` SKILL.md: paths checklist + full.
|
|
217
217
|
2. `AGENTS.md` tabela Commands: audit/implement → checklist; full path explícito opcional.
|
|
218
|
-
3. `.task-flow/CODEX.md`: mesma distinção.
|
|
218
|
+
3. `.task-flow/guides/CODEX.md`: mesma distinção.
|
|
219
219
|
|
|
220
220
|
**Critério de aceite:** AGENTS.md não manda “ler coding_standards.mdc inteiro” sem qualificador.
|
|
221
221
|
|
|
@@ -362,4 +362,4 @@ Após sync, o gerador de subtasks pode expandir cada linha usando as **Instruç
|
|
|
362
362
|
|
|
363
363
|
---
|
|
364
364
|
|
|
365
|
-
*Referência: [OPTIMIZATION-PLAN.md](OPTIMIZATION-PLAN.md) · Índice: [README.md](README.md)*
|
|
365
|
+
*Referência: [OPTIMIZATION-PLAN.md](OPTIMIZATION-PLAN.md) · Índice: [README.md](../README.md)*
|
|
@@ -70,7 +70,7 @@ Estimativa ~4 caracteres/token.
|
|
|
70
70
|
|
|
71
71
|
### 4.2 `coding_standards.mdc` — ✅ resolvido (P0.2)
|
|
72
72
|
|
|
73
|
-
- **Checklist** (~100 linhas, glob `src/**`) + **full** em `.task-flow/
|
|
73
|
+
- **Checklist** (~100 linhas, glob `src/**`) + **full** em `.task-flow/guides/coding-standards-full.md` sob demanda.
|
|
74
74
|
- Skill `rbin-coding-standards`: `disable-model-invocation: true`; lê seções do full doc só se ambíguo.
|
|
75
75
|
|
|
76
76
|
### 4.3 Duplicação skill + regra no `run` — parcial (P0.3 ✅)
|
|
@@ -128,7 +128,7 @@ Estimativa ~4 caracteres/token.
|
|
|
128
128
|
| # | Ação | Arquivos / notas | Status |
|
|
129
129
|
|---|------|------------------|--------|
|
|
130
130
|
| P0.1 | Fundir `git_control` + `commit_practices` em uma regra always (~70–90 linhas) | `.cursor/rules/rbin-git-policy.mdc` ou nome equivalente; remover always duplicado | [x] |
|
|
131
|
-
| P0.2 | Dividir standards: **checklist** (glob) + **full** (sob demanda) | `coding_standards.mdc` enxuto; `.task-flow/
|
|
131
|
+
| P0.2 | Dividir standards: **checklist** (glob) + **full** (sob demanda) | `coding_standards.mdc` enxuto; `.task-flow/guides/coding-standards-full.md` com conteúdo atual | [x] |
|
|
132
132
|
| P0.3 | Enxugar `task_work.mdc` → pointer para `@task-flow-run` / `workflow.md` | ~40 linhas máx. | [x] |
|
|
133
133
|
| P0.4 | Enxugar `task_execution.mdc` → pointer para `task-flow-cursor` + skills | Evitar índice duplicado de `CLAUDE.md` | [x] |
|
|
134
134
|
| P0.5 | `rbin-coding-standards`: `disable-model-invocation: true` | `.claude/skills/` + cópia `.cursor/skills/` | [x] |
|
|
@@ -163,7 +163,7 @@ Estimativa ~4 caracteres/token.
|
|
|
163
163
|
|
|
164
164
|
```text
|
|
165
165
|
.cursor/rules/coding_standards.mdc # ~80–120 linhas: checklist + links
|
|
166
|
-
.task-flow/
|
|
166
|
+
.task-flow/guides/coding-standards-full.md # conteúdo atual (exemplos, Nest, RHF…)
|
|
167
167
|
.claude/skills/rbin-coding-standards/
|
|
168
168
|
SKILL.md # aponta checklist + “read full doc if ambiguous”
|
|
169
169
|
reference.md # já existe; alinhar paths
|
|
@@ -344,7 +344,7 @@ Durante **`task-flow: run`**, use `/graphify` ou `graphify query` para achar mó
|
|
|
344
344
|
|
|
345
345
|
- [Claude Code — Skills](https://code.claude.com/docs/en/skills)
|
|
346
346
|
- [Agent Skills open standard](https://agentskills.io/) (interoperável com Cursor)
|
|
347
|
-
- Comandos Task Flow: [
|
|
347
|
+
- Comandos Task Flow: [../../README.md](../../README.md)
|
|
348
348
|
- Regras completas: `../../.cursor/rules/`
|
|
349
349
|
|
|
350
350
|
---
|
|
@@ -65,7 +65,7 @@ projeto/
|
|
|
65
65
|
└── .cursor/rules/ # Lidos quando AGENTS.md / CODEX.md indicam
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
**v1.21+:** `sync` e `run` vêm **resumidos no AGENTS.md** (~dentro do orçamento 32–64 KiB). Demais comandos → ler `.task-flow/CODEX.md` ou `.mdc` indicado.
|
|
68
|
+
**v1.21+:** `sync` e `run` vêm **resumidos no AGENTS.md** (~dentro do orçamento 32–64 KiB). Demais comandos → ler `.task-flow/guides/CODEX.md` ou `.mdc` indicado.
|
|
69
69
|
|
|
70
70
|
Verifique após init:
|
|
71
71
|
|
|
@@ -163,6 +163,7 @@ Codex prefere `AGENTS.override.md` sobre `AGENTS.md` **no mesmo nível**.
|
|
|
163
163
|
| `task-flow: improve changes` | `git diff --name-only HEAD` · checklist `coding_standards.mdc` nos paths alterados |
|
|
164
164
|
| `task-flow: check` | `Rode lint:fix e build do package.json; corrija até passar` |
|
|
165
165
|
| `task-flow: review 1` | `task_review.mdc — verifique se task 1 done está realmente implementada` |
|
|
166
|
+
| `task-flow: validate` | `task_validate.mdc — valide todas as tasks, reverta false done, adicione lacunas em tasks.input.txt e sync` |
|
|
166
167
|
| `task-flow: estimate 1` | `task_estimate.mdc para task 1` |
|
|
167
168
|
| `task-flow: report 1` | `task_report.mdc — task 1 deve estar done` |
|
|
168
169
|
| `task-flow: generate flow` | `task_generate_flow.mdc — preencher tasks.flow.md` |
|
|
@@ -323,10 +324,10 @@ Codex **não** substitui `task-flow: sync` — isso é trabalho do agente lendo
|
|
|
323
324
|
## 13. Checklist de maturidade Codex + Task Flow
|
|
324
325
|
|
|
325
326
|
- [x] `AGENTS.md` otimizado após `init` (sync/run embutidos + tabela)
|
|
326
|
-
- [x] `.task-flow/CODEX.md` para workflows sob demanda
|
|
327
|
+
- [x] `.task-flow/guides/CODEX.md` para workflows sob demanda
|
|
327
328
|
- [x] `.codex/config.toml` com `project_doc_max_bytes = 65536`
|
|
328
329
|
- [ ] Tamanho `AGENTS.md` < ~28 KiB se não usar config.toml
|
|
329
|
-
- [ ] Prompts citam `AGENTS.md` + `.task-flow/CODEX.md` para `run`
|
|
330
|
+
- [ ] Prompts citam `AGENTS.md` + `.task-flow/guides/CODEX.md` para `run`
|
|
330
331
|
- [ ] `improve changes` + `check` antes de PR
|
|
331
332
|
- [ ] `AGENTS.md` em subpastas de monorepo se necessário
|
|
332
333
|
|
|
@@ -350,10 +351,10 @@ pnpm lint:fix && pnpm build && pnpm test
|
|
|
350
351
|
Nunca executar git write. Sugerir Conventional Commits + Task/Subtask ID.
|
|
351
352
|
|
|
352
353
|
## Coding standards
|
|
353
|
-
Ao implementar código, seguir o checklist em `.cursor/rules/coding_standards.mdc`; exemplos completos em `.task-flow/
|
|
354
|
+
Ao implementar código, seguir o checklist em `.cursor/rules/coding_standards.mdc`; exemplos completos em `.task-flow/guides/coding-standards-full.md` (só seções necessárias).
|
|
354
355
|
|
|
355
356
|
## Mais detalhe
|
|
356
|
-
- Task Flow por plataforma: `.task-flow/platforms/codex.md`
|
|
357
|
+
- Task Flow por plataforma: `.task-flow/guides/platforms/codex.md`
|
|
357
358
|
- Comandos: `.task-flow/README.md`
|
|
358
359
|
```
|
|
359
360
|
|
|
@@ -89,7 +89,7 @@ Confirme no projeto: `rg 'alwaysApply: true' .cursor/rules` → deve listar **ap
|
|
|
89
89
|
| `cursor_rules.mdc` | formato `.mdc` | **Glob** `.cursor/rules/**` |
|
|
90
90
|
| `self_improve.mdc` | evoluir regras | Manual `@self_improve` |
|
|
91
91
|
|
|
92
|
-
**Doc (não é regra):** `.task-flow/
|
|
92
|
+
**Doc (não é regra):** `.task-flow/guides/coding-standards-full.md` — seções sob demanda; nunca colar inteiro no chat.
|
|
93
93
|
|
|
94
94
|
### Otimização P0 — implementada
|
|
95
95
|
|
|
@@ -325,7 +325,7 @@ Com Graphify instalado (`rbin-install-dev`), o Task Flow traz **`graphify-task-f
|
|
|
325
325
|
|
|
326
326
|
- [Cursor — Rules](https://cursor.com/docs/context/rules)
|
|
327
327
|
- [Agent Skills standard](https://agentskills.io/)
|
|
328
|
-
- Comandos: [
|
|
328
|
+
- Comandos: [../../README.md](../../README.md)
|
|
329
329
|
- Claude (skills espelhadas): [claude-code.md](claude-code.md)
|
|
330
330
|
|
|
331
331
|
---
|
|
File without changes
|
package/AGENTS.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Task flow** always means **RBIN Task Flow**. Codex does not load `.cursor/rules/*.mdc` automatically — use this file plus **read on demand** files below.
|
|
4
4
|
|
|
5
|
-
**Full Codex guide:** `.task-flow/platforms/codex.md` · **Workflows (read when executing a command):** `.task-flow/CODEX.md`
|
|
5
|
+
**Full Codex guide:** `.task-flow/guides/platforms/codex.md` · **Workflows (read when executing a command):** `.task-flow/guides/CODEX.md`
|
|
6
6
|
|
|
7
7
|
## Paths
|
|
8
8
|
|
|
@@ -28,19 +28,20 @@ No explanatory comments. Complex topics → `dev-logs/*.md`. Allowed: `// ──
|
|
|
28
28
|
|
|
29
29
|
| Command | Read first |
|
|
30
30
|
|---------|------------|
|
|
31
|
-
| `task-flow: sync` | Section **Sync** below; details `.task-flow/CODEX.md` |
|
|
32
|
-
| `task-flow: run …` | Section **Run** below; details `.task-flow/CODEX.md` |
|
|
31
|
+
| `task-flow: sync` | Section **Sync** below; details `.task-flow/guides/CODEX.md` |
|
|
32
|
+
| `task-flow: run …` | Section **Run** below; details `.task-flow/guides/CODEX.md` |
|
|
33
33
|
| `task-flow: status` | `.task-flow/tasks.status.md` |
|
|
34
|
-
| `task-flow: think` | `.task-flow/CODEX.md` · optional codebase scan |
|
|
34
|
+
| `task-flow: think` | `.task-flow/guides/CODEX.md` · optional codebase scan |
|
|
35
35
|
| `task-flow: check` | `.cursor/rules/task_check.mdc` · `package.json` |
|
|
36
36
|
| `task-flow: improve changes` | `git diff --name-only HEAD` · `.cursor/rules/task_improve_changes.mdc` |
|
|
37
|
-
| `task-flow: audit` | `.cursor/rules/task_audit.mdc` · checklist `coding_standards.mdc` (full: `.task-flow/
|
|
38
|
-
| `task-flow: review X` | `.task-flow/CODEX.md` |
|
|
37
|
+
| `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
|
+
| `task-flow: validate` | `.cursor/rules/task_validate.mdc` · then sync |
|
|
39
40
|
| `task-flow: refactor X` | `.cursor/rules/task_refactor.mdc` |
|
|
40
|
-
| `task-flow: estimate X` | `.task-flow/CODEX.md` |
|
|
41
|
-
| `task-flow: report X` | `.task-flow/CODEX.md` |
|
|
41
|
+
| `task-flow: estimate X` | `.task-flow/guides/CODEX.md` |
|
|
42
|
+
| `task-flow: report X` | `.task-flow/guides/CODEX.md` |
|
|
42
43
|
| `task-flow: generate flow` | `.cursor/rules/task_generate_flow.mdc` |
|
|
43
|
-
| Implementing code | Checklist `.cursor/rules/coding_standards.mdc` · depth: `.task-flow/
|
|
44
|
+
| Implementing code | Checklist `.cursor/rules/coding_standards.mdc` · depth: `.task-flow/guides/coding-standards-full.md` (sections only) |
|
|
44
45
|
|
|
45
46
|
## Sync (embedded)
|
|
46
47
|
|
|
@@ -70,7 +71,7 @@ Leia AGENTS.md. Execute task-flow: sync.
|
|
|
70
71
|
```
|
|
71
72
|
|
|
72
73
|
```
|
|
73
|
-
Leia AGENTS.md e .task-flow/CODEX.md (Run). task-flow: run next 3.
|
|
74
|
+
Leia AGENTS.md e .task-flow/guides/CODEX.md (Run). task-flow: run next 3.
|
|
74
75
|
```
|
|
75
76
|
|
|
76
77
|
```
|
|
@@ -79,4 +80,4 @@ task-flow: improve changes — git diff --name-only HEAD, audite só esses arqui
|
|
|
79
80
|
|
|
80
81
|
## Other platforms
|
|
81
82
|
|
|
82
|
-
Claude: `CLAUDE.md` + `.claude/skills/`. Cursor: `.cursor/rules/`. Index: `.task-flow/AI-PLATFORMS.md`.
|
|
83
|
+
Claude: `CLAUDE.md` + `.claude/skills/`. Cursor: `.cursor/rules/`. Index: `.task-flow/guides/AI-PLATFORMS.md`.
|
package/CLAUDE.md
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
| Audit repo | `/task-flow-audit` |
|
|
22
22
|
| Audit diff only | `/task-flow-improve-changes` |
|
|
23
23
|
| Verify done | `/task-flow-review` |
|
|
24
|
+
| Validate + fill gaps | `/task-flow-validate` |
|
|
24
25
|
| Refactor task code | `/task-flow-refactor` |
|
|
25
26
|
| Estimate hours | `/task-flow-estimate` |
|
|
26
27
|
| Implementation report | `/task-flow-report` |
|
|
@@ -33,8 +34,8 @@ Natural language `task-flow: …` works the same. Details: [.task-flow/README.md
|
|
|
33
34
|
## Anti-patterns (save context)
|
|
34
35
|
|
|
35
36
|
- Prefer **`/task-flow-run`** (or `@task-flow-run`) for executing subtasks — avoid `@task_work` plus duplicate `.cursor/rules/task_work.mdc` in the same turn.
|
|
36
|
-
- Do **not** load `.task-flow/
|
|
37
|
-
- Cursor users: see [.task-flow/CURSOR.md](.task-flow/CURSOR.md) for always-on vs skills (`@task-flow-*`).
|
|
37
|
+
- Do **not** load `.task-flow/guides/coding-standards-full.md` unless the user asks for depth; use `/rbin-coding-standards` checklist or `coding_standards.mdc` for normal implementation.
|
|
38
|
+
- Cursor users: see [.task-flow/guides/CURSOR.md](.task-flow/guides/CURSOR.md) for always-on vs skills (`@task-flow-*`).
|
|
38
39
|
|
|
39
40
|
## Git
|
|
40
41
|
|
|
@@ -42,7 +43,7 @@ Natural language `task-flow: …` works the same. Details: [.task-flow/README.md
|
|
|
42
43
|
|
|
43
44
|
## Graphify (optional)
|
|
44
45
|
|
|
45
|
-
During `/task-flow-run`, if `graphify-out/` exists, use `graphify query` before broad search. See [.task-flow/GRAPHIFY.md](.task-flow/GRAPHIFY.md).
|
|
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).
|
|
46
47
|
|
|
47
48
|
## Cursor rules (reference)
|
|
48
49
|
|
|
@@ -50,9 +51,9 @@ Full procedures also live in `.cursor/rules/` (shared with Cursor). Claude Code
|
|
|
50
51
|
|
|
51
52
|
## Other platforms
|
|
52
53
|
|
|
53
|
-
- Index: [.task-flow/AI-PLATFORMS.md](.task-flow/AI-PLATFORMS.md)
|
|
54
|
-
- Claude: [.task-flow/platforms/claude-code.md](.task-flow/platforms/claude-code.md)
|
|
55
|
-
- Codex: [AGENTS.md](AGENTS.md) · [.task-flow/CODEX.md](.task-flow/CODEX.md)
|
|
54
|
+
- Index: [.task-flow/guides/AI-PLATFORMS.md](.task-flow/guides/AI-PLATFORMS.md)
|
|
55
|
+
- Claude: [.task-flow/guides/platforms/claude-code.md](.task-flow/guides/platforms/claude-code.md)
|
|
56
|
+
- Codex: [AGENTS.md](AGENTS.md) · [.task-flow/guides/CODEX.md](.task-flow/guides/CODEX.md)
|
|
56
57
|
|
|
57
58
|
## Models
|
|
58
59
|
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<a id="português"></a>
|
|
34
34
|
# 🇧🇷 Português
|
|
35
35
|
|
|
36
|
-
> **v1.
|
|
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).
|
|
37
37
|
|
|
38
38
|
## O Que É Este Projeto?
|
|
39
39
|
|
|
@@ -89,17 +89,17 @@ rbin-task-flow report <ids> # Gera relatório (ex: "1" ou "1,2" ou "all")
|
|
|
89
89
|
|
|
90
90
|
Após inicializar, use estes comandos na IA (Cursor/Claude/Codex) para gerenciar tarefas automaticamente.
|
|
91
91
|
|
|
92
|
-
**Otimizar por plataforma:** [.task-flow/AI-PLATFORMS.md](.task-flow/AI-PLATFORMS.md) · [Claude](.task-flow/platforms/claude-code.md) · [Cursor](.task-flow/platforms/cursor.md) · [Codex](.task-flow/platforms/codex.md) · [Graphify](.task-flow/GRAPHIFY.md)
|
|
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
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).
|
|
95
95
|
|
|
96
|
-
**Claude Code / Cursor skills (v1.20+):** `init` copia
|
|
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.
|
|
97
97
|
|
|
98
|
-
**Codex (v1.21+):** `AGENTS.md` com sync/run embutidos, `.task-flow/CODEX.md` sob demanda, `.codex/config.toml` (64 KiB).
|
|
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
|
-
**Cursor (v1.23+):** `task-flow-cursor.mdc` + `rbin-git-policy.mdc` (2 always-on) + skills — ver `.task-flow/CURSOR.md`.
|
|
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
|
|
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/`.
|
|
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
|
|
|
@@ -116,6 +116,7 @@ Após inicializar, use estes comandos na IA (Cursor/Claude/Codex) para gerenciar
|
|
|
116
116
|
| `task-flow: run X,Y` | **Completa** múltiplas tarefas | Executa tarefas separadas por vírgula (ex: `task-flow: run 10,11`) |
|
|
117
117
|
| `task-flow: run all` | **Completa** todas as tarefas | Executa todas as tarefas pendentes |
|
|
118
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
|
+
| `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 |
|
|
119
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`) |
|
|
120
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`) |
|
|
121
122
|
| `task-flow: report X` | **Documenta** implementação | Gera relatório detalhado (ex: `task-flow: report 1` ou `task-flow: report 10,11`) |
|
|
@@ -418,7 +419,7 @@ Para problemas ou perguntas:
|
|
|
418
419
|
<a id="english"></a>
|
|
419
420
|
# 🇬🇧 English
|
|
420
421
|
|
|
421
|
-
> **v1.
|
|
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).
|
|
422
423
|
|
|
423
424
|
## What Is This Project?
|
|
424
425
|
|
|
@@ -474,15 +475,15 @@ rbin-task-flow report <ids> # Generate report (e.g., "1" or "1,2" or "all")
|
|
|
474
475
|
|
|
475
476
|
After initializing, use these commands in your AI (Cursor/Claude/Codex) to automatically manage tasks.
|
|
476
477
|
|
|
477
|
-
**Per-platform optimization:** [index](.task-flow/AI-PLATFORMS.md) · [Claude](.task-flow/platforms/claude-code.md) · [Cursor](.task-flow/platforms/cursor.md) · [Codex](.task-flow/platforms/codex.md) · [Graphify](.task-flow/GRAPHIFY.md)
|
|
478
|
+
**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)
|
|
478
479
|
|
|
479
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).
|
|
480
481
|
|
|
481
|
-
**Claude / Cursor skills (v1.20+):** installs
|
|
482
|
+
**Claude / Cursor skills (v1.20+):** installs 15 skills — use `/task-flow-sync`, `/task-flow-run`, `/task-flow-validate`, etc.
|
|
482
483
|
|
|
483
|
-
**Codex (v1.21+):** optimized `AGENTS.md`, `.task-flow/CODEX.md`, `.codex/config.toml`.
|
|
484
|
+
**Codex (v1.21+):** optimized `AGENTS.md`, `.task-flow/guides/CODEX.md`, `.codex/config.toml`.
|
|
484
485
|
|
|
485
|
-
**Cursor (v1.23+):** 2 always-on rules +
|
|
486
|
+
**Cursor (v1.23+):** 2 always-on rules + 15 skills — `@task-flow-sync`, `@task-flow-run`, `@task-flow-validate`.
|
|
486
487
|
|
|
487
488
|
**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/`.
|
|
488
489
|
|
|
@@ -501,6 +502,7 @@ After initializing, use these commands in your AI (Cursor/Claude/Codex) to autom
|
|
|
501
502
|
| `task-flow: run X,Y` | **Complete** multiple tasks | Executes comma-separated tasks (e.g., `task-flow: run 10,11`) |
|
|
502
503
|
| `task-flow: run all` | **Complete** all tasks | Executes all pending tasks |
|
|
503
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
|
+
| `task-flow: validate` | **Validate** implementation and **fill gaps** | Deep audit: recheck done/pending, fix false done, append gaps to `tasks.input.txt`, then sync |
|
|
504
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`) |
|
|
505
507
|
| `task-flow: estimate X` | **Estimate** time for management | Calculates time estimate (e.g., `task-flow: estimate 1` or `task-flow: estimate 10,11`) |
|
|
506
508
|
| `task-flow: report X` | **Document** implementation | Generates detailed report (e.g., `task-flow: report 1` or `task-flow: report 10,11`) |
|
package/lib/codex.js
CHANGED
|
@@ -23,7 +23,7 @@ async function setupCodexIntegration(targetPath, options = {}) {
|
|
|
23
23
|
|
|
24
24
|
const codexWorkflows = path.join(targetPath, '.task-flow', 'CODEX.md');
|
|
25
25
|
if (fs.existsSync(codexWorkflows)) {
|
|
26
|
-
showInfo('Codex workflows: .task-flow/CODEX.md (read on demand)');
|
|
26
|
+
showInfo('Codex workflows: .task-flow/guides/CODEX.md (read on demand)');
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
showInfo('Codex entry: AGENTS.md — embedded sync/run + command table');
|
package/lib/cursor.js
CHANGED
|
@@ -20,7 +20,7 @@ async function setupCursorIntegration(targetPath, options = {}) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (fs.existsSync(cursorMd)) {
|
|
23
|
-
showInfo('Cursor guide: .task-flow/CURSOR.md');
|
|
23
|
+
showInfo('Cursor guide: .task-flow/guides/CURSOR.md');
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
const gitPolicy = path.join(targetPath, '.cursor', 'rules', 'rbin-git-policy.mdc');
|
package/lib/graphify.js
CHANGED
|
@@ -34,7 +34,7 @@ function demoteUpstreamGraphifyRule(targetPath) {
|
|
|
34
34
|
if (!content.includes('RBIN Task Flow')) {
|
|
35
35
|
const notice = [
|
|
36
36
|
'',
|
|
37
|
-
'- **RBIN Task Flow:** This file was set to `alwaysApply: false` by `rbin-task-flow` to avoid competing with Task Flow rules. Use [.cursor/rules/graphify-task-flow.mdc](mdc:.cursor/rules/graphify-task-flow.mdc) and [.task-flow/GRAPHIFY.md](mdc:.task-flow/GRAPHIFY.md) instead.',
|
|
37
|
+
'- **RBIN Task Flow:** This file was set to `alwaysApply: false` by `rbin-task-flow` to avoid competing with Task Flow rules. Use [.cursor/rules/graphify-task-flow.mdc](mdc:.cursor/rules/graphify-task-flow.mdc) and [.task-flow/guides/GRAPHIFY.md](mdc:.task-flow/guides/GRAPHIFY.md) instead.',
|
|
38
38
|
'',
|
|
39
39
|
].join('\n');
|
|
40
40
|
content = content.trimEnd() + notice;
|
|
@@ -108,7 +108,7 @@ async function setupGraphifyIntegration(targetPath, options = {}) {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
showInfo('Graphify + Task Flow guide: .task-flow/GRAPHIFY.md');
|
|
111
|
+
showInfo('Graphify + Task Flow guide: .task-flow/guides/GRAPHIFY.md');
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
module.exports = {
|
package/lib/install.js
CHANGED
|
@@ -203,6 +203,58 @@ async function copyConfigs(targetPath, options = {}) {
|
|
|
203
203
|
await copyTaskFlow(targetPath, { update: isUpdate, reset: isReset });
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
+
const LEGACY_TASK_FLOW_ROOT_FILES = [
|
|
207
|
+
'GRAPHIFY.md',
|
|
208
|
+
'CODEX.md',
|
|
209
|
+
'CURSOR.md',
|
|
210
|
+
'AI-PLATFORMS.md',
|
|
211
|
+
'OPTIMIZATION-PLAN.md',
|
|
212
|
+
'OPTIMIZATION-IMPLEMENTATION-TASKS.md',
|
|
213
|
+
];
|
|
214
|
+
|
|
215
|
+
async function migrateLegacyTaskFlowLayout(taskFlowDest) {
|
|
216
|
+
await fs.ensureDir(path.join(taskFlowDest, 'guides', 'reports'));
|
|
217
|
+
|
|
218
|
+
for (const file of LEGACY_TASK_FLOW_ROOT_FILES) {
|
|
219
|
+
const legacyPath = path.join(taskFlowDest, file);
|
|
220
|
+
if (fs.existsSync(legacyPath)) {
|
|
221
|
+
await fs.remove(legacyPath);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const legacyDocs = path.join(taskFlowDest, 'docs');
|
|
226
|
+
if (fs.existsSync(legacyDocs)) {
|
|
227
|
+
const standardsSrc = path.join(legacyDocs, 'coding-standards-full.md');
|
|
228
|
+
const standardsDest = path.join(taskFlowDest, 'guides', 'coding-standards-full.md');
|
|
229
|
+
if (fs.existsSync(standardsSrc) && !fs.existsSync(standardsDest)) {
|
|
230
|
+
await fs.move(standardsSrc, standardsDest);
|
|
231
|
+
}
|
|
232
|
+
const reportsDest = path.join(taskFlowDest, 'guides', 'reports');
|
|
233
|
+
const entries = await fs.readdir(legacyDocs);
|
|
234
|
+
for (const entry of entries) {
|
|
235
|
+
if (entry.startsWith('task-') && entry.endsWith('.md')) {
|
|
236
|
+
await fs.move(path.join(legacyDocs, entry), path.join(reportsDest, entry), {
|
|
237
|
+
overwrite: true,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
await fs.remove(legacyDocs);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
const legacyPlatforms = path.join(taskFlowDest, 'platforms');
|
|
245
|
+
const platformsDest = path.join(taskFlowDest, 'guides', 'platforms');
|
|
246
|
+
if (fs.existsSync(legacyPlatforms)) {
|
|
247
|
+
await fs.ensureDir(platformsDest);
|
|
248
|
+
const entries = await fs.readdir(legacyPlatforms);
|
|
249
|
+
for (const entry of entries) {
|
|
250
|
+
await fs.move(path.join(legacyPlatforms, entry), path.join(platformsDest, entry), {
|
|
251
|
+
overwrite: true,
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
await fs.remove(legacyPlatforms);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
206
258
|
async function copyTaskFlow(targetPath, options = {}) {
|
|
207
259
|
const isUpdate = options.update || false;
|
|
208
260
|
const isReset = options.reset || false;
|
|
@@ -241,6 +293,8 @@ async function copyTaskFlow(targetPath, options = {}) {
|
|
|
241
293
|
});
|
|
242
294
|
|
|
243
295
|
await fs.ensureDir(path.join(taskFlowDest, 'contexts'));
|
|
296
|
+
await fs.ensureDir(path.join(taskFlowDest, 'guides', 'reports'));
|
|
297
|
+
await migrateLegacyTaskFlowLayout(taskFlowDest);
|
|
244
298
|
|
|
245
299
|
const flowPath = path.join(taskFlowDest, 'tasks.flow.md');
|
|
246
300
|
if (!fs.existsSync(flowPath)) {
|
package/lib/report.js
CHANGED
|
@@ -7,7 +7,7 @@ const { parseTaskIds } = require('./utils');
|
|
|
7
7
|
async function generateReport(taskIdsInput, targetPath = process.cwd()) {
|
|
8
8
|
const tasksPath = path.join(targetPath, '.task-flow/.internal/tasks.json');
|
|
9
9
|
const statusPath = path.join(targetPath, '.task-flow/.internal/status.json');
|
|
10
|
-
const docsDir = path.join(targetPath, '.task-flow/
|
|
10
|
+
const docsDir = path.join(targetPath, '.task-flow/guides/reports');
|
|
11
11
|
|
|
12
12
|
if (!fs.existsSync(tasksPath)) {
|
|
13
13
|
console.log(chalk.red('❌ Tasks file not found. Run "task-flow: sync" first.'));
|
package/lib/utils.js
CHANGED
|
@@ -77,8 +77,8 @@ function showNextSteps(targetPath) {
|
|
|
77
77
|
console.log(chalk.blue(' 2.'), 'Sync:', chalk.cyan('task-flow: sync'), chalk.gray('· Cursor/Claude: @task-flow-sync or /task-flow-sync'));
|
|
78
78
|
console.log(chalk.blue(' 3.'), 'Run:', chalk.cyan('task-flow: run next X'), chalk.gray('· @task-flow-run'));
|
|
79
79
|
console.log(chalk.blue(' 4.'), 'Check status:', chalk.cyan('task-flow: status'));
|
|
80
|
-
console.log(chalk.blue(' 5.'), 'Codex:', chalk.gray('AGENTS.md + .task-flow/CODEX.md on demand'));
|
|
81
|
-
console.log(chalk.blue(' 6.'), 'Optional Graphify:', chalk.yellow('rbin-task-flow init --graphify'), chalk.gray('— .task-flow/GRAPHIFY.md'));
|
|
80
|
+
console.log(chalk.blue(' 5.'), 'Codex:', chalk.gray('AGENTS.md + .task-flow/guides/CODEX.md on demand'));
|
|
81
|
+
console.log(chalk.blue(' 6.'), 'Optional Graphify:', chalk.yellow('rbin-task-flow init --graphify'), chalk.gray('— .task-flow/guides/GRAPHIFY.md'));
|
|
82
82
|
console.log(chalk.cyan('═'.repeat(60)));
|
|
83
83
|
console.log(chalk.blue('\n See'), chalk.yellow('.task-flow/README.md'), chalk.blue('for all available commands\n'));
|
|
84
84
|
}
|
package/package.json
CHANGED
|
File without changes
|