Skip to content

Kohei-Wada/taskdog

Repository files navigation

Taskdog

CI License: MIT Python Version Code style: Ruff

A task management system with CLI/TUI interfaces and REST API server, featuring time tracking, schedule optimization, and beautiful terminal output.

Note: Designed for individual use. Stores tasks locally in SQLite database.

demo.mp4

TUI (Textual)

TUI

Gantt Chart (CLI)

Gantt Chart

Architecture: UV workspace monorepo with five packages:

  • taskdog-core: Core business logic and SQLite persistence
  • taskdog-client: HTTP API client library
  • taskdog-server: FastAPI REST API server
  • taskdog-ui: CLI and TUI interfaces
  • taskdog-mcp: MCP server for Claude Desktop integration

Documentation

Features

  • REST API Server: FastAPI-based server with automatic OpenAPI documentation
  • Multiple Interfaces: CLI commands, full-screen TUI, and HTTP API
  • Schedule Optimization: 9 algorithms to auto-generate optimal schedules (respects fixed tasks & dependencies)
  • Fixed Tasks: Mark tasks as fixed to prevent rescheduling (e.g., meetings)
  • Task Dependencies: Define dependencies with circular detection
  • Interactive TUI: Full-screen interface with keyboard shortcuts
  • Time Tracking: Automatic tracking with planned vs actual comparison
  • Gantt Chart: Visual timeline with workload analysis
  • Markdown Notes: Editor integration with Rich rendering
  • Batch Operations: Start/complete/pause/cancel multiple tasks at once
  • Soft Delete: Restore removed tasks
  • SQLite Storage: Transactional persistence with ACID guarantees
  • Audit Logging: Track all task operations with client identification
  • MCP Integration: Native Claude Desktop support via Model Context Protocol

Quick Start

Requirements: Python 3.12+, uv

Supported Platforms: Linux, macOS (Windows support coming soon)

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

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

After Setup

taskdog add "My first task" --priority 10
taskdog table
taskdog tui

Docker

cp .env.example .env   # Customize settings if needed
docker compose up -d
docker compose exec -it taskdog-server scripts/demo_data.py
docker compose exec -it taskdog-server taskdog tui
docker compose down -v  # Stop and delete all data

See contrib/README.md for detailed deployment options (Docker, systemd, launchd).

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for detailed guidelines on:

  • Development setup and workflow
  • Coding standards and testing
  • Commit guidelines and PR process
  • Project structure and architecture

CI/CD: All pull requests automatically run:

  • Linting (make lint)
  • Type checking (make typecheck)
  • Tests with coverage (make test)

Coverage reports are displayed in CI logs, sorted by coverage (low → high) to highlight areas needing improvement.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Terminal task manager with intelligent schedule optimization.Keyboard-only. No dragging, no micromanagement.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Languages