A self-hosted, open-source project management and issue tracking platform. Namespaces, kanban boards, customizable workflows, semantic search, email notifications, AI integration via MCP, and 9 languages β all included out of the box. Deploy with a single Docker Compose command. No paid tiers, no strings attached. Your backlog doesn't stand a chance! π₯
Try it out at https://taskwondo.org/
Join our Discord server: https://discord.gg/mUAag4CtBH
See more screenshots for a full walkthrough of features.
- Namespaces for multi-tenant workspaces with icons, colors, and role-based membership
- Projects with role-based membership (owner, admin, member) and unique keys (e.g.
PROJ) - Milestones with progress tracking, due dates, and stats dashboard
- Queues for organizing incoming work (support, alerts, feedback)
- Tasks, bugs, tickets, feedback, and epics with per-project sequential numbering (
PROJ-1,PROJ-2) - Parent/child hierarchy with child progress tracking
- Complexity estimation (story points) with per-project configurable values
- Time tracking with descriptions per entry
- Kanban board with drag-and-drop status changes, or list view with sortable columns
- Global search (Ctrl+K) with semantic search (pgvector + Ollama) and full-text fallback
- Personal Inbox with reordering, project filter, and auto-refresh
- Watchlist page for tracked items with list and board views
- Milestone dashboard with status breakdown and progress visualization
- Activity timeline with field change diffs
- Activity graph with custom time range selector
- Comments with markdown, edit history, and paste-to-upload images
- @ mentions for referencing projects and work items
- Relations β blocks, relates to, duplicates β with cross-project support
- Watchers with change notifications
- Email notifications in the user's preferred language
- Email-based project invites with invite codes
- File attachments with preview modal and inline images
- Copy as Markdown for work item summaries
- Data export/import for backup and restore
- Customizable workflows β define statuses, transitions, and per-type workflow mappings
- SLA tracking with business hours, timezone support, and deadline indicators
- JWT + API keys (
twk_prefix) for programmatic access - OAuth login β Discord, Google, GitHub, Microsoft
- System API keys with per-resource permissions and expiration
- Email verification with invite code support
- Rate limiting on authentication endpoints
- MCP server (50+ tools) for AI/LLM integration
- Prometheus metrics endpoint with resource count gauges
- 9 languages β English, Portuguese, Spanish, French, German, Japanese, Chinese, Korean, Arabic (RTL)
- Dark mode, configurable font size, expanded/centered layout modes
- Configurable brand name in system settings
- Keyboard shortcuts, responsive mobile layout
| Component | Technology |
|---|---|
| API | Go (chi router) |
| Database | PostgreSQL 16 |
| Frontend | React + TypeScript + Vite + Tailwind CSS |
| Storage | S3-compatible (MinIO included) |
| Events | NATS JetStream |
| Auth | JWT + API keys, optional OAuth (Discord, Google, GitHub, Microsoft) |
| Deployment | Docker Compose (5 containers) |
git clone https://github.com/marcoshack/taskwondo.git
cd taskwondo
./install.sh --docker # generates .env, pulls images, starts servicesThen open http://localhost:3000 and log in with the admin credentials printed by the installer.
To start Taskwondo automatically on boot, install the included systemd service:
sudo cp docker/taskwondo.service /etc/systemd/system/
sudo sed -i "s|/path/to/your/taskwondo|$(pwd)|" /etc/systemd/system/taskwondo.service
sudo systemctl daemon-reload
sudo systemctl enable --now taskwondoFor manual installation without Docker, see MANUAL_INSTALL.md.
Taskwondo includes an MCP server with 50+ tools for AI/LLM integration β manage work items, comments, relations, attachments, time entries, inbox, milestones, and more from any MCP-compatible client.
Downloads β available on the Releases page:
taskwondo-mcp-linux-amd64β MCP server binary (Linux/amd64)taskwondo-mcp-darwin-arm64β MCP server binary (macOS/arm64, Apple Silicon)taskwondo-mcp-windows-amd64.exeβ MCP server binary (Windows/amd64)taskwondo.mcpbβ MCP bundle for Claude Desktop (Windows + macOS)
The MCP server connects to a running Taskwondo instance via API key. Set the TASKWONDO_URL and TASKWONDO_API_KEY environment variables, then run the binary as a stdio transport.
After downloading the MCP binary for your platform (e.g. taskwondo-mcp-darwin-arm64 on Apple Silicon), make it executable and register it with Claude Code at user scope so it's available across all your projects:
# 1. Move the binary somewhere on your PATH and make it executable
chmod +x ~/Downloads/taskwondo-mcp-darwin-arm64
mv ~/Downloads/taskwondo-mcp-darwin-arm64 /usr/local/bin/taskwondo-mcp
# 2. Generate an API key from Taskwondo: User Menu β Preferences β Authentication β API Keys
# 3. Register the server with Claude Code at user scope
claude mcp add taskwondo \
--scope user \
--env TASKWONDO_URL=https://your-instance.example.com \
--env TASKWONDO_API_KEY=twk_your_api_key_here \
-- taskwondo-mcpVerify the server is registered and reachable:
claude mcp listFor Claude Desktop, download the taskwondo.mcpb bundle from the Releases page and open it β Claude Desktop will prompt for the URL and API key during install.
See README_DEV.md for development setup instructions (Docker, Colima on macOS, running tests, etc.).
MIT









