@winton979/task-cli 1.1.1 → 1.2.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 winton979
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -73,6 +73,8 @@ Use `task doctor` to check whether the required directories exist, whether manag
73
73
  clarify + brief + implement + validate
74
74
 
75
75
  /task-review
76
+ or
77
+ /task-cancel
76
78
  ```
77
79
 
78
80
  ### Larger Requirement
@@ -85,6 +87,8 @@ TASK_READY
85
87
  /task-implement
86
88
 
87
89
  /task-review
90
+ or
91
+ /task-cancel
88
92
  ```
89
93
 
90
94
  ### Bug Fix
@@ -97,6 +101,8 @@ BUG_READY
97
101
  /bug-fix
98
102
 
99
103
  /bug-review
104
+ or
105
+ /bug-cancel
100
106
  ```
101
107
 
102
108
  ---
@@ -109,12 +115,14 @@ BUG_READY
109
115
  * task-explore
110
116
  * task-implement
111
117
  * task-review
118
+ * task-cancel
112
119
 
113
120
  ### Bug Workflow
114
121
 
115
122
  * bug-explore
116
123
  * bug-fix
117
124
  * bug-review
125
+ * bug-cancel
118
126
 
119
127
  ### Other
120
128
 
@@ -157,21 +165,50 @@ Instead of maintaining large specifications, it focuses on:
157
165
 
158
166
  The goal is to improve quality without slowing down iteration speed.
159
167
 
168
+ ## Compared with OpenSpec-Style Workflows
160
169
 
161
- ## Can This Be Simpler?
170
+ Task CLI is designed as a lightweight alternative to heavier spec-driven systems such as OpenSpec.
162
171
 
163
- Yes. The main simplification is to collapse the old 4-step paths:
172
+ Detailed specification workflows can improve alignment, traceability, and consistency. They are often the right choice for large initiatives, cross-team programs, and environments with strong process requirements.
164
173
 
165
- * `task-explore` now includes brief generation.
166
- * `bug-explore` now includes bug brief generation.
167
- * `task-implement` and `bug-fix` now validate the work and archive the brief automatically when complete.
174
+ The difficulty is that the same level of ceremony does not always fit day-to-day engineering work. For frequent bug fixes, small features, and fast iteration, the process can become heavier than the change itself. When that happens, maintenance overhead increases, documentation quality starts to drift, and teams gradually stop using the workflow as originally intended.
168
175
 
169
- That leaves these practical flows:
176
+ Task CLI takes a narrower and more pragmatic approach:
170
177
 
171
- * Explore only: `/task-explore` or `/bug-explore`
172
- * Execute: `/task-implement` or `/bug-fix`
173
- * Review: `/task-review` or `/bug-review`
174
- * One-shot small work: `/task-fast`
178
+ * clarify the requirement
179
+ * capture only the minimum useful brief
180
+ * execute against acceptance criteria
181
+ * review the result
182
+ * keep a lightweight decision trail
183
+
184
+ The goal is not to replace specification systems in every context. It is to provide a workflow that people will actually keep using during day-to-day engineering work.
185
+
186
+ ## Strengths and Tradeoffs
187
+
188
+ Task CLI is optimized for execution speed and sustained adoption rather than full process coverage.
189
+
190
+ Strengths:
191
+
192
+ * much lower process overhead for bugs, small features, and short iterations
193
+ * easier to adopt in mature codebases where engineers already know the product context
194
+ * encourages real usage because the workflow is short enough to sustain
195
+ * keeps enough structure to improve clarity without forcing large documents
196
+
197
+ Tradeoffs:
198
+
199
+ * less suitable for large cross-team initiatives that need formal design traceability
200
+ * relies more on engineer judgment and review quality than a full specification process
201
+ * stores less long-form historical context than a dedicated spec repository
202
+
203
+ ## Recommended Workflow Model
204
+
205
+ Task CLI keeps the user-facing flow short:
206
+
207
+ * `task-fast`
208
+ * `task-explore -> task-implement -> task-review` or `task-cancel`
209
+ * `bug-explore -> bug-fix -> bug-review` or `bug-cancel`
210
+
211
+ The `archive/` directories remain as internal storage. They are not separate user steps in the recommended workflow.
175
212
 
176
213
  ## Upgrading Existing Projects
177
214
 
@@ -184,18 +221,20 @@ task refresh
184
221
  This will:
185
222
 
186
223
  * keep `.ai/tasks`, `.ai/bugs`, and `.ai/decisions`
187
- * remove only these managed skills from `.claude/skills/` and `.codex/skills/`: `task-fast`, `task-explore`, `task-implement`, `task-review`, `bug-explore`, `bug-fix`, `bug-review`, `decision-log`
224
+ * remove only these managed skills from `.claude/skills/` and `.codex/skills/`: `task-fast`, `task-explore`, `task-implement`, `task-review`, `task-cancel`, `bug-explore`, `bug-fix`, `bug-review`, `bug-cancel`, `decision-log`
188
225
  * reinstall the latest versions of those skills
189
226
 
190
227
  This avoids touching unrelated custom skills in the same project.
191
228
 
192
- The `archive/` directories remain as internal storage. They are not separate user steps in the recommended workflow.
193
-
194
229
  Before refreshing, you can inspect the current setup with:
195
230
 
196
231
  ```bash
197
232
  task doctor
198
233
  ```
199
234
 
235
+ ## License
236
+
237
+ MIT
238
+
200
239
  > Task CLI does not install Grill Me automatically.
201
240
  > Users remain free to choose any Grill Me compatible implementation.
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@winton979/task-cli",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "Lightweight task workflow CLI for AI-assisted development",
5
+ "license": "MIT",
5
6
  "type": "module",
6
7
  "bin": {
7
8
  "task": "./bin/task.js"
package/src/cli.js CHANGED
@@ -26,8 +26,8 @@ Usage:
26
26
 
27
27
  Recommended flows after init:
28
28
  fast: task-fast
29
- task: task-explore -> task-implement -> task-review
30
- bug: bug-explore -> bug-fix -> bug-review`);
29
+ task: task-explore -> task-implement -> task-review | task-cancel
30
+ bug: bug-explore -> bug-fix -> bug-review | bug-cancel`);
31
31
  }
32
32
 
33
33
  switch (cmd) {
package/src/init.js CHANGED
@@ -225,6 +225,36 @@ Anything not fully implemented.
225
225
  `,
226
226
  },
227
227
 
228
+ 'task-cancel': {
229
+ name: 'task-cancel',
230
+ description: 'Discard the current task analysis output and implementation changes for this attempt.',
231
+ content: `---
232
+ name: task-cancel
233
+ description: Discard the current task analysis output and implementation changes for this attempt.
234
+ user-invocable: true
235
+ ---
236
+
237
+ Purpose
238
+
239
+ Abandon the current task attempt completely.
240
+
241
+ Rules
242
+
243
+ 1. Target only the current task attempt.
244
+ 2. Discard the current task brief and any analysis artifacts created for this attempt.
245
+ 3. Discard code changes made for this attempt.
246
+ 4. Do not archive the task brief.
247
+ 5. Do not keep partial implementation.
248
+ 6. Do not preserve temporary conclusions from this attempt as accepted decisions.
249
+ 7. Do not touch unrelated historical archives, other active briefs, or user-authored changes outside this attempt.
250
+ 8. If the exact changed files are uncertain, stop and ask for confirmation before deleting or reverting anything.
251
+
252
+ Output
253
+
254
+ TASK_CANCELLED
255
+ `,
256
+ },
257
+
228
258
  'bug-explore': {
229
259
  name: 'bug-explore',
230
260
  description: 'Investigate a bug and generate a fix brief in one step, without writing code.',
@@ -372,6 +402,36 @@ Further improvements.
372
402
  `,
373
403
  },
374
404
 
405
+ 'bug-cancel': {
406
+ name: 'bug-cancel',
407
+ description: 'Discard the current bug analysis output and code changes for this attempt.',
408
+ content: `---
409
+ name: bug-cancel
410
+ description: Discard the current bug analysis output and code changes for this attempt.
411
+ user-invocable: true
412
+ ---
413
+
414
+ Purpose
415
+
416
+ Abandon the current bug-fix attempt completely.
417
+
418
+ Rules
419
+
420
+ 1. Target only the current bug-fix attempt.
421
+ 2. Discard the current bug brief and any analysis artifacts created for this attempt.
422
+ 3. Discard code changes made for this attempt.
423
+ 4. Do not archive the bug brief.
424
+ 5. Do not keep partial fixes.
425
+ 6. Do not preserve temporary conclusions from this attempt as accepted decisions.
426
+ 7. Do not touch unrelated historical archives, other active briefs, or user-authored changes outside this attempt.
427
+ 8. If the exact changed files are uncertain, stop and ask for confirmation before deleting or reverting anything.
428
+
429
+ Output
430
+
431
+ BUG_CANCELLED
432
+ `,
433
+ },
434
+
375
435
  'decision-log': {
376
436
  name: 'decision-log',
377
437
  description: 'Record implementation decisions to .ai/decisions/decisions.md. Append-only, max 10 lines per entry.',
@@ -533,8 +593,8 @@ export function init(cwd, { fs, path, log }) {
533
593
 
534
594
  log.info(`\nTask workflow initialized. Recommended flows:
535
595
  fast: task-fast
536
- task: task-explore -> task-implement -> task-review
537
- bug: bug-explore -> bug-fix -> bug-review
596
+ task: task-explore -> task-implement -> task-review | task-cancel
597
+ bug: bug-explore -> bug-fix -> bug-review | bug-cancel
538
598
  other: decision-log`);
539
599
  }
540
600
 
@@ -567,8 +627,8 @@ export function refresh(cwd, { fs, path, log }) {
567
627
 
568
628
  log.info(`\nTask workflow refreshed. Managed skills reinstalled:
569
629
  fast: task-fast
570
- task: task-explore -> task-implement -> task-review
571
- bug: bug-explore -> bug-fix -> bug-review
630
+ task: task-explore -> task-implement -> task-review | task-cancel
631
+ bug: bug-explore -> bug-fix -> bug-review | bug-cancel
572
632
  other: decision-log`);
573
633
  }
574
634