Skip to main content

LLM tools for todo management

Project description

llm-tools-todo

PyPI Changelog Tests License

LLM plugin providing session-based todo management tools for Simon Willison's llm, a la Claude Code.

Installation

Install this plugin in the same environment as LLM. You'll need at least LLM 0.26a1 or later.

From PyPI (recommended)

llm install llm-tools-todo

From source

git clone https://github.com/dannyob/llm-tools-todo
cd llm-tools-todo
llm install .

Usage

The plugin provides a single Todo toolbox with six todo management operations:

Available Tools

  • todo_begin - Start a new todo session
  • todo_end - End current session and cleanup
  • todo_list - Display all todos in current session
  • todo_write - Replace entire todo list
  • todo_add - Add new todo items
  • todo_complete - Mark todos as completed

Basic Usage

# Start a new todo session
llm prompt -m gpt-4o-mini "Please start a new todo session" --tool Todo

# Add some tasks
llm -c prompt -m gpt-4o-mini "Add tasks: review code, run tests, update docs" --tool Todo

# Mark tasks complete
llm -c prompt -m gpt-4o-mini "Mark the first task as completed" --tool Todo

Session Management

Each todo session gets a unique identifier and stores data in temporary files. Sessions are automatically managed:

  • Session files stored as /tmp/llm-todos-{session_id}.json
  • Data persists until session is ended with todo_end
  • Multiple concurrent sessions supported

Todo Item Structure

Each todo item includes:

  • Unique ID
  • Content description
  • Status (pending/in_progress/completed)
  • Priority (high/medium/low)
  • Created and updated timestamps

Development

Setup Development Environment

# Clone and set up development environment
git clone https://github.com/dannyob/llm-tools-todo
cd llm-tools-todo
make dev-setup
source .venv/bin/activate

Testing

make test           # Run all tests
make test-coverage  # Run tests with coverage report
make quick-test     # Fast test run (exits on first failure)

Plugin Testing

After installation, verify the plugin is working:

llm tools  # Should list Todo tools
llm prompt "Please start a new todo session" --tool Todo
llm -c "What is in my todo list?" --tool Todo

Credits and Thanks

Inspired by Claude Code's simple Todo functionality, and Joe Haddad's claude-todo-emulator.

Coded with Claude.

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

llm_tools_todo-0.1.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

llm_tools_todo-0.1-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file llm_tools_todo-0.1.tar.gz.

File metadata

  • Download URL: llm_tools_todo-0.1.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.10

File hashes

Hashes for llm_tools_todo-0.1.tar.gz
Algorithm Hash digest
SHA256 638f4dc11d6e0f1868ff4431b5332a1fd73b47fb5c2834cfe180dd150a7ef0a5
MD5 51fa631690b32138082d4fe79dda5689
BLAKE2b-256 a98696f3c085dcd9d1743f65f5a4ff75c9d4c6dd56059b2b98546ed4314092bd

See more details on using hashes here.

File details

Details for the file llm_tools_todo-0.1-py3-none-any.whl.

File metadata

  • Download URL: llm_tools_todo-0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.10

File hashes

Hashes for llm_tools_todo-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a91204f44b1cc2de031c5d4ae32cd3f94b1dfa44a03b10252111d725509e3497
MD5 b94919d377450bb3b4b14487873d59c5
BLAKE2b-256 fd109fc01201e7c7fb3505444addbc3a46bc28520a23797e45360683bf0e7662

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