LLM-friendly Markdown task notes CLI
Project description
task-notes
一个面向 LLM/Agent 的任务管理 CLI。
用 Markdown checklist 保存任务,支持多级子任务、稳定 selector(如 1.2.3)、文本/JSON 双输出,以及 Rich 终端展示。
功能
- 单项目单文件:
<project>.md - 多级树状任务
- selector 定位:
1、1.2、2.1.3 - 原子写入 + 文件锁(并发安全)
- Rich 展示(
ls表格、show树) edit支持交互选择(方向键/jk + Space + Enter)--json机读输出
安装与运行
使用 uv(推荐)
在项目目录内:
uv run task --help
临时执行(不安装到全局):
uvx --from . task --help
安装为全局工具:
uv tool install --editable .
task --help
使用 pip
pip install .
task --help
默认数据目录与安全策略
- 默认目录:
~/.task-notes - 可自定义目录:
--tasks-dir <path> - 安全限制:默认禁止写入非
~/.task-notes目录;若要使用其他目录,必须显式加:
--unsafe-external-dir
示例:
task --unsafe-external-dir --tasks-dir ./tasks ls
快速开始
task new app-redesign "梳理需求" "实现功能" "验收发布"
task add app-redesign --parent 2 "实现 task ls/show"
task show app-redesign
task next app-redesign
task check app-redesign --path 1
task edit app-redesign --path 2.1 "实现 ls/show/tree 输出"
命令概览
task ls [--json]
task show <project> [--json]
task next <project> [--json]
task new <project> <content...> [--json]
task add <project> [--parent <selector>] <content...> [--json]
task edit <project> --path <selector> <content> [--json]
task edit <project> -i [--json]
task del <project> --path <selector> [--json]
task rm <project> [--json]
task check <project> --path <selector> [--json]
task uncheck <project> --path <selector> [--json]
task toggle <project> --path <selector> [--json]
交互式编辑
task edit <project> -i
按键:
↑/↓或j/k:移动光标Space:选择当前任务Enter:确认并编辑文本q/Esc:取消
JSON 输出
适合 tools/LLM 集成:
task show app-redesign --json
错误时返回非 0,并输出:
ok: falseerror_codeerror_message
开发
运行测试:
uv run python -m unittest discover -s tests -p 'test_*.py' -v
发布到 PyPI(建议流程)
uv build
uvx twine check dist/*
# uvx twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
task_notes-0.1.0.tar.gz
(16.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file task_notes-0.1.0.tar.gz.
File metadata
- Download URL: task_notes-0.1.0.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4a1ff7ff782f40f9cf9b052c89e5c194b826a88fb2df2abf433db454c7e2350
|
|
| MD5 |
710d337c3c4f26dc86f4c530f6f2b0bb
|
|
| BLAKE2b-256 |
979c9dfbb68dabe481027da2ba823aac9700e4f3e2e90cf84499fed57552af53
|
File details
Details for the file task_notes-0.1.0-py3-none-any.whl.
File metadata
- Download URL: task_notes-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6400ca99e26364519f419b9ac1e4ad22e55fff49ec3934c6e682d242d5f7b65b
|
|
| MD5 |
d5420e6a2fec7204cc82fc39408648e2
|
|
| BLAKE2b-256 |
a20b0dc1a55859be89e2a022c695487bbdfc36939b547f5e065a54d22de7a5c5
|