hzl-cli 1.20.0 → 1.21.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/README.md +20 -14
- package/dist/commands/task/index.d.ts.map +1 -1
- package/dist/commands/task/index.js +2 -0
- package/dist/commands/task/index.js.map +1 -1
- package/dist/commands/task/start.d.ts +3 -0
- package/dist/commands/task/start.d.ts.map +1 -0
- package/dist/commands/task/start.js +37 -0
- package/dist/commands/task/start.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -367,20 +367,26 @@ If your coding agent supports an instruction file (for example `CLAUDE.md`, `AGE
|
|
|
367
367
|
<!-- START [code:md] docs/snippets/agent-policy.md -->
|
|
368
368
|
<!-- ⚠️ DO NOT EDIT - Auto-generated from docs/snippets/agent-policy.md -->
|
|
369
369
|
```md
|
|
370
|
-
### HZL task ledger (external task tracking
|
|
370
|
+
### HZL task ledger (external task tracking)
|
|
371
371
|
|
|
372
|
-
HZL is an external task database. Use it
|
|
373
|
-
|
|
372
|
+
HZL is an external task database. Use it whenever external tracking would help clarity, handoff, or auditability.
|
|
373
|
+
Multi-session or multi-agent work are common reasons to use HZL, not requirements.
|
|
374
|
+
Use HZL for single-session, single-agent work when the task is non-trivial.
|
|
374
375
|
|
|
375
|
-
**
|
|
376
|
-
- Work
|
|
377
|
-
-
|
|
378
|
-
-
|
|
379
|
-
-
|
|
376
|
+
**Prefer using HZL when:**
|
|
377
|
+
- Work may outlive this session or is likely to be paused/resumed
|
|
378
|
+
- You want a durable record of decisions, progress, or ownership
|
|
379
|
+
- You expect handoff or review by another agent/person
|
|
380
|
+
- The user asks to track work in HZL
|
|
381
|
+
- The task is non-trivial (multiple steps, ~30+ minutes, or risky changes)
|
|
380
382
|
|
|
381
|
-
**
|
|
382
|
-
-
|
|
383
|
-
-
|
|
383
|
+
**You can skip HZL when:**
|
|
384
|
+
- The work is small, clearly scoped, and will be completed immediately
|
|
385
|
+
- The user asks for a quick one-off answer or tiny change
|
|
386
|
+
|
|
387
|
+
**Rule of thumb:** If you feel tempted to make a multi-step plan or there is any chance you will not finish in this session, use HZL.
|
|
388
|
+
|
|
389
|
+
Example: "Investigate failing tests and fix root cause" -> use HZL because it likely involves multiple subtasks, even if you expect to finish within a session.
|
|
384
390
|
|
|
385
391
|
**Structure:**
|
|
386
392
|
- **Project** = stable container (one per repo). Check `hzl project list` before creating.
|
|
@@ -415,7 +421,7 @@ hzl task add "Fix N+1" --parent <parent-id> # Subtask
|
|
|
415
421
|
| Create (ready to work) | `hzl task add "title" -P project -s ready` |
|
|
416
422
|
| Create and claim | `hzl task add "title" -P project -s in_progress --assignee <name>` |
|
|
417
423
|
| Create (planning) | `hzl task add "title" -P project` |
|
|
418
|
-
| Claim | `hzl task claim <id
|
|
424
|
+
| Claim (start work) | `hzl task claim <id>` (or `start`) |
|
|
419
425
|
| Complete | `hzl task complete <id>` |
|
|
420
426
|
|
|
421
427
|
**⚠️ DESTRUCTIVE - Never run without explicit user request:**
|
|
@@ -563,8 +569,8 @@ hzl task list --project <project> # List tasks (--available for clai
|
|
|
563
569
|
hzl task next --project <project> # Get highest priority available task
|
|
564
570
|
|
|
565
571
|
# Working
|
|
566
|
-
hzl task claim <id> --assignee <name> # Claim task (
|
|
567
|
-
hzl task claim <id> --agent-id <id> #
|
|
572
|
+
hzl task claim <id> --assignee <name> # Claim task (or: hzl task start <id>)
|
|
573
|
+
hzl task claim <id> --agent-id <id> # --lease <minutes> for expiry
|
|
568
574
|
hzl task checkpoint <id> "<message>" # Save progress snapshot
|
|
569
575
|
hzl task progress <id> <value> # Set progress (0-100)
|
|
570
576
|
hzl task complete <id> # Mark done
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,iBAAiB,IAAI,OAAO,CA8B3C"}
|
|
@@ -19,6 +19,7 @@ import { createCheckpointCommand } from './checkpoint.js';
|
|
|
19
19
|
import { createHistoryCommand } from './history.js';
|
|
20
20
|
import { createSearchCommand } from './search.js';
|
|
21
21
|
import { createNextCommand } from './next.js';
|
|
22
|
+
import { createStartCommand } from './start.js';
|
|
22
23
|
import { createBlockCommand } from './block.js';
|
|
23
24
|
import { createUnblockCommand } from './unblock.js';
|
|
24
25
|
import { createProgressCommand } from './progress.js';
|
|
@@ -29,6 +30,7 @@ export function createTaskCommand() {
|
|
|
29
30
|
command.addCommand(createListCommand());
|
|
30
31
|
command.addCommand(createShowCommand());
|
|
31
32
|
command.addCommand(createClaimCommand());
|
|
33
|
+
command.addCommand(createStartCommand());
|
|
32
34
|
command.addCommand(createCompleteCommand());
|
|
33
35
|
command.addCommand(createReleaseCommand());
|
|
34
36
|
command.addCommand(createArchiveCommand());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE5E,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/task/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,kBAAkB,IAAI,OAAO,CA0B5C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Alias for 'claim' - more intuitive for "starting work on a task"
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { resolveDbPaths } from '../../config.js';
|
|
4
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
5
|
+
import { handleError } from '../../errors.js';
|
|
6
|
+
import { GlobalOptionsSchema } from '../../types.js';
|
|
7
|
+
import { runClaim } from './claim.js';
|
|
8
|
+
export function createStartCommand() {
|
|
9
|
+
return new Command('start')
|
|
10
|
+
.description('Start working on a task (alias for claim)')
|
|
11
|
+
.argument('<taskId>', 'Task ID')
|
|
12
|
+
.option('--assignee <name>', 'Who to assign the task to')
|
|
13
|
+
.option('--agent-id <id>', 'Agent ID (machine/AI identifier)')
|
|
14
|
+
.option('-l, --lease <minutes>', 'Lease duration in minutes')
|
|
15
|
+
.action(function (taskId, opts) {
|
|
16
|
+
const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
|
|
17
|
+
const { eventsDbPath, cacheDbPath } = resolveDbPaths(globalOpts.db);
|
|
18
|
+
const services = initializeDb({ eventsDbPath, cacheDbPath });
|
|
19
|
+
try {
|
|
20
|
+
runClaim({
|
|
21
|
+
services,
|
|
22
|
+
taskId,
|
|
23
|
+
assignee: opts.assignee,
|
|
24
|
+
agentId: opts.agentId,
|
|
25
|
+
leaseMinutes: opts.lease ? parseInt(opts.lease, 10) : undefined,
|
|
26
|
+
json: globalOpts.json ?? false,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
handleError(e, globalOpts.json);
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
closeDb(services);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/task/start.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CAAC,2CAA2C,CAAC;SACxD,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;SAC/B,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;SAC5D,MAAM,CAAC,UAAyB,MAAc,EAAE,IAAyB;QACxE,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,QAAQ,CAAC;gBACP,QAAQ;gBACR,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/D,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hzl-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0",
|
|
4
4
|
"description": "CLI for HZL - External task ledger for coding agents and OpenClaw.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"libsql": "^0.5.0",
|
|
61
61
|
"commander": "^14.0.0",
|
|
62
62
|
"zod": "^3.23.8",
|
|
63
|
-
"hzl-core": "1.
|
|
64
|
-
"hzl-web": "1.
|
|
63
|
+
"hzl-core": "1.21.0",
|
|
64
|
+
"hzl-web": "1.21.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@types/better-sqlite3": "^7.6.13",
|