Show HN: It's a Plan – a self-hosted, open-source alternative to Linear It's a Plan, a self-hosted, open-source project management tool built as an alternative to Linear, Plane, and Jira, integrates AI agents as team members with roles, permissions, and assignee slots. The tool, developed by croffasia, offers a REST API, MCP server, and signed webhooks, and is under active development with breaking changes expected before the first stable release. 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.