A tracker that one person or a small team runs on their own server is a fair weekend for an agent: keyed projects, issue types, custom statuses, a board and a backlog with sprints, a small filter language and an import of the Jira CSV. The catch is who actually pays for Jira. Up to 10 users the Free plan already does all of that, so paying customers are bigger teams that need permissions, notifications, Git links, reporting and the Marketplace apps their process is built on. That part does not fit in a weekend, which is why most teams that leave move to Plane or OpenProject instead of their own code.
Before you buildTen people or fewer? Jira Free already has boards, backlog, timeline and some automation. You only miss permissions, AI and storage beyond 2 GB.
Build me a self-hosted issue tracker for a small team to replace Jira. Requirements: - Node.js 22 + TypeScript: a Fastify API and a React front end built with Vite. `npm start` builds the UI and serves everything on http://localhost:4700. - Storage: better-sqlite3 in ./data/tracker.db; attachments in ./data/files/. - Projects have a key, so issues get ids like APP-42. Types: epic, story, task, bug, sub-task. Fields: summary, Markdown description, assignee, reporter, priority, labels, story points, due date, parent epic. - Per-project workflow: statuses and allowed transitions edited on a settings page (default To Do -> In Progress -> In Review -> Done). - Board view with drag between status columns, and a backlog with sprints: create, start and complete; unfinished issues move to the next sprint. - A search bar with a small query language, e.g. `project = APP AND status != Done AND assignee = me ORDER BY priority`, and saved filters per user. - Comments with @mentions and a change history per issue. Email on assign, mention and status change through SMTP settings in .env (nodemailer). - Email and password login (argon2 hashes, httpOnly session cookie); an admin creates accounts. No third-party services, no telemetry. - Import a Jira "Export CSV - all fields" file: show the column mapping first, keep the original issue keys, bring comments along. - Out of scope: plugins, cross-project planning, mobile apps. - README: setup, backing up ./data, and reaching the app over Tailscale instead of opening it to the internet, with a warning that logins are only as safe as the server they run on.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Jira.
Add GitHub links to the issue tracker in this folder. Requirements: - A webhook endpoint POST /hooks/github that checks the signature with GITHUB_WEBHOOK_SECRET from .env. - When a commit message, branch name or pull request title contains an issue key such as APP-42, attach a link to that issue with the author and date. - Opening a pull request moves the issue to In Review; merging it moves the issue to Done, but only if that transition exists in the project workflow. - Show the links in a Development section on the issue page. - Update the README with the webhook settings to add in the GitHub repo.
Add a Jira Cloud importer to the issue tracker in this folder. Requirements: - Read JIRA_BASE_URL, JIRA_EMAIL and JIRA_API_TOKEN from .env. - For each project key I pass, page through /rest/api/3/search/jql and fetch every issue with comments, change history, issue links and sub-tasks. - Download attachments into ./data/files/ and keep the original issue keys. - Map unknown statuses to the closest workflow status and list the mapping before writing anything; a --dry-run flag only prints the plan. - Running it twice must not create duplicates. - Update the README with how to create the API token.
Add sprint reports to the issue tracker in this folder. Requirements: - Record a daily snapshot of remaining story points for the active sprint. - A Reports page with a burndown chart for the current sprint and a velocity chart for the last 6 sprints, drawn with Chart.js. - List issues added or removed after the sprint started. - Export each chart's data as CSV. - Update the README.
Add automation rules to the issue tracker in this folder. Requirements: - Triggers: issue created, status changed, field changed, and a daily schedule. - Conditions on project, type, priority, labels and assignee. - Actions: set a field, assign, add a comment, transition, send an email. - A rules page to create, enable and disable rules, with a log of the last 200 runs and a guard that stops a rule from triggering itself in a loop. - Update the README.
Teams rarely keep Jira because developers enjoy it. They keep it because managers, support and finance all report from the same system, auditors and new hires already know it, and years of workflows, automation rules and Marketplace apps are configured around it. Moving means retraining a whole company, not just exporting tickets.
Estimate · Nothing to pay on a machine you already own; a small VPS is about $5 a month. A few hundred notification emails a month fit in most free SMTP tiers. The build is token usage on your agent plan, more than a one-sitting app because of logins and the importer.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | Up to 10 users, 2 GB of storage, 150 automation steps a month for the whole site, 100 notification emails a day. Every user is an admin. |
| Standard | $7.91/user | — | Up to 100,000 users, 250 GB of storage, 400 automation steps per user a month, roles and permissions, 25 Rovo credits per user. |
| Premium | $14.54/user | — | Unlimited storage, cross-team plans and dependencies, approvals, sandbox, 750 automation steps per user a month, 99.9% uptime SLA. |
| Enterprise | custom | — | Up to 150 sites, Atlassian Guard included, 1,000 automation steps per user a month, 99.95% uptime SLA. |
Free covers up to 10 users with 2 GB of storage, 150 automation steps a month and community support.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The Marketplace apps and integrations your process is wired into, Atlassian's mobile apps and a hosted site someone else keeps running.
About $7.91 a month on the Standard plan per seat, $94.92 a year (checked 2026-10-13).
The Marketplace apps and integrations your process is wired into; Atlassian's mobile apps and a hosted site someone else keeps running; Planning across teams with dependencies and capacity; Permission schemes, audit logs, SSO and the compliance paperwork; Rovo AI and the links to Confluence, Bitbucket and Loom. If any of those matter to you, keep paying.
Yes: Plane (open source), OpenProject (open source), Huly (open source).