Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 3.94 KB

File metadata and controls

40 lines (29 loc) · 3.94 KB

TrickFire Tasks

Kanban task board for TrickFire Robotics, linked to GitHub. A project is a board; its columns are workflow stages; cards can optionally link to a GitHub issue or pull request from a repo attached to the project. Closing or merging on GitHub auto-closes the linked card - one-way only, GitHub stays the source of truth.

Tech Stack

Layer Choice
Framework Next.js 16 - App Router, React Server Components, output: "standalone"
Database SQLite via Drizzle ORM + better-sqlite3
Auth better-auth - GitHub OAuth only, gated to trickfirerobotics org members
GitHub sync A single GitHub App (@octokit/app, @octokit/webhooks) - doubles as the sign-in OAuth provider and the automation/webhook client
UI Tailwind CSS v4, shadcn/ui, Lucide + Primer octicons for GitHub-accurate issue/PR badges
Drag & drop @dnd-kit
Real-time Server-Sent Events off an in-process event bus (single-instance deploy, no Redis needed)
Package manager pnpm

Docs

Full documentation site: docs.trickfirerobotics.com/tasks - getting started, architecture overview, and a page per framework/library explaining what it is and how we use it here.

Local Development

pnpm install
cp .env.example .env.local   # then follow docs/guides/github-app-setup.mdx
pnpm db:migrate
pnpm dev

Open http://localhost:3006.

Deployment

Production runs as a systemd service (trickfire-tasks) on tfserver, deployed automatically on push to main via a self-hosted GitHub Actions runner. Manual deploy: pnpm deploy (runs scripts/deploy.sh).