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)
Gantt Chart (CLI)
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
- Quick Start Guide - Step-by-step setup in 5 minutes
- CLI Commands Reference - Complete command documentation
- API Reference - REST API endpoints and examples
- Configuration Guide - All configuration options
- Development Guide - Architecture and development workflow
- Contributing Guide - How to contribute
- Design Philosophy - Why Taskdog works this way
- 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
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 installFor complete setup including API key configuration and server startup, see Quick Start Guide.
taskdog add "My first task" --priority 10
taskdog table
taskdog tuicp .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 dataSee contrib/README.md for detailed deployment options (Docker, systemd, launchd).
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.
This project is licensed under the MIT License - see the LICENSE file for details.

