Skip to main content

LLM-friendly Markdown task notes CLI

Project description

task-notes

PyPI | GitHub | 中文文档

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/Down or j/k: move cursor
  • Space: select target task
  • Enter: confirm selection
  • q or Esc: 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


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.1.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

task_notes-0.1.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file task_notes-0.1.1.tar.gz.

File metadata

  • Download URL: task_notes-0.1.1.tar.gz
  • Upload date:
  • Size: 14.3 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

Hashes for task_notes-0.1.1.tar.gz
Algorithm Hash digest
SHA256 45765e928e8030dd9d80bf3cb91e28076cf44471c8f74d4fa4110aceba549a4d
MD5 e8403fd1c876dae6fb00afc04f8f40d0
BLAKE2b-256 e6b29eaafbe4fa7b8bae8f5c8ab5fd90d98c4763d9dad66bcc2ab632689acd0e

See more details on using hashes here.

File details

Details for the file task_notes-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: task_notes-0.1.1-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

Hashes for task_notes-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10ff622d5db82d0b917590f1c29722a07dbc656bebb80befcc731b456e654d44
MD5 6ccb2c51083038fc9609f99a229b34d7
BLAKE2b-256 d9473a891e0c86a9219a3b42c038f2e0020b82fa7ed8c7c3bd68920ab9e97453

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page