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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b030c3a3c46ea72614044d7872ed88045964d976273b0622231f43677f1b8e8
|
|
| MD5 |
afa75c5488e10d93ec084e60eb4490fc
|
|
| BLAKE2b-256 |
1f0d35c69d5789cdec220b3ce63e527d0169c417ed837630b960902f3bc77c4d
|
Provenance
The following attestation bundles were made for td_todo_cli-0.1.1.tar.gz:
Publisher:
workflow.yml on BorisMolch/td-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
td_todo_cli-0.1.1.tar.gz -
Subject digest:
0b030c3a3c46ea72614044d7872ed88045964d976273b0622231f43677f1b8e8 - Sigstore transparency entry: 944048267
- Sigstore integration time:
-
Permalink:
BorisMolch/td-cli@a0e51359bd62ef09a66b69b2b829a544ba57067c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/BorisMolch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@a0e51359bd62ef09a66b69b2b829a544ba57067c -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2e9ec45508a4e9e894028506f712e475aea2d9b7371036462bf65d87a8b2275
|
|
| MD5 |
6fee8bbc88cdf9b6d46d7710b5817cad
|
|
| BLAKE2b-256 |
d121035c59eecc759508bb1206ce06842ce85b1dbe9f15014cfe5e954ebe71be
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
td_todo_cli-0.1.1-py3-none-any.whl -
Subject digest:
b2e9ec45508a4e9e894028506f712e475aea2d9b7371036462bf65d87a8b2275 - Sigstore transparency entry: 944048274
- Sigstore integration time:
-
Permalink:
BorisMolch/td-cli@a0e51359bd62ef09a66b69b2b829a544ba57067c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/BorisMolch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@a0e51359bd62ef09a66b69b2b829a544ba57067c -
Trigger Event:
release
-
Statement type: