Skip to main content

A local-first task state manager for humans and LLMs

Project description

td

A local-first task state manager for your projects. Designed for humans and LLMs.

td tracks what you're working on, what you've parked, and what's done — using simple state labels instead of complex workflows.

Install

pipx install td-todo-cli

Quick Start

cd my-project
td init                          # create .td/ in your project
td add "Build auth system"       # create a task (state: active)
td add "Login UI" --parent build-auth-system --state focus
td ls                            # see all non-done tasks
td tree                          # hierarchical view
td done login-ui                 # mark finished
td status                        # focus: 0  active: 1  later: 0  done: 1  total: 2

States

State Meaning
focus In my working set right now
active Taken on, not working on it now
later Explicitly parked
done Finished

States represent intent, not progress. Any state can move to any other.

Commands

td init                              Initialize .td/ in current directory
td add <title>                       Create task (default: active)
td focus <id>                        Move to focus
td active <id>                       Move to active
td later <id>                        Park it
td done <id>                         Mark finished
td ls                                List non-done tasks
td ls --state focus                  Filter by state
td ls --all                          Include done
td ls --json                         Machine-readable output
td tree                              Hierarchical view
td tree <id>                         Subtree from a node
td show <id>                         Full detail on one task
td status                            Summary counts
td edit <id> --title/--notes/--parent   Modify a task
td mv <id> <parent-id>              Move under a parent
td rm <id>                           Delete (confirms first)
td rm <id> --force                   Delete without confirmation

LLM Integration

An LLM interacts with td through the same CLI:

td ls --json            # understand current project state
td ls --state focus     # know what matters right now
td add "Fix bug"        # create tasks
td done fix-bug         # mark work complete

No special API needed. The CLI is the interface.

Storage

Tasks are individual YAML files in .td/tasks/, designed to be git-friendly and human-readable:

id: login-ui
title: Build login form
state: focus
parent: auth
created: 2026-02-10T14:30:00
updated: 2026-02-10T14:30:00

Development

git clone https://github.com/BorisMolch/td-cli.git
cd td-cli
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

License

MIT

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

td_todo_cli-0.1.1.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

td_todo_cli-0.1.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: td_todo_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for td_todo_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0b030c3a3c46ea72614044d7872ed88045964d976273b0622231f43677f1b8e8
MD5 afa75c5488e10d93ec084e60eb4490fc
BLAKE2b-256 1f0d35c69d5789cdec220b3ce63e527d0169c417ed837630b960902f3bc77c4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for td_todo_cli-0.1.1.tar.gz:

Publisher: workflow.yml on BorisMolch/td-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: td_todo_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for td_todo_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2e9ec45508a4e9e894028506f712e475aea2d9b7371036462bf65d87a8b2275
MD5 6fee8bbc88cdf9b6d46d7710b5817cad
BLAKE2b-256 d121035c59eecc759508bb1206ce06842ce85b1dbe9f15014cfe5e954ebe71be

See more details on using hashes here.

Provenance

The following attestation bundles were made for td_todo_cli-0.1.1-py3-none-any.whl:

Publisher: workflow.yml on BorisMolch/td-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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