LLM-friendly Markdown task notes CLI
Project description
task-notes
task-notes is an LLM/agent-friendly task CLI that stores project plans in Markdown checklists.
It supports nested task trees, selector-based operations (1, 1.2, 2.1.3), rich terminal output, and machine-safe JSON mode.
Install
From PyPI:
pip install task-notes
With uvx (no global install):
uvx --from task-notes task --help
Install as a global tool with uv:
uv tool install task-notes
task --help
Quick Start
task new app-redesign "Clarify scope" "Implement features" "Ship"
task add app-redesign --parent 2 "Implement ls/show output"
task show app-redesign
task next app-redesign
task check app-redesign --path 1
task edit app-redesign --path 2.1 "Implement ls/show/tree output"
Commands
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 version [--json]
Data Directory and Safety
- Default tasks directory:
~/.task-notes - You can override with
--tasks-dir <path> - Non-default directories are blocked by default
- To allow a non-default directory, explicitly add:
--unsafe-external-dir
Example:
task --unsafe-external-dir --tasks-dir ./tasks ls
Interactive Edit
task edit <project> -i
Keys:
Up/Downorj/k: move cursorSpace: select target taskEnter: confirm selectionqorEsc: cancel
JSON Output (Recommended for Tools/LLMs)
task show app-redesign --json
In automation, prefer --json to avoid parsing terminal formatting.
Development
Run tests:
uv run python -m unittest discover -s tests -p 'test_*.py' -v
Build and check package:
uv build
uvx twine check 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
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.2.tar.gz.
File metadata
- Download URL: task_notes-0.1.2.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":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 |
d93f8d4005508e294753de4e911b4a960c9c8549c8fccd5571ae6c48bfe6efb2
|
|
| MD5 |
e37cd5d8b7fae7310c65578b3fcf7c6d
|
|
| BLAKE2b-256 |
aa32e8b2d3cad28f0467696f6390ca5a430100f50020e9043e7b0c569952aec0
|
File details
Details for the file task_notes-0.1.2-py3-none-any.whl.
File metadata
- Download URL: task_notes-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":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 |
f4cec796d5151b93125c777ced76b1411939612a82bc64e5cef5c72844f33040
|
|
| MD5 |
10fa6008a58d2b4d5391c9cf8cd33bc9
|
|
| BLAKE2b-256 |
eaa23f98aad8860dd76d623aeb79aac9ca05b7b283e4e3d1ce648f9b50a5e6f6
|