A self-hosted issue tracker with backlog and Kanban views. Keep your data on your own infrastructure.
- Kanban board with drag-and-drop and customizable columns
- Filterable backlog with bulk actions and PQL query language
- Sprint planning with carryover tracking
- Ticket linking, file attachments, and custom branding
- Granular permissions with custom roles
- Real-time multi-user sync via Server-Sent Events
- Conversational ticket management via MCP
- Dark UI
Live Demo -- No account required.
Requirements: Node.js 20.9+, pnpm 9+, PostgreSQL 16+ (not required for demo mode)
git clone https://github.com/jmynes/punt.git
cd punt
pnpm install
pnpm run setupThe guided installer walks you through PostgreSQL setup, environment configuration, and admin user creation. It also offers a demo mode that skips the database entirely.
Note:
pnpm setupis a built-in pnpm command. Always usepnpm run setup.
After setup completes:
pnpm devOpen http://localhost:3000 and log in with the credentials you created.
Recommended for MCP / Claude Code workflow:
- GitHub CLI (
gh) -- for PR creation, merging, and issue management from the terminal
Full documentation is available at jmynes.github.io/punt:
- Getting Started -- Installation, configuration, environment variables
- Self-Hosted Deployment -- Production setup, reverse proxy, backups
- Railway Deployment -- One-click cloud deployment
- MCP Integration -- Conversational ticket management with AI assistants
- Testing Guide -- Running tests, database isolation
- API Reference -- REST API documentation
pnpm dev # Start dev server (Turbopack, port 3000)
pnpm test # Run tests
pnpm lint # Check linting (Biome)
pnpm db:studio # Visual database browserSee the development docs for the full command reference.
AGPL-3.0 -- If you modify PUNT and run it as a service, you must make your source code available.