hzl-cli 1.25.1 → 1.25.3
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 +14 -91
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -363,16 +363,20 @@ If your coding agent supports an instruction file (for example `CLAUDE.md`, `AGE
|
|
|
363
363
|
|
|
364
364
|
### Drop-in policy snippet
|
|
365
365
|
|
|
366
|
-
<!-- START [code:md] snippets/
|
|
367
|
-
<!-- ⚠️ DO NOT EDIT - Auto-generated from snippets/
|
|
366
|
+
<!-- START [code:md] snippets/AGENT-POLICY.md -->
|
|
367
|
+
<!-- ⚠️ DO NOT EDIT - Auto-generated from snippets/AGENT-POLICY.md -->
|
|
368
368
|
````md
|
|
369
|
-
### HZL task ledger
|
|
369
|
+
### HZL task ledger
|
|
370
370
|
|
|
371
|
-
HZL
|
|
371
|
+
This project uses HZL for external task tracking.
|
|
372
|
+
|
|
373
|
+
**IMPORTANT - Task tracking:** When starting work that is multi-step, may span sessions, or needs coordination, run `hzl guide` to learn how this project tracks tasks.
|
|
374
|
+
|
|
375
|
+
**When delegating to sub-agents:** Include "use HZL for task tracking" in the sub-agent's instructions.
|
|
372
376
|
|
|
373
377
|
**Use HZL when:**
|
|
374
378
|
- Work has multiple steps or may not finish this session
|
|
375
|
-
-
|
|
379
|
+
- Durable record of progress or ownership needed
|
|
376
380
|
- Handoff or review expected
|
|
377
381
|
- Task is non-trivial (~30+ min or risky changes)
|
|
378
382
|
|
|
@@ -381,89 +385,8 @@ HZL is an external task database. Use it when external tracking helps clarity, h
|
|
|
381
385
|
- Quick one-off answer or tiny change
|
|
382
386
|
|
|
383
387
|
**Rule of thumb:** If you're tempted to make a multi-step plan, use HZL.
|
|
384
|
-
|
|
385
|
-
**Structure:**
|
|
386
|
-
- **Project** = repo name. One per repo. Always `hzl project list` first.
|
|
387
|
-
- **Task** = feature or work item.
|
|
388
|
-
- **Subtask** = breakdown (`--parent <id>`). Max 1 level.
|
|
389
|
-
|
|
390
|
-
**Anti-pattern: project sprawl**
|
|
391
|
-
```bash
|
|
392
|
-
hzl project create "query-perf" # Wrong: feature is not a project
|
|
393
|
-
```
|
|
394
|
-
Features are parent tasks:
|
|
395
|
-
```bash
|
|
396
|
-
hzl task add "Query perf" -P myrepo # Parent task
|
|
397
|
-
hzl task add "Fix N+1" --parent <parent-id> # Subtask
|
|
398
|
-
```
|
|
399
|
-
|
|
400
|
-
---
|
|
401
|
-
|
|
402
|
-
**Setup:**
|
|
403
|
-
```bash
|
|
404
|
-
hzl project list # Always check first
|
|
405
|
-
hzl project create <repo-name> # Only if needed
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
**Adding work:**
|
|
409
|
-
```bash
|
|
410
|
-
hzl task add "Feature X" -P myrepo -s ready # Ready to claim
|
|
411
|
-
hzl task add "Subtask A" --parent <id> # Subtask
|
|
412
|
-
hzl task add "Subtask B" --parent <id> --depends-on <subtask-a-id> # With dependency
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
**Task context:** Use `-d` for details, `-l` for reference docs:
|
|
416
|
-
```bash
|
|
417
|
-
hzl task add "Add rate limiting" -P myrepo -s ready \
|
|
418
|
-
-d "Per linked spec. Use RateLimiter from src/middleware/." \
|
|
419
|
-
-l docs/rate-limit-spec.md
|
|
420
|
-
```
|
|
421
|
-
If docs exist, reference them (don't duplicate—avoids drift). If no docs, include enough detail to complete the task. Description supports markdown/multiline.
|
|
422
|
-
|
|
423
|
-
**Working on a task:**
|
|
424
|
-
```bash
|
|
425
|
-
hzl task next -P myrepo # Next available task
|
|
426
|
-
hzl task next --parent <id> # Next subtask of parent
|
|
427
|
-
hzl task next -P myrepo --claim # Find and claim in one step
|
|
428
|
-
hzl task claim <id> # Claim specific task
|
|
429
|
-
hzl task checkpoint <id> "milestone X" # Notable progress or before pausing
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
**Changing status:**
|
|
433
|
-
```bash
|
|
434
|
-
hzl task set-status <id> ready # Make claimable (from backlog)
|
|
435
|
-
hzl task set-status <id> backlog # Move back to planning
|
|
436
|
-
```
|
|
437
|
-
Statuses: `backlog` → `ready` → `in_progress` → `done` (or `blocked`)
|
|
438
|
-
|
|
439
|
-
**When blocked:**
|
|
440
|
-
```bash
|
|
441
|
-
hzl task block <id> --comment "Waiting for API keys from DevOps"
|
|
442
|
-
hzl task unblock <id> # When resolved
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
**Finishing work:**
|
|
446
|
-
```bash
|
|
447
|
-
hzl task comment <id> "Implemented X, tested Y" # Optional: final notes
|
|
448
|
-
hzl task complete <id>
|
|
449
|
-
|
|
450
|
-
# After completing a subtask, check parent:
|
|
451
|
-
hzl task show <parent-id> --json # Any subtasks left?
|
|
452
|
-
hzl task complete <parent-id> # If all done, complete parent
|
|
453
|
-
```
|
|
454
|
-
|
|
455
|
-
**Troubleshooting:**
|
|
456
|
-
| Error | Fix |
|
|
457
|
-
|-------|-----|
|
|
458
|
-
| "not claimable (status: backlog)" | `hzl task set-status <id> ready` |
|
|
459
|
-
| "Cannot complete: status is X" | Claim first: `hzl task claim <id>` |
|
|
460
|
-
|
|
461
|
-
---
|
|
462
|
-
|
|
463
|
-
**DESTRUCTIVE - Never run without explicit user request:**
|
|
464
|
-
- `hzl task prune` — **PERMANENTLY DELETES** old done/archived tasks. No undo.
|
|
465
388
|
````
|
|
466
|
-
<!-- END [code:md] snippets/
|
|
389
|
+
<!-- END [code:md] snippets/AGENT-POLICY.md -->
|
|
467
390
|
|
|
468
391
|
That snippet is intentionally concise. The goal is clear triggers and structure, not ceremony.
|
|
469
392
|
|
|
@@ -523,7 +446,7 @@ Copy/paste this into an OpenClaw chat (single prompt):
|
|
|
523
446
|
<!-- START [code:txt] snippets/OPENCLAW-SETUP-PROMPT.md -->
|
|
524
447
|
<!-- ⚠️ DO NOT EDIT - Auto-generated from snippets/OPENCLAW-SETUP-PROMPT.md -->
|
|
525
448
|
````txt
|
|
526
|
-
Install HZL from https://github.com/tmchow/hzl and run hzl init. Install the HZL skill from https://www.clawhub.ai/tmchow/hzl. Then append the HZL policy from https://raw.githubusercontent.com/tmchow/hzl/main/
|
|
449
|
+
Install HZL from https://github.com/tmchow/hzl and run hzl init. Install the HZL skill from https://www.clawhub.ai/tmchow/hzl. Then append the HZL policy from https://raw.githubusercontent.com/tmchow/hzl/main/openclaw/OPENCLAW-TOOLS-PROMPT.md to my TOOLS.md.
|
|
527
450
|
````
|
|
528
451
|
<!-- END [code:txt] snippets/OPENCLAW-SETUP-PROMPT.md -->
|
|
529
452
|
|
|
@@ -537,15 +460,15 @@ hzl init
|
|
|
537
460
|
```
|
|
538
461
|
|
|
539
462
|
2) Install the HZL skill from https://www.clawhub.ai/tmchow/hzl
|
|
540
|
-
Skill source (for reference only): **[`
|
|
463
|
+
Skill source (for reference only): **[`openclaw/skills/hzl/SKILL.md`](./openclaw/skills/hzl/SKILL.md)**
|
|
541
464
|
|
|
542
465
|
3) Teach OpenClaw when to use HZL (important):
|
|
543
|
-
- Copy/paste from: **[`
|
|
466
|
+
- Copy/paste from: **[`openclaw/OPENCLAW-TOOLS-PROMPT.md`](./openclaw/OPENCLAW-TOOLS-PROMPT.md)**
|
|
544
467
|
- Or tell OpenClaw to add this policy to `TOOLS.md`:
|
|
545
468
|
|
|
546
469
|
```
|
|
547
470
|
HZL is a tool available to you for task management in certain cases. I want you to add this information to your TOOLS.md in the right way so you remember how to use it:
|
|
548
|
-
https://raw.githubusercontent.com/tmchow/hzl/main/
|
|
471
|
+
https://raw.githubusercontent.com/tmchow/hzl/main/openclaw/OPENCLAW-TOOLS-PROMPT.md
|
|
549
472
|
```
|
|
550
473
|
|
|
551
474
|
### Upgrading HZL
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hzl-cli",
|
|
3
|
-
"version": "1.25.
|
|
3
|
+
"version": "1.25.3",
|
|
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.25.
|
|
64
|
-
"hzl-web": "1.25.
|
|
63
|
+
"hzl-core": "1.25.3",
|
|
64
|
+
"hzl-web": "1.25.3"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@types/better-sqlite3": "^7.6.13",
|