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 · Discussions · Contributing · Security
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 Mastraagent 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— the full production setup, secrets, and updatesDeploy on Coolify— the same stack on a Coolify instanceLocal development— running the apps on the host, and the tests
| Layer | Technology |
|---|---|
| Runtime | |
ElysiaNext.jsApp Router, SSRshadcn/ui+ Tailwind v4better-authDrizzle+ PostgreSQLMastra
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. It covers the setup, the conventions, and how a change gets merged. Be kind; we follow a Code of Conduct.
Not ready to contribute code? Star the repo and share it — it is the simplest way to help the project grow.
Found a vulnerability? Report it privately through GitHub Security Advisories, not a public issue, so we can fix it first. Details in SECURITY.md.
Copyright © 2026 VIBE DEV SPACE LLC.
AGPL-3.0. Running a modified version as a network service means publishing your changes under the same license.