# Show HN: It's a Plan – a self-hosted, open-source alternative to Linear

> Source: <https://github.com/croffasia/itsaplan>
> Published: 2026-08-04 20:05:16+00:00

Self-hosted, open-source project management and issue tracking, and an alternative to Linear, Plane, and Jira. The difference: AI agents work here like any teammate. Hand them issues, or run the whole thing over the REST API, webhooks, and MCP.

If It's a Plan looks useful to you, star the repo ⭐ — it helps other people find it.

[Website](https://itsaplan.dev) · [Discussions](https://github.com/croffasia/itsaplan/discussions) · [Contributing](/croffasia/itsaplan/blob/main/CONTRIBUTING.md) · [Security](/croffasia/itsaplan/blob/main/SECURITY.md)

Most trackers bolt AI on as a chatbot. Here an agent is a real member of the team. It has a role, permissions, and an assignee slot, and it works the same board your people do.

It's a self-hosted, open alternative to Linear, Plane, and Jira. You run it on your own server and database.

**Own your stack.** Your server, your database. No per-seat fees, no lock-in.**Agents as teammates.** Give an agent a model, a prompt, skills, and tools. Assign it issues like you would a person.**One board for both.** People and agents share the same board, threads, and cards.**Automate anything.** Drive it all through the REST API, MCP, and signed webhooks.

Heads-up: this is under active development. Expect breaking changes before the first stable release.

**Tracking**

- Configure issues per project: custom fields, labels, states, and issue types
- Kanban, table, timeline, and calendar views, with configurable display fields and two-level grouping
- Save any view as a reusable template
- Configurable dashboards for project analytics: throughput, breakdown, pulse
- Custom quick actions that run on an issue
- Freeform notes boards: sticky notes on a canvas, with colors, checklists, and connections
- Share a view or an issue by public link, read-only and without sign-in
- Initiatives that group and track work across projects
- Auto-archive, a notification inbox, role-based access control, and more

**AI agents**

- Agents as project members with their own permissions and assigned issues
- Configure each agent's model, system prompt, tools, and reusable skills — built on the
[Mastra](https://github.com/mastra-ai/mastra)agent framework - Mention an agent in a comment to trigger a run
- Scheduled agent runs
- Built-in chat with per-agent conversation history

**Platform**

- REST API with an OpenAPI reference and API keys
- MCP server, so an external assistant can read and change issues through the same API
- Outgoing webhooks: subscribe to events, signed payloads, and retries with a delivery log
- Email and password, passkey, and Google sign-in
- Notifications by email (SMTP or Resend) and Telegram, with per-member preferences
- Instance administration: storage limits, mail transport, and instance-wide settings

Requirements: Docker and a domain behind a TLS-terminating reverse proxy.

```
git clone https://github.com/croffasia/itsaplan.git
cd itsaplan
cp .env.example .env      # set API_URL, APP_URL, and the secrets
docker compose up -d --build
```

One command brings up the whole stack: Postgres, MinIO, api, worker, bot, and web. The first account registered becomes the instance admin.

[Self-hosting](/croffasia/itsaplan/blob/main/docs/self-hosting.md)— the full production setup, secrets, and updates[Deploy on Coolify](/croffasia/itsaplan/blob/main/docs/coolify.md)— the same stack on a Coolify instance[Local development](/croffasia/itsaplan/blob/main/docs/development.md)— running the apps on the host, and the tests

| Layer | Technology |
|---|---|
| Runtime |
|

[Elysia](https://elysiajs.com/)[Next.js](https://nextjs.org/)App Router, SSR[shadcn/ui](https://ui.shadcn.com/)+ Tailwind v4[better-auth](https://better-auth.com/)[Drizzle](https://orm.drizzle.team/)+ PostgreSQL[Mastra](https://github.com/mastra-ai/mastra)

```
apps/api        Elysia HTTP API, mounts better-auth at /api/auth/*
apps/web        Next.js app, server-side rendered
apps/worker     webhooks, notifications, agent runs
apps/bot        Telegram bot
packages/db     Drizzle client, schema, migrations
packages/auth   better-auth server instance
packages/crypto AES-256-GCM encryption for secrets at rest
packages/mailer SMTP and Resend transport
```

The web app never imports the packages directly, it talks to the API over HTTP.

** Vibe Code Kit** — a Claude Code plugin with 20+ expert skills
that turn AI slop into senior-level code. It teaches your AI agent professional development
and design practices, so you ship production-ready code on the first try. Works with Claude
Code, Codex, Gemini CLI, and Cursor.

It's a Plan is built with it — the code you are reading is the proof.

Issues and pull requests are welcome — bug fixes, features, docs, all of it. Start with
[CONTRIBUTING.md](/croffasia/itsaplan/blob/main/CONTRIBUTING.md). It covers the setup, the conventions, and how a change
gets merged. Be kind; we follow a [Code of Conduct](/croffasia/itsaplan/blob/main/CODE_OF_CONDUCT.md).

Not ready to contribute code? [Star the repo](https://github.com/croffasia/itsaplan) and share
it — it is the simplest way to help the project grow.

Found a vulnerability? Report it privately through
[GitHub Security Advisories](https://github.com/croffasia/itsaplan/security/advisories/new),
not a public issue, so we can fix it first. Details in [SECURITY.md](/croffasia/itsaplan/blob/main/SECURITY.md).

Copyright © 2026 VIBE DEV SPACE LLC.

[AGPL-3.0](/croffasia/itsaplan/blob/main/LICENSE). Running a modified version as a network service means publishing
your changes under the same license.
