Skip to main content

Local task management CLI for AI coding agents — track tasks and progress in SQLite

Project description

tasukura

CI PyPI Python License: MIT

A local task management CLI designed for AI coding agents. Track tasks and progress in SQLite — lightweight, portable, and agent-friendly.

Features

  • Task lifecycle — status transitions: todo / in_progress / in_review / done
  • Progress logging — structured fields: summary, details, remaining, next action
  • External source linking — link tasks to JIRA, GitHub Issues, Linear, or any external system
  • SQLite storage — single-file database, zero infrastructure

Installation

# uv (recommended)
uv tool install tasukura

# pip
pip install tasukura

# From source
uv tool install git+https://github.com/mixidota2/tasukura

The CLI is registered as tk.

Quick Start

# Add a task
tk add "Implement API" --description "Build REST API endpoints for /tasks"

# List tasks
tk list

# Change status
tk status <id> in_progress

# Log progress
tk log <id> --summary "Endpoints done" --details "Added GET/POST /api/tasks"

# Link to an external source
tk add "Fix login bug" --description "..." --source-id PROJ-123 --source jira

# Filter by source
tk list --source jira

Commands

Command Description
tk add Add a new task
tk list List tasks (tree view by default)
tk update Update task title or external source linkage. For next_action or description use tk log
tk delete Delete a task (fails cleanly if records exist)
tk status Change task status (todo/in_progress/in_review/done)
tk log Record progress. --next-action "X" updates task and persists as log history; --description "X" updates task description
tk log-update Update an existing progress log entry
tk log-delete Delete a progress log (fails cleanly if a record references it)
tk record add Add a typed record (decision/finding/blocker/question/hypothesis) promoted from a log; --supersedes <id> to replace an older record
tk record list List records for a task (active by default)
tk record show Show a record's full details; --with-log also dereferences the source progress log
tk record update Update a record's summary or details (typo / 補足 only; use --supersedes on add for semantic changes)
tk record resolve Mark a blocker record as resolved
tk record obsolete Mark a record as obsolete (no replacement)
tk record verify Mark a record as verified (update last_verified_at)
tk record delete Permanently delete a mistaken record (prefer obsolete for valid records)
tk rank Change display order
tk board Kanban board view
tk show Show task details, active records grouped by kind, and recent logs. --full / --kind X / --logs N to vary

Task IDs can be shortened — type just enough characters to uniquely identify a task.

Configuration

Config file: ~/.config/tk/config.toml

# Database path (default: ~/.local/share/tk/tasks.db)
db_path = "~/custom/path/tasks.db"

[board]
# Retention days for done tasks (default: 14)
done_retention_days = 14

[record]
# Mark active records older than this (no verify) as [stale] in `tk show`
stale_after_days = 30

[record.active_warn]
# `tk show` warns when active records of a kind exceed these counts
decision = 10
blocker = 3
finding = 10
question = 10
hypothesis = 10

The environment variable TK_DB_PATH overrides the database path. TK_CONFIG_PATH overrides the config file location.

Claude Code Skill

The skills/ directory contains a Claude Code skill file for AI agent integration.

# Install the skill (symlink recommended)
ln -s /path/to/tasukura/skills ~/.claude/skills/tk

See skills/SKILL.md for details.

Development

git clone https://github.com/mixidota2/tasukura
cd tasukura
uv sync
uv run 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

tasukura-0.1.7.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

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

tasukura-0.1.7-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file tasukura-0.1.7.tar.gz.

File metadata

  • Download URL: tasukura-0.1.7.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tasukura-0.1.7.tar.gz
Algorithm Hash digest
SHA256 f941b57929310e3859da662e76742167ae626a5ae842ef96072b36ce6d3e5710
MD5 a85fe9ba6d8fb6d45f7fbf5ad17784e4
BLAKE2b-256 fe40445078edef557520001f66395e49d93d6521728a738126c6fbbc205e5fbe

See more details on using hashes here.

File details

Details for the file tasukura-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: tasukura-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tasukura-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 deef3e7bfd6da5c03546da1ba4969927b927786698546237d14358f103753cca
MD5 80c41d8146fcd950d0e7f52a5d65298d
BLAKE2b-256 e4186b2590c2fa106eeaddc3816b0dbbaea6614793944e7e8161afd927468a01

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