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! π₯
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
- Strikethrough styling for completed items
| 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β MCP server binary (Linux/amd64)taskwondo-mcp.exeβ MCP server binary (Windows/amd64)taskwondo.mcpbβ MCP bundle for Claude Desktop (Windows)
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.
Requires Go 1.25+, Node.js 22+, Docker.
./install.sh --manual-setup -y # generate .env with secrets and defaults
make setup # configure git hooks
make dev # starts Postgres + MinIO + API (hot-reload) + Vite dev serverRun tests:
make test # Go tests + frontend build
make test-e2e # Playwright E2E tests (fully containerized)See AGENTS.md for full architecture notes and conventions.
MIT









