Sandbox
@Kohei-Wada/taskdog

Terminal task manager with CLI, TUI, and MCP

Taskdog gives you a local task manager you can use from the terminal or through a REST API. It keeps data in SQLite and includes scheduling, time tracking, dependency checks, search, and Gantt-style views. It also ships an MCP server for Claude Desktop.

352 stars33 forksPythonUpdated 8d ago
Who it's for

Builders who want a local terminal task manager with API and MCP access.

What it delivers

You can track and reschedule work from the terminal without juggling separate tools.

What it does

Multiple interfaces

Use the same task data from the CLI, the full-screen TUI, or the REST API.

Schedule optimization

Run several scheduling algorithms, including greedy, genetic, and Monte Carlo approaches.

Search and filter

Use fzf-style search, progressive filter chains, and multi-field sorting.

Time tracking

Compare planned time with actual time and track task progress automatically.

Task dependencies

Link tasks and detect circular dependencies.

Markdown notes

Attach notes with editor integration and Rich rendering.

MCP integration

Connect Claude Desktop through a Model Context Protocol server.

How to get it

  1. 1Try taskdog with ~50 sample tasks. No installation required — just Docker
    docker run --rm -it ghcr.io/kohei-wada/taskdog:demo
  2. 2The TUI works inside the container, but some keybindings (e.g., Ctrl+P for command…
    docker run --rm -d -p 8000:8000 --name taskdog-demo ghcr.io/kohei-wada/taskdog:demo
    
    # Wait for the server and demo data to be ready (~15s)
    docker logs -f taskdog-demo 2>&1 | grep -m1 "Server ready"
    
    uvx --from taskdog-ui taskdog tui
  3. 3Run
    git clone https://github.com/Kohei-Wada/taskdog.git
    cd taskdog
    make install
  4. 4Run
    yay -S taskdog
  5. 5Run
    pip install taskdog-ui[server]
  6. 6Run
    taskdog add "My first task" --priority 10
    taskdog list
    taskdog gantt
    taskdog tui

README

Taskdog

CI PyPI License: MIT Python Version

A task management system with CLI/TUI interfaces and REST API server, featuring time tracking, schedule optimization, and beautiful terminal output.
Designed for individual use. Stores tasks locally in an SQLite database.

https://github.com/user-attachments/assets/2c0de3ec-fa3d-4f41-ae01-acbff04931e3

Screenshots

TUI (Textual)

TUI

Gantt Chart (CLI)

Gantt Chart

Try It Out

Try taskdog with ~50 sample tasks. No installation required — just Docker:

docker run --rm -it ghcr.io/kohei-wada/taskdog:demo

The TUI works inside the container, but some keybindings (e.g., Ctrl+P for command palette) may conflict with Docker's key sequences. For the best experience, run the server in a container and connect from your host:

docker run --rm -d -p 8000:8000 --name taskdog-demo ghcr.io/kohei-wada/taskdog:demo

# Wait for the server and demo data to be ready (~15s)
docker logs -f taskdog-demo 2>&1 | grep -m1 "Server ready"

uvx --from taskdog-ui taskdog tui

uvx comes with uv. It runs the command in a temporary environment without installing anything.

Installation

Requirements: Python 3.12+, uv

Supported Platforms: Linux, macOS

Experimental: Windows (WSL2 recommended; native support is still being hardened)

Recommended (with systemd/launchd service)

git clone https://github.com/Kohei-Wada/taskdog.git
cd taskdog
make install

This installs the CLI/TUI and server, and sets up a systemd (Linux) or launchd (macOS) service so the server starts automatically.

Arch Linux (AUR)

yay -S taskdog

Installs the CLI/TUI, server, and MCP binaries plus the systemd user service (enable per-user with systemctl --user enable --now taskdog-server). See contrib/aur/ for packaging details.

From PyPI

pip install taskdog-ui[server]

You'll need to manage the server process yourself (e.g., taskdog-server &).

Windows Users

  • WSL2 is recommended and follows the same setup flow as Linux.
  • Native Windows support is experimental. By default, data is stored under %LOCALAPPDATA%\taskdog and configuration under %APPDATA%\taskdog.
  • The editor integration checks %EDITOR% first, then falls back to code, notepad, and vim.

Usage

taskdog add "My first task" --priority 10
taskdog list
taskdog gantt
taskdog tui

For complete setup including API key configuration, see Quick Start Guide.

Features

  • Multiple Interfaces: CLI, full-screen TUI, and REST API
  • Schedule Optimization: 9 algorithms (greedy, genetic, monte carlo, etc.)
  • Search & Filter: fzf-style queries, progressive filter chains, multi-field sort
  • Time Tracking: Automatic tracking with planned vs actual comparison
  • Gantt Chart: Visual timeline with workload analysis
  • Task Dependencies: With circular dependency detection
  • Markdown Notes: Editor integration with Rich rendering
  • Audit Logging: Track all task operations
  • MCP Integration: Claude Desktop support via Model Context Protocol

Search, filter & sort

Maximize the task list, sort it from the command palette, then narrow it down with / search, Ctrl+U to re-search, and Ctrl+R to build a progressive filter chain (substring + status/tag exclusion):

https://github.com/user-attachments/assets/dcb44390-7b10-49a0-bdfc-01a03d7751f9

Documentation

Architecture

UV workspace monorepo with five packages:

PackageDescriptionPyPI
taskdog-coreCore business logic and SQLite persistencePyPI
taskdog-clientHTTP API client libraryPyPI
taskdog-serverFastAPI REST API serverPyPI
taskdog-uiCLI and TUI interfacesPyPI
taskdog-mcpMCP server for Claude DesktopPyPI

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details.

Files in the repo

Repository payload28 top-level entries
  • .github
  • contrib
  • docs
  • examples
  • packages
  • scripts
  • tests
  • vhs
  • .codespellrc
  • .dockerignore
  • .env.example
  • .gitignore
  • .markdownlint.yaml
  • .pre-commit-config.yaml
  • .python-version
  • CLAUDE.md
  • CONTRIBUTING.md
  • docker-compose.yaml
  • Dockerfile
  • Dockerfile.demo
  • flake.lock
  • flake.nix
  • LICENSE
  • Makefile
  • mkdocs.yml
  • pyproject.toml
  • README.md
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More other

HKUDS/
Vibe-Trading

"Vibe-Trading: Your Personal Trading Agent"

33k
tinyhumansai/
openhuman

OpenHuman is an open source personal AI for Mac, Windows and Linux — local-first memory, agent orchestration, and deep research.

40k

Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities.

35k

Open-source Claude Design alternative. One-click import your Claude Code / Codex API key. Prompt → prototype / slides / PDF. Multi-model (Claude, GPT, Gemini, Kimi, GLM, Ollama). BYOK, local-first, MIT.

7.9k

🤯 LobeHub is your Chief Agent Operator, organizing your agents into 7×24 operations by hiring, scheduling, and reporting on your entire AI team.

82k