Self-hosted project management and issue tracking. The difference: AI agents work here like any teammate — and everything is available 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 · Leave a review
It's a Plan is a full issue tracker on its own: projects, boards, cycles, custom fields, and dashboards. Use it that way and never turn on a single agent.
Add agents when you need them. An agent gets a role, permissions, and an assignee slot, and it takes issues on the same board as your people. You run all of it on your own server, on your own database.
- Own your stack. Your server, your database, your API keys. No per-seat fees, no lock-in.
- Agents as teammates. Give one a model, a prompt, skills, and tools, then assign it an issue.
- Any model. Internal agents take a key from any of 150+ providers, or a local endpoint.
- Your coding CLI. External agents run on your machine: Claude Code, Codex, Antigravity, Copilot CLI, opencode.
- One board for both. A run starts on an @mention, an assignment, or a schedule.
- Automate anything. Everything the UI does is a REST API call, an MCP tool, or a webhook.
It's a Plan is under active development. Expect breaking changes before the first stable release.
-
Star the repo if you think more people should see it. That is the whole cost, and it is what makes the project findable.
-
Contribute. Issues, bug reports, and pull requests are all welcome — start with CONTRIBUTING.md.
-
Donate. Any amount helps the project grow and keeps the work going.
Network Address USDT (ERC-20) 0x625d8E7e800E863d1b00D90c8937A10094D9380CUSDT (TON) UQBTE0qA7ZPKOkjbrCyqVopXFKNbbcDd-RcKeR9wkoyAjNb4USDT (TRC-20) TMSdmfoEVkC4sA1ejmhimcZC4eSremmkjV
A commercial licence is available if AGPL-3.0 does not fit your company, and a feature can be moved up the roadmap. Ask on Telegram.
Tracking
- Configure issues per project: custom fields, labels, states, and issue types
- Kanban, table, timeline, and calendar views. Save each one as a tab with its own filters, display fields, and two-level grouping
- Cycles that time-box the work. Unfinished issues move to the next cycle
- Subtasks, checklists, attachments, and links between issues: blocks, relates, duplicates
- Comment threads with replies, and @username mentions of people and agents
- Configurable dashboards for project analytics: throughput, breakdown, pulse
- Quick actions that run on an issue, and auto-assignment when an issue moves into a state
- 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
- Internal agents run on the instance. Configure the model, system prompt, tools, and reusable skills, written inline or imported from a GitHub repository
- External agents run on your own machine, under your own account. Install
@itsaplan/runnerand it gives every task to Claude Code, Codex, Antigravity CLI, GitHub Copilot CLI, opencode, or any command that reads stdin - Or control the run queue through the API and do the work in your own implementation
- A run starts on an @mention in a comment, on an assignment, or on a schedule
- Tools for the services outside the tracker: Notion, Telegram, Threads, Instagram, Jina, Firecrawl, and Gitea
- Built-in chat with each agent, with its own conversation history
- Chat with an external agent too. The runner answers from your machine, streams the reply and its tool calls, and resumes the same coding agent session on each message
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
- Pull requests from GitHub, GitLab, Gitea, Forgejo, and Bitbucket. "Fixes KEY-42" links the pull request to the issue, and the issue moves when the pull request opens and merges
- Outgoing webhooks: subscribe to events, signed payloads, and retries with a delivery log
- Sign in with an email or a username and a password, a passkey, or Google
- Notifications by email (SMTP or Resend) and Telegram, with per-member preferences
- Interface in English, Ukrainian, Russian, Simplified Chinese, and Arabic
- Instance administration: storage limits, mail transport, and instance-wide settings
The whole stack in one click, with no server to maintain. You give Railway two hostnames, and it generates every secret. You need a domain of your own: the guide explains why, and what to do after the deploy.
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 -dThis starts Postgres, MinIO, and the four services (api, worker, bot, web) from the images
published on each release. Add --build to build them from the checkout instead. The first
account you register becomes the instance admin.
- Deploy on Railway — one-click hosted deploy from the template
- Self-hosting — the full production setup, secrets, and updates
- Deploy on Coolify — the same stack on a Coolify instance
- Local development — running the apps on the host, and the tests
- Coding agent setup — the config for each CLI that
@itsaplan/runnerruns
| Layer | Technology |
|---|---|
| Runtime | Bun + Turborepo |
| Backend | Elysia |
| Frontend | Next.js App Router, SSR |
| UI | shadcn/ui + Tailwind v4 |
| Auth | better-auth |
| Database | Drizzle + PostgreSQL |
| Storage | S3-compatible object store (MinIO) |
| AI agents | Mastra |
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 Andrii Poluosmak.
AGPL-3.0, except packages/runner, which is
Apache-2.0.