A Kanban board for managing AI-assisted development workflows.
Each ticket gets its own git worktree and integrated terminal, letting you work on multiple tasks in parallel with Claude Code.
- Kanban Board - Drag-and-drop task management (To Do, In Progress, Done)
- Git Worktrees - Auto-creates isolated branches for each ticket
- Integrated Terminal - Web-based terminal with tmux support
- Claude Code Integration - Auto-tracks ticket progress via hooks
- Multi-project Support - Manage multiple repositories
- Node.js 24+
- Git
- tmux (recommended - used for persistent terminal sessions and async post-worktree commands)
# Clone the repository
git clone https://github.com/alexandrelam/taskforce.git
cd taskforce
# Install dependencies
npm install
cd web && npm install && cd ..
# Initialize database
npm run db:push
# Start backend (terminal 1)
npm run dev
# Start frontend (terminal 2)
cd web && npm run devOpen http://localhost:3326 and create your first project in Settings.
npm run db:push creates the local data/ directory automatically on first run, so no manual mkdir -p data step is needed.
Add these hooks to your Claude Code config (.claude/settings.json) to auto-track ticket progress:
{
"hooks": {
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "curl -s -X POST http://localhost:3325/api/tickets/track/start -H 'Content-Type: application/json' -d \"{\\\"cwd\\\": \\\"$PWD\\\"}\" > /dev/null 2>&1 &"
}
]
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "curl -s -X POST http://localhost:3325/api/tickets/track/start -H 'Content-Type: application/json' -d \"{\\\"cwd\\\": \\\"$PWD\\\"}\" > /dev/null 2>&1 &"
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "curl -s -X POST http://localhost:3325/api/tickets/track/start -H 'Content-Type: application/json' -d \"{\\\"cwd\\\": \\\"$PWD\\\"}\" > /dev/null 2>&1 &"
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "curl -s -X POST http://localhost:3325/api/tickets/track/stop -H 'Content-Type: application/json' -d \"{\\\"cwd\\\": \\\"$PWD\\\"}\" > /dev/null 2>&1 &"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "curl -s -X POST http://localhost:3325/api/tickets/track/stop -H 'Content-Type: application/json' -d \"{\\\"cwd\\\": \\\"$PWD\\\"}\" > /dev/null 2>&1 &"
}
]
}
]
}
}See HOOKS.md for detailed configuration options and troubleshooting.
To report a security vulnerability, use GitHub private vulnerability reporting. Do not open a public issue. See SECURITY.md for the reporting process.
- Backend: Express 5, SQLite, Drizzle ORM, node-pty
- Frontend: React 19, Vite, Tailwind CSS 4, shadcn/ui
AGPL-3.0
