A local task ledger that lives beside your notes: one Markdown file per task and an append-only history log, driven from a command line and a small local GUI that share the same files.
holt is a personal companion to Noto, published as is. It is not part of Noto, which only opens a task's body when asked, and it is maintained on a best-effort basis. The usage guide below is in Chinese.
holt:vault 旁的本地任务账本,不是网站。
Source of truth = tasks/*.md + history.ndjson on disk. CLI and Stack GUI share the same commands.
git clone https://github.com/roobli/holt.git && cd holt
pnpm install(需要 Node 22+。)可选:pnpm link --global 后直接用 holt …。
解析顺序(CLI 与 GUI 相同):
- 命令里显式路径
- 环境变量
HOLT_LEDGER ~/.config/holt/config.json的lastLedger- 回退
./sample
推荐自建 ~/notes/holt-ledger(或任意 vault 旁目录)当日常账本;./sample 只适合试跑,别长期用。
显式打开过的路径会写回 lastLedger,两边共用。细节:docs/ledger-resolution.md。
pnpm holt list
pnpm holt push --title "写日报" --lane work --estimate 45m --top
pnpm holt update T-0001 --status doingpnpm holt gui
# 或:holt gui (pnpm link --global 之后)
# 浏览器打开终端里打印的地址(默认 http://127.0.0.1:5174)
# 另一终端改文件会热刷:pnpm holt push --title "from CLI" --lane personal --toppnpm holt push --title "A" --lane work --project holt-mvp --estimate 2h --top
pnpm holt push --title "B" --lane work --project holt-mvp --estimate 1d --top
# 若 B 依赖 A:先 --blocked-by <A的id>,必须先把 A done,否则 complete 整批拒绝
pnpm holt list --project holt-mvp
pnpm holt complete-project holt-mvpGUI:左侧 Projects 过滤 → 打开某条 Detail →「完成整个 project」(同语义、全有或全无)。
pnpm holt ensure-ledger ~/notes/holt-ledger
pnpm holt list ~/notes/holt-ledger
pnpm holt gui ~/notes/holt-ledgerpnpm holt list [--project <slug>] [--json]
pnpm holt push --title <t> --lane <lane> [--estimate 45m|2h|1d] [--project <slug>] [--top|--bottom]
pnpm holt update <id> [--status …] [--estimate …] [--project …] [--blocked-by …]
pnpm holt reorder <id> --to <stack_order>
pnpm holt history [--task <id>] [--json]
pnpm holt open-body <id> # $EDITOR → Noto.app(Mac) → 系统打开
pnpm holt gui [ledger] # 一键起本机 GUI(少记 pnpm gui:dev)
pnpm holt inspect [--json]
pnpm holt complete-project <slug>估时:45m / 2h / 1d(1d = 8h)或纯分钟数;双写 estimate_min。有 blocked_by 时标 done 会被人话拒绝。
<ledger>/
tasks/T-0001.md
history.ndjson
| 表面 | 真相 | 怎么开 |
|---|---|---|
| CLI | 本机 ledger | pnpm holt … |
| Local GUI | 同一 ledger | holt gui / pnpm holt gui |
pnpm test
pnpm typecheckMIT