Project · 2026
Kira
A self-hosted project management tool with boards, sprints, epics, and automation-friendly workflows.
- TypeScript
- React
- Node.js
- Express
- SQLite
- Prisma
- Tailwind CSS
Project snapshot
- Status
- Private self-hosted deployment for project tracking and automation.
- Scope
- Organizations, projects, tickets, epics, sprints, milestones, comments, attachments, documents, and audit logs.
- Deployment
- Private deployment serving the API and compiled React application together.
- Agent surface
- A machine-readable guide documents supported automation workflows.
Technical proof
- TypeScript monorepo split into API, web app, and shared type packages.
- JWT access tokens with refresh rotation, Google OAuth, and authenticated file delivery.
- React Query, dnd-kit Kanban interactions, server-sent events, and Playwright E2E coverage.
What it is
Kira is a self-hosted project management application modeled loosely on tools like Jira or Linear. It handles the full lifecycle of software work: tickets, epics, sprints, boards, milestones, and reporting, all within a multi-project, multi-organization structure.
Architecture
The codebase is a TypeScript monorepo with three packages. @kira/api owns business logic and persistence, @kira/web-app is a React single-page application, and @kira/shared holds shared types and enums. In production the API serves the compiled web application as static files in a single deployable unit.
Persistence is SQLite via Prisma. The schema covers users, organizations, projects, tickets, epics, sprints, labels, milestones, comments, attachments, work logs, saved filters, custom fields, documents, webhooks, audit logs, and notifications — roughly the surface area you’d expect from a mid-tier issue tracker.
Technical highlights
Authentication supports local email/password and Google OAuth via a server-side popup flow. The API uses JWT access tokens with refresh token rotation. File uploads are served through an authenticated static middleware so attachments are not publicly accessible.
A notable addition is a machine-readable guide that documents supported automation workflows for programmatic project operations.
The frontend uses @tanstack/react-query for data fetching, dnd-kit for the Kanban board drag-and-drop, react-markdown with remark-gfm for document rendering, and server-sent events for real-time board updates. E2E tests run with Playwright.