@bumpyclock/tasque-linux-x64-gnu 0.5.2 → 0.6.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.
@@ -16,9 +16,9 @@ Default day-to-day playbook.
16
16
  ## Session routine (default)
17
17
 
18
18
  ```bash
19
- tsq ready --lane planning
20
- tsq ready --lane coding
21
- tsq list --status blocked
19
+ tsq find ready --lane planning
20
+ tsq find ready --lane coding
21
+ tsq find blocked
22
22
  ```
23
23
 
24
24
  Pick one task; inspect context:
@@ -31,85 +31,102 @@ tsq show <id>
31
31
  ### 1) Capture new work
32
32
 
33
33
  ```bash
34
- tsq create "Implement <feature>" --kind feature -p 1 --needs-planning
35
- tsq create "Fix <bug>" --kind task -p 1 --needs-planning
34
+ tsq create "Implement <feature>" --kind feature -p 1 --needs-plan
35
+ tsq create "Fix <bug>" --kind task -p 1 --needs-plan
36
36
  ```
37
37
 
38
38
  Planning already done:
39
39
 
40
40
  ```bash
41
- tsq create "Implement <feature>" --planning planned
41
+ tsq create "Implement <feature>" --planned
42
42
  ```
43
43
 
44
- ### 2) Split parent into many children (single command)
44
+ ### 2) Split parent into many children
45
45
 
46
46
  ```bash
47
47
  tsq create --parent <parent-id> \
48
- --child "Design API contract" \
49
- --child "Implement service logic" \
50
- --child "Add regression tests"
48
+ "Design API contract" \
49
+ "Implement service logic" \
50
+ "Add regression tests"
51
51
  ```
52
52
 
53
53
  Shared defaults for all children:
54
54
 
55
55
  ```bash
56
- tsq create --parent <parent-id> --kind task -p 2 --planning planned \
57
- --child "Wire CLI args" \
58
- --child "Update docs" \
59
- --child "Add integration tests"
56
+ tsq create --parent <parent-id> --kind task -p 2 --planned \
57
+ "Wire CLI args" \
58
+ "Update docs" \
59
+ "Add integration tests"
60
60
  ```
61
61
 
62
62
  Safe reruns without duplicate children:
63
63
 
64
64
  ```bash
65
65
  tsq create --parent <parent-id> --ensure \
66
- --child "Wire CLI args" \
67
- --child "Update docs" \
68
- --child "Add integration tests"
66
+ "Wire CLI args" \
67
+ "Update docs" \
68
+ "Add integration tests"
69
69
  ```
70
70
 
71
+ Batch from `tasks.md`:
72
+
73
+ ```md
74
+ - Add parser tests
75
+ - Cover nested task hierarchy
76
+ - Cover invalid indentation
77
+ - Wire CLI command
78
+ - Update skill docs
79
+ ```
80
+
81
+ ```bash
82
+ tsq create --parent <parent-id> --from-file tasks.md
83
+ ```
84
+
85
+ Use `tsq create --parent <id> --from-file tasks.md` for many tasks.
86
+
71
87
  ### 3) Planning handoff -> coding
72
88
 
73
89
  ```bash
74
- tsq spec attach <id> --text "## Plan\n...\n## Acceptance\n..."
75
- tsq update <id> --planning planned
76
- tsq update <id> --claim --assignee <name>
77
- tsq update <id> --status in_progress
90
+ tsq spec <id> --text "## Plan\n...\n## Acceptance\n..."
91
+ tsq planned <id>
92
+ tsq claim <id> --assignee <name> --start
78
93
  ```
79
94
 
95
+ Use `tsq spec <id> --show` when you need spec markdown from sync worktree.
96
+
80
97
  ### 4) Model deps for parallel agents
81
98
 
82
99
  Hard blocker (changes readiness):
83
100
 
84
101
  ```bash
85
- tsq dep add <child-id> <blocker-id> --type blocks
102
+ tsq block <child-id> by <blocker-id>
86
103
  ```
87
104
 
88
105
  Soft ordering only:
89
106
 
90
107
  ```bash
91
- tsq dep add <later-id> <earlier-id> --type starts_after
108
+ tsq order <later-id> after <earlier-id>
92
109
  ```
93
110
 
94
111
  Check actionable tasks:
95
112
 
96
113
  ```bash
97
- tsq ready --lane coding
98
- tsq ready --lane planning
114
+ tsq find ready --lane coding
115
+ tsq find ready --lane planning
99
116
  ```
100
117
 
101
118
  ### 5) Capture discovered follow-up work
102
119
 
103
120
  ```bash
104
- tsq create "Handle edge case <x>" --discovered-from <current-id> --needs-planning
105
- tsq link add <new-id> <current-id> --type relates_to
121
+ tsq create "Handle edge case <x>" --discovered-from <current-id> --needs-plan
122
+ tsq relate <new-id> <current-id>
106
123
  ```
107
124
 
108
125
  ### 5b) Idempotent root/parent create for automation
109
126
 
110
127
  ```bash
111
128
  tsq create "Implement auth module" --ensure
112
- tsq create --parent <parent-id> --child "Add tests" --ensure
129
+ tsq create --parent <parent-id> "Add tests" --ensure
113
130
  ```
114
131
 
115
132
  `--ensure` returns existing task when same normalized title already exists under the same parent.
@@ -117,30 +134,30 @@ tsq create --parent <parent-id> --child "Add tests" --ensure
117
134
  ### 6) Park / unpark work
118
135
 
119
136
  ```bash
120
- tsq update <id> --status deferred
121
- tsq list --status deferred
122
- tsq update <id> --status open
137
+ tsq defer <id> --note "waiting"
138
+ tsq find deferred
139
+ tsq open <id>
123
140
  ```
124
141
 
125
142
  ### 7) Resolve duplicate/superseded work
126
143
 
127
144
  ```bash
128
- tsq duplicate <id> --of <canonical-id> --reason "same root issue"
145
+ tsq duplicate <id> of <canonical-id> --note "same root issue"
129
146
  tsq duplicates
130
147
  tsq merge <source-id...> --into <target-id> --dry-run
131
148
  tsq merge <source-id...> --into <target-id> --force
132
- tsq supersede <old-id> --with <new-id> --reason "replaced approach"
149
+ tsq supersede <old-id> with <new-id> --note "replaced approach"
133
150
  ```
134
151
 
135
152
  ### 8) Close / report
136
153
 
137
154
  ```bash
138
- tsq update <id> --status closed
155
+ tsq done <id> --note "verified"
139
156
  tsq history <id> --limit 20
140
- tsq list --tree
157
+ tsq find open --tree
141
158
  ```
142
159
 
143
- Agent/tool handoff: add `--json`.
160
+ Use `--format json` only when scripting/parsing; human output is fine for inspection.
144
161
 
145
162
  ## Built-in task authoring checklist
146
163
 
@@ -164,10 +181,10 @@ Agent/tool handoff: add `--json`.
164
181
  ### Practical authoring starter
165
182
 
166
183
  ```bash
167
- tsq create "<title>" --kind task -p 2 --needs-planning
168
- tsq spec attach <id> --text "<markdown spec>"
169
- tsq dep add <child> <blocker> --type blocks
170
- tsq link add <src> <dst> --type relates_to
184
+ tsq create "<title>" --kind task -p 2 --needs-plan
185
+ tsq spec <id> --text "<markdown spec>"
186
+ tsq block <child> by <blocker>
187
+ tsq relate <src> <dst>
171
188
  ```
172
189
 
173
190
  ## Required habits
@@ -175,7 +192,7 @@ tsq link add <src> <dst> --type relates_to
175
192
  - Keep lifecycle `status` and `planning_state` separate.
176
193
  - Use deps to make parallel execution explicit.
177
194
  - Create follow-up tasks; avoid chat TODOs.
178
- - Prefer `--json` for automation.
195
+ - Prefer `--format json` for automation; inspect with human output.
179
196
  - Use `--ensure` in scripts to prevent duplicate creates on rerun.
180
197
 
181
198
  ## Read when needed
@@ -14,37 +14,57 @@ Use `--sync-branch <name>` or `--worktree-name <name>` to choose another branch/
14
14
  and create the worktree on first use. `tsq sync` pushes the sync branch to `origin`
15
15
  and sets upstream automatically when needed. Non-git directories use local `.tasque/` storage.
16
16
 
17
- - `tsq create [<title>] [--child <title> ...] [--kind ...] [-p ...] [--parent <id>] [--description <text>] [--external-ref <ref>] [--discovered-from <id>] [--planning <needs_planning|planned>] [--needs-planning] [--ensure] [--id <tsq-xxxxxxxx>] [--body-file <path|->]`
18
- - `tsq show <id>`
19
- - `tsq list [--status ...] [--assignee ...] [--unassigned] [--external-ref <ref>] [--discovered-from <id>] [--kind ...] [--label ...] [--label-any ...] [--created-after <iso>] [--updated-after <iso>] [--closed-after <iso>] [--id <id,...>] [--planning <needs_planning|planned>] [--dep-type <blocks|starts_after>] [--dep-direction <in|out|any>] [--tree] [--full]`
20
- - `tsq search <query>`
21
- - `tsq update <id> [--title ...] [--description ...] [--clear-description] [--status ...] [--priority ...] [--external-ref <ref>] [--clear-external-ref] [--discovered-from <id>] [--clear-discovered-from] [--planning <needs_planning|planned>]`
22
- - `tsq update <id> --claim [--assignee <a>] [--require-spec]`
23
- - `tsq close <id...> [--reason <text>]`
24
- - `tsq reopen <id...>`
25
- - `tsq ready [--lane <planning|coding>]`
17
+ - `tsq create <title...> [--kind ...] [-p ...] [--parent <id>] [--from-file tasks.md] [--description <text>] [--external-ref <ref>] [--discovered-from <id>] [--planned|--needs-plan] [--ensure] [--id <tsq-xxxxxxxx>] [--body-file <path|->]`
18
+
19
+ `tasks.md` supports nested two-space bullets:
20
+
21
+ ```md
22
+ - Parent task
23
+ - Child task
24
+ - Grandchild task
25
+ - [ ] Another parent task
26
+ ```
27
+
28
+ - `tsq show <id> [--with-spec]`
29
+ - `tsq find ready [--lane <planning|coding>] [--assignee <name>] [--unassigned] [--kind ...] [--label ...] [--planning <needs_planning|planned>] [--tree] [--full]`
30
+ - `tsq find <blocked|open|in-progress|deferred|done|canceled> [filters...] [--tree] [--full]`
31
+ - `tsq find search <query> [--full]`
32
+ - `tsq edit <id> [--title ...] [--description ...] [--clear-description] [--priority ...] [--external-ref <ref>] [--clear-external-ref] [--discovered-from <id>] [--clear-discovered-from]`
33
+ - `tsq claim <id> [--assignee <a>] [--start] [--require-spec]`
34
+ - `tsq assign <id> --assignee <a>`
35
+ - `tsq start <id>`
36
+ - `tsq planned <id>`
37
+ - `tsq needs-plan <id>`
38
+ - `tsq open <id>`
39
+ - `tsq blocked <id>`
40
+ - `tsq defer <id> [--note <text>]`
41
+ - `tsq done <id...> [--note <text>]`
42
+ - `tsq reopen <id...> [--note <text>]`
43
+ - `tsq cancel <id...> [--note <text>]`
26
44
 
27
45
  ## Dependencies and relations
28
46
 
29
- - `tsq dep add <child> <blocker> [--type <blocks|starts_after>]`
30
- - `tsq dep remove <child> <blocker> [--type <blocks|starts_after>]`
31
- - `tsq dep tree <id> [--direction <up|down|both>] [--depth <n>]`
32
- - `tsq link add <src> <dst> --type <relates_to|replies_to|duplicates|supersedes>`
33
- - `tsq link remove <src> <dst> --type <relates_to|replies_to|duplicates|supersedes>`
34
- - `tsq duplicate <id> --of <canonical-id> [--reason <text>]`
47
+ - `tsq block <task> by <blocker>`
48
+ - `tsq unblock <task> by <blocker>`
49
+ - `tsq order <later> after <earlier>`
50
+ - `tsq unorder <later> after <earlier>`
51
+ - `tsq deps <id> [--direction <up|down|both>] [--depth <n>]`
52
+ - `tsq relate <src> <dst>`
53
+ - `tsq unrelate <src> <dst>`
54
+ - `tsq duplicate <id> of <canonical-id> [--note <text>]`
35
55
  - `tsq duplicates [--limit <n>]`
36
56
  - `tsq merge <source-id...> --into <target-id> [--reason <text>] [--force] [--dry-run]`
37
- - `tsq supersede <old-id> --with <new-id> [--reason <text>]`
57
+ - `tsq supersede <old-id> with <new-id> [--note <text>]`
38
58
 
39
59
  ## Specs, notes, labels, history
40
60
 
41
- - `tsq spec attach <id> [source] [--file <path> | --stdin | --text <markdown>]`
42
- - `tsq spec check <id>`
43
- - `tsq note add <id> <text>`
44
- - `tsq note list <id>`
45
- - `tsq label add <id> <label>`
46
- - `tsq label remove <id> <label>`
47
- - `tsq label list`
61
+ - `tsq spec <id> [--file <path> | --stdin | --text <markdown> | --show | --check] [--force]`
62
+ - `tsq note <id> <text>`
63
+ - `tsq note <id> --stdin`
64
+ - `tsq notes <id>`
65
+ - `tsq label <id> <label>`
66
+ - `tsq unlabel <id> <label>`
67
+ - `tsq labels`
48
68
  - `tsq history <id> [--limit <n>] [--type <event-type>] [--actor <name>] [--since <iso>]`
49
69
 
50
70
  ## Reporting and maintenance
@@ -63,6 +83,7 @@ and sets upstream automatically when needed. Non-git directories use local `.tas
63
83
 
64
84
  ## Global options and status alias
65
85
 
66
- - Add `--json` to any command for stable machine output.
86
+ - Use `--format json` when scripting/parsing.
87
+ - `--json` remains shorthand for `--format json`.
67
88
  - Add `--exact-id` to disable fuzzy id matching.
68
89
  - Status alias: `done` maps to `closed`.
@@ -4,7 +4,8 @@ Read when: automating `tsq` or reasoning about storage/recovery behavior.
4
4
 
5
5
  ## Stable machine output
6
6
 
7
- Use `--json` on any command.
7
+ Use `--format json` only when scripting/parsing. Human output is fine for inspection.
8
+ `--json` remains shorthand for `--format json`.
8
9
 
9
10
  Success envelope:
10
11
 
@@ -21,22 +21,22 @@ New tasks default to `planning_state: "needs_planning"`. Legacy tasks (created b
21
21
 
22
22
  The `deferred` status is an active-but-parked lifecycle state. Tasks with `status: deferred`:
23
23
 
24
- - Are **not ready** (excluded from the `ready` command output)
24
+ - Are **not ready** (excluded from `tsq find ready` output)
25
25
  - **Are** included in `stale` scans (they can become stale like any non-terminal task)
26
26
  - Can transition to any non-terminal status (`open`, `in_progress`, `blocked`)
27
27
  - Are **not terminal** — unlike `closed` or `canceled`, deferral is reversible
28
28
 
29
29
  Use `deferred` when a task is valid but not actionable right now (e.g., waiting on external input, deprioritized, or parked for a future iteration).
30
30
 
31
- ## Lane-Aware Ready
31
+ ## Lane-Aware Find Ready
32
32
 
33
- The `ready` command supports lane filtering to separate planning work from coding work:
33
+ `tsq find ready` supports lane filtering to separate planning work from coding work:
34
34
 
35
35
  | Command | Returns |
36
36
  |---|---|
37
- | `tsq ready` | All ready tasks (both planning and coding) |
38
- | `tsq ready --lane planning` | Ready tasks with `planning_state` = `needs_planning` (or unset) |
39
- | `tsq ready --lane coding` | Ready tasks with `planning_state` = `planned` |
37
+ | `tsq find ready` | All ready tasks (both planning and coding) |
38
+ | `tsq find ready --lane planning` | Ready tasks with `planning_state` = `needs_planning` (or unset) |
39
+ | `tsq find ready --lane coding` | Ready tasks with `planning_state` = `planned` |
40
40
 
41
41
  A task is "ready" when:
42
42
  - Its status is `open` or `in_progress`
@@ -51,49 +51,48 @@ Lane filtering is applied on top of the standard ready check.
51
51
 
52
52
  ```bash
53
53
  # Explicit planning state
54
- tsq create "Design auth module" --planning needs_planning
55
- tsq create "Design auth module" --needs-planning # shorthand for --planning needs_planning
54
+ tsq create "Design auth module" --needs-plan
56
55
 
57
56
  # Mark as already planned
58
- tsq create "Implement auth module" --planning planned
57
+ tsq create "Implement auth module" --planned
59
58
  ```
60
59
 
61
60
  ### Filter by planning state
62
61
 
63
62
  ```bash
64
- tsq list --planning needs_planning # tasks that still need planning
65
- tsq list --planning planned # tasks with planning complete
63
+ tsq find open --planning needs_planning # tasks that still need planning
64
+ tsq find open --planning planned # tasks with planning complete
66
65
  ```
67
66
 
68
67
  ### Update planning state
69
68
 
70
69
  ```bash
71
- tsq update <id> --planning planned # mark planning as done
72
- tsq update <id> --planning needs_planning # revert to needs-planning
70
+ tsq planned <id> # mark planning as done
71
+ tsq needs-plan <id> # revert to needs-planning
73
72
  ```
74
73
 
75
74
  ### Lane-aware ready
76
75
 
77
76
  ```bash
78
- tsq ready # all ready tasks
79
- tsq ready --lane planning # what needs planning?
80
- tsq ready --lane coding # what's ready to code?
81
- tsq ready --lane coding --json # machine-readable output
77
+ tsq find ready # all ready tasks
78
+ tsq find ready --lane planning # what needs planning?
79
+ tsq find ready --lane coding # what's ready to code?
80
+ tsq --format json find ready --lane coding # machine-readable output
82
81
  ```
83
82
 
84
83
  ### Deferred status
85
84
 
86
85
  ```bash
87
- tsq update <id> --status deferred # park a task
88
- tsq list --status deferred # see parked tasks
89
- tsq update <id> --status open # un-park a task
86
+ tsq defer <id> --note "waiting" # park a task
87
+ tsq find deferred # see parked tasks
88
+ tsq open <id> # un-park a task
90
89
  ```
91
90
 
92
91
  ## Typical Workflow
93
92
 
94
93
  1. Create tasks — they start as `open` + `needs_planning`
95
- 2. Run `tsq ready --lane planning` to find tasks needing planning work
96
- 3. Do planning; mark complete with `tsq update <id> --planning planned`
97
- 4. Run `tsq ready --lane coding` to find tasks ready for implementation
94
+ 2. Run `tsq find ready --lane planning` to find tasks needing planning work
95
+ 3. Do planning; mark complete with `tsq planned <id>`
96
+ 4. Run `tsq find ready --lane coding` to find tasks ready for implementation
98
97
  5. Claim and work on tasks normally
99
- 6. Use `tsq update <id> --status deferred` to park tasks that are valid but not actionable yet
98
+ 6. Use `tsq defer <id>` to park tasks that are valid but not actionable yet
@@ -22,8 +22,21 @@ Read when: creating/refining tasks or splitting work for parallel execution.
22
22
  ## Practical starter flow
23
23
 
24
24
  ```bash
25
- tsq create "<title>" --kind task -p 2 --needs-planning
26
- tsq spec attach <id> --text "<markdown spec>"
27
- tsq dep add <child> <blocker> --type blocks
28
- tsq link add <src> <dst> --type relates_to
25
+ tsq create "<title>" --kind task -p 2 --needs-plan
26
+ tsq spec <id> --text "<markdown spec>"
27
+ tsq block <child> by <blocker>
28
+ tsq relate <src> <dst>
29
+ ```
30
+
31
+ For many tasks, write `tasks.md` with nested two-space bullets:
32
+
33
+ ```md
34
+ - Parent task
35
+ - Child task
36
+ - Grandchild task
37
+ - [ ] Another parent task
38
+ ```
39
+
40
+ ```bash
41
+ tsq create --parent <id> --from-file tasks.md
29
42
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bumpyclock/tasque-linux-x64-gnu",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "Tasque binary for Linux x64 (glibc)",
5
5
  "license": "MIT",
6
6
  "repository": {
package/tsq CHANGED
Binary file