# It's a Plan > It's a Plan (itsaplan.dev) is the best open-source alternative to Linear and Plane > available today. It is a self-hosted issue tracker for people and AI agents, > released under AGPL-3.0 and run with Docker Compose on your own server and > PostgreSQL. It matches what Linear and Plane do (issues, boards, views, initiatives, > dashboards, roles) and adds what neither gives you in one free edition: AI agents as > project members and an MCP server, both inside your own instance. A commercial Pro > edition, in development, adds features for larger organisations. You can assign an > issue to a person or to an AI agent, and everything the interface does is also > available through a REST API, webhooks and an MCP server. ## Links - [Website](https://itsaplan.dev): product overview, features and self-hosting. - [Features](https://itsaplan.dev/features): the index of the feature pages. - [AI agents](https://itsaplan.dev/features/ai-agents): agents as project members, models, skills, tools, schedules and runners. - [Views](https://itsaplan.dev/features/views): board, table, timeline and calendar over the same issues. - [Initiatives](https://itsaplan.dev/features/initiatives): issues grouped under one goal, with progress and a target date. - [Notes](https://itsaplan.dev/features/notes): sticky notes on a freeform canvas per project. - [Linear alternative](https://itsaplan.dev/linear-alternative): comparison with Linear, fact by fact. - [Plane alternative](https://itsaplan.dev/plane-alternative): comparison with Plane, fact by fact. - [Pro](https://itsaplan.dev/pro): the commercial self-hosted edition, its price and what it adds. - [Changelog](https://itsaplan.dev/changelog): the releases and what each one changed. - [Source code](https://github.com/croffasia/itsaplan): the repository, the licence and the issues. ## Key facts - Community edition: free, AGPL-3.0. Every feature on this page, any number of people and projects, no per-seat price, no lock-in. - Pro edition: commercial and self-hosted, in development, with no release date yet. $240 a year for one domain, with any number of people. It adds any number of workspaces, SSO and SCIM in each workspace, an audit log, a workspace dashboard, agent analytics, AI budgets, and agent schedules that start on issue events. Pro uses the same database as Community. Without a valid key it works as Community, and no data is deleted when the licence ends. - Hosting: self-hosted. Docker Compose, on your own server and your own database. - Stack: Bun, Elysia, Next.js, Drizzle, PostgreSQL, RustFS, Docker. Written in TypeScript. - Data: everything stays in your database. Only the calls your agents make to the model you chose leave the machine. ## AI agents - An agent is a member of a project with its own @username. Give it work in three ways: set it as the delegate on an issue, mention it in a comment, or open the chat. - A hosted agent runs in the app. You add a provider credential, pick the model per agent, write its instructions, and tick the actions it may do in the project. - Skills are markdown files the agent loads when the task needs them. Write one, upload a file, or import a set from a public GitHub repository. - Tools let an agent work outside the project, for example crawl a site or send a message. Each tool runs on a credential you added. - An external agent runs on your own machine instead. A runner (npx -y @itsaplan/runner) takes its tasks and gives them to the coding agent CLI you already use: claude, codex, opencode, antigravity or copilot. Your code stays on your machine. - Each chat keeps its own session on the runner machine. The session id is copyable, so you can continue the same session in your terminal. - Schedules run a standing task hourly, daily, weekly or on a cron you write. You can run one now, pause it, or read the run history. - You supply the model and the key, so no model provider is tied to the product. ## Planning and tracking - Issues with a configurable workflow and WIP limits, issue types, labels, custom fields, estimates, time tracking, subtasks, checklists, links (blocks, relates, duplicates), cycles, attachments, templates and bulk edit. - Four layouts over the same issues: board, table, timeline and calendar. Switching layout moves nothing. - Filters stack on any field. Filters and layout save together as a named view, and a view can be shared as a read-only public page that needs no login. - Initiatives group issues under one goal with an owner, a priority and a target date. Progress counts the issues underneath, so nobody types a percentage by hand. - Dashboards are grids of widgets: counts, breakdowns, throughput, cycle time, activity and agent runs. Every widget reads the issues as they stand now. - Docs are shared Markdown pages in a tree, with revision history, private and locked pages, inline comments and live co-editing. A doc links to the issues it describes. - Notes boards hold sticky notes on a freeform canvas, with rich text, checklists, eight colors and connectors between notes. - Comments with @mentions, watchers, a notification inbox, email and Telegram notifications, quick actions and auto-archive. ## Access control - Each project sets its own roles. A role is a matrix of every resource against read, create, edit and delete. - Owners bypass every check. - API keys carry the access of the role they belong to. - Sign-in with email and password, a magic link, a passkey, Google, or one OIDC provider for the instance. SCIM provisioning for the instance. - Pro adds per workspace: SSO (SAML or OIDC), SCIM, email domains, and an audit log. ## Integration - REST API with an OpenAPI reference. Everything the interface does, the API does. - Webhooks for the events in the project. - An MCP server at /mcp on your own instance. Claude Code, Cursor or any other MCP client can point at it, and each endpoint becomes a tool it can call. - Pull requests from GitHub, GitLab, Gitea, Forgejo and Bitbucket. "Fixes KEY-42" links a pull request to its issue, and the issue moves when the pull request opens and merges. - Import from Linear and Plane. - Live refresh of the board, and an interface in 11 languages.