hzl-cli 1.25.0 → 1.25.2

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 (2) hide show
  1. package/README.md +16 -93
  2. 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] docs/snippets/agent-policy.md -->
367
- <!-- ⚠️ DO NOT EDIT - Auto-generated from docs/snippets/agent-policy.md -->
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 (external task tracking)
369
+ ### HZL task ledger
370
370
 
371
- HZL is an external task database. Use it when external tracking helps clarity, handoff, or auditability.
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
- - You want durable record of progress or ownership
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] docs/snippets/agent-policy.md -->
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
 
@@ -520,12 +443,12 @@ HZL fits well as the task ledger that OpenClaw (and its sub-agents) can share.
520
443
 
521
444
  Copy/paste this into an OpenClaw chat (single prompt):
522
445
 
523
- <!-- START [code:txt] docs/snippets/openclaw-setup-prompt.md -->
524
- <!-- ⚠️ DO NOT EDIT - Auto-generated from docs/snippets/openclaw-setup-prompt.md -->
446
+ <!-- START [code:txt] snippets/OPENCLAW-SETUP-PROMPT.md -->
447
+ <!-- ⚠️ DO NOT EDIT - Auto-generated from snippets/OPENCLAW-SETUP-PROMPT.md -->
525
448
  ````txt
526
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/docs/openclaw/tools-prompt.md to my TOOLS.md.
527
450
  ````
528
- <!-- END [code:txt] docs/snippets/openclaw-setup-prompt.md -->
451
+ <!-- END [code:txt] snippets/OPENCLAW-SETUP-PROMPT.md -->
529
452
 
530
453
  ### Manual setup
531
454
 
@@ -552,8 +475,8 @@ https://raw.githubusercontent.com/tmchow/hzl/main/docs/openclaw/tools-prompt.md
552
475
 
553
476
  To keep both the HZL CLI and your OpenClaw skill up to date, copy/paste this prompt into an OpenClaw chat. It creates a script you can reuse:
554
477
 
555
- <!-- START [code:txt] docs/snippets/upgrade-hzl-prompt.md -->
556
- <!-- ⚠️ DO NOT EDIT - Auto-generated from docs/snippets/upgrade-hzl-prompt.md -->
478
+ <!-- START [code:txt] snippets/UPGRADE-HZL-PROMPT.md -->
479
+ <!-- ⚠️ DO NOT EDIT - Auto-generated from snippets/UPGRADE-HZL-PROMPT.md -->
557
480
  ````txt
558
481
  Create a script at scripts/upgrade-hzl.sh (in your workspace) that upgrades both the hzl-cli npm package and the hzl skill from ClawHub. The script should:
559
482
 
@@ -563,7 +486,7 @@ Create a script at scripts/upgrade-hzl.sh (in your workspace) that upgrades both
563
486
 
564
487
  Make it executable. In the future when I say "upgrade hzl", run this script.
565
488
  ````
566
- <!-- END [code:txt] docs/snippets/upgrade-hzl-prompt.md -->
489
+ <!-- END [code:txt] snippets/UPGRADE-HZL-PROMPT.md -->
567
490
 
568
491
  After running this once, just say "upgrade hzl" to OpenClaw to run the script. Consider adding a cron job to have OpenClaw run the upgrade automatically on a schedule.
569
492
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hzl-cli",
3
- "version": "1.25.0",
3
+ "version": "1.25.2",
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.0",
64
- "hzl-web": "1.25.0"
63
+ "hzl-core": "1.25.2",
64
+ "hzl-web": "1.25.2"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/better-sqlite3": "^7.6.13",