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.
Files changed (41) hide show
  1. package/.claude/skills/rbin-coding-standards/SKILL.md +1 -1
  2. package/.claude/skills/rbin-coding-standards/reference.md +1 -1
  3. package/.claude/skills/task-flow-audit/SKILL.md +1 -1
  4. package/.claude/skills/task-flow-improve-changes/SKILL.md +1 -1
  5. package/.claude/skills/task-flow-report/SKILL.md +2 -2
  6. package/.claude/skills/task-flow-sync/SKILL.md +1 -1
  7. package/.claude/skills/task-flow-think/SKILL.md +2 -0
  8. package/.claude/skills/task-flow-validate/SKILL.md +22 -0
  9. package/.cursor/rules/coding_standards.mdc +2 -2
  10. package/.cursor/rules/graphify-task-flow.mdc +3 -2
  11. package/.cursor/rules/task-flow-cursor.mdc +6 -4
  12. package/.cursor/rules/task-flow-sync.mdc +1 -1
  13. package/.cursor/rules/task_analysis.mdc +3 -1
  14. package/.cursor/rules/task_audit.mdc +2 -2
  15. package/.cursor/rules/task_execution.mdc +1 -0
  16. package/.cursor/rules/task_improve_changes.mdc +1 -1
  17. package/.cursor/rules/task_report.mdc +5 -5
  18. package/.cursor/rules/task_review.mdc +1 -0
  19. package/.cursor/rules/task_validate.mdc +99 -0
  20. package/.task-flow/README.md +36 -31
  21. package/.task-flow/{AI-PLATFORMS.md → guides/AI-PLATFORMS.md} +6 -6
  22. package/.task-flow/{CODEX.md → guides/CODEX.md} +17 -3
  23. package/.task-flow/{CURSOR.md → guides/CURSOR.md} +3 -2
  24. package/.task-flow/{GRAPHIFY.md → guides/GRAPHIFY.md} +4 -4
  25. package/.task-flow/{OPTIMIZATION-IMPLEMENTATION-TASKS.md → guides/OPTIMIZATION-IMPLEMENTATION-TASKS.md} +5 -5
  26. package/.task-flow/{OPTIMIZATION-PLAN.md → guides/OPTIMIZATION-PLAN.md} +3 -3
  27. package/.task-flow/{platforms → guides/platforms}/claude-code.md +1 -1
  28. package/.task-flow/{platforms → guides/platforms}/codex.md +6 -5
  29. package/.task-flow/{platforms → guides/platforms}/cursor.md +2 -2
  30. package/.task-flow/guides/reports/.gitkeep +0 -0
  31. package/AGENTS.md +12 -11
  32. package/CLAUDE.md +7 -6
  33. package/README.md +13 -11
  34. package/lib/codex.js +1 -1
  35. package/lib/cursor.js +1 -1
  36. package/lib/graphify.js +2 -2
  37. package/lib/install.js +54 -0
  38. package/lib/report.js +1 -1
  39. package/lib/utils.js +2 -2
  40. package/package.json +1 -1
  41. /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/docs/coding-standards-full.md` — never paste or load the whole file.
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/docs/coding-standards-full.md` | Nest/Prisma detail, long examples, ESLint table, DataHandler, providers |
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/docs/coding-standards-full.md` only for deep dives — not the whole file.
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/docs/coding-standards-full.md` — relevant sections only if a category needs depth.
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/docs/task-X-implementation.md` using project template.
13
- 4. Create `.task-flow/docs/` if missing.
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/docs/coding-standards-full.md`.
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/docs/coding-standards-full.md](mdc:.task-flow/docs/coding-standards-full.md) — **sections only**; never paste entire file into chat.
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/docs/coding-standards-full.md) only for deep dives or user-requested depth.
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: 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/docs/coding-standards-full.md) only if user asks for depth.
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/docs/coding-standards-full.md)
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/docs/coding-standards-full.md) — do not load the entire file unless the user asks for depth.
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/docs/coding-standards-full.md) — not the whole file unless the user requests depth.
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/docs/coding-standards-full.md) only if needed), but **restricted to files that were changed and not yet committed**.
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/docs/task-X-implementation.md`
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/docs/task-X-implementation.md`
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/docs/` if it doesn't exist
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/docs/task-1-implementation.md
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/docs/` directory
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.
@@ -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) · [platforms/codex.md](platforms/codex.md) |
13
- | Cursor | [CURSOR.md](CURSOR.md) · [platforms/cursor.md](platforms/cursor.md) |
14
- | Otimização (tokens / roadmap) | [OPTIMIZATION-PLAN.md](OPTIMIZATION-PLAN.md) |
15
- | Subtarefas para implementar otimização | [OPTIMIZATION-IMPLEMENTATION-TASKS.md](OPTIMIZATION-IMPLEMENTATION-TASKS.md) |
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](.cursor/rules/coding_standards.mdc). Deep reference: [docs/coding-standards-full.md](docs/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.
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
- **Report includes:**
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` → Generates report for task 1
142
- - `task-flow: report 10,11` → Generates reports for tasks 10 and 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/docs/coding-standards-full.md` | on demand | on demand (sections only) | on demand |
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/` | ✅ (14 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/docs/task-X-implementation.md`.
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/docs/coding-standards-full.md` only.
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/docs/coding-standards-full.md` — **sections only**, never whole file.
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 [.task-flow/platforms/claude-code.md](platforms/claude-code.md).
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/docs/coding-standards-full.md`.
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/docs/coding-standards-full.md` para detalhes.
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/docs/coding-standards-full.md` seções relevantes — **não** colar arquivo inteiro no chat.
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/docs/coding-standards-full.md` sob demanda.
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/docs/coding-standards-full.md` com conteúdo atual | [x] |
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/docs/coding-standards-full.md # conteúdo atual (exemplos, Nest, RHF…)
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: [../README.md](../README.md)
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/docs/coding-standards-full.md` (só seções necessárias).
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/docs/coding-standards-full.md` — seções sob demanda; nunca colar inteiro no chat.
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: [../README.md](../README.md)
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/docs/coding-standards-full.md` if needed) |
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/docs/coding-standards-full.md` (sections only) |
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/docs/coding-standards-full.md` unless the user asks for depth; use `/rbin-coding-standards` checklist or `coding_standards.mdc` for normal implementation.
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.23.1** — Graphify `--graphify` usa `claude-cli` por padrão (sem API key extra). De **1.23.0**: `npm install -g rbin-task-flow@1.23.1` e `rbin-task-flow update`. [CHANGELOG](CHANGELOG.md) · [Publicação](RELEASE-1.23.1.md).
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 14 skills para `.claude/skills/` e `.cursor/skills/` — use `/task-flow-sync`, `/task-flow-run`, etc.
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 14 skills; workflows via `@task-flow-*` (sem `task_work`, `coding_standards` glob, etc.). `standard` (padrão) copia todas as regras `.cursor/rules/`.
102
+ **Perfil minimal:** `init --profile minimal` instala só as 2 regras always-on e as 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.23.1** — Graphify `--graphify` defaults to `claude-cli` (no separate API key). From **1.23.0**: `npm install -g rbin-task-flow@1.23.1` then `rbin-task-flow update`. [CHANGELOG](CHANGELOG.md) · [Release guide](RELEASE-1.23.1.md).
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 14 skills — use `/task-flow-sync`, `/task-flow-run`, etc.
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 + 14 skills — `@task-flow-sync`, `@task-flow-run`.
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/docs');
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rbin-task-flow",
3
- "version": "1.23.1",
3
+ "version": "1.25.0",
4
4
  "description": "AI-powered task management for Claude and Cursor",
5
5
  "main": "index.js",
6
6
  "bin": {