mrkeyoor.com_
Tue 20 Oct 07:07 UTC
Self-Hostedevaluationupdated 20 Oct 2026

itsaplan review

It's a Plan, also called Itsaplan, is a self-hosted issue tracker where people and AI agents can receive work on the same project board. It keeps tasks and supporting documents together, with a REST API and an MCP server for outside tools.

Verdict

Pilot Itsaplan if assigning issues to agents would solve an existing workflow problem and someone can operate its supporting services. The measured source build succeeded, but the database test task failed without an explained cause. Keep the pilot separate from the team's only project record until required workflows and that failure are understood.

We ran it

Lab card: what happened when we ran itsaplanScreenshot of itsaplan (itsaplan.dev)
Install✓ · 18s1294 packages · 1489 MB
Build✓ · 125s
Tests✗ · 7sran, no count parsed
Repo2918 files~242,105 lines of source · 40.1 MB · 6 CI workflows

Answers from our run

Does itsaplan build from source?

Dependencies installed in 18 seconds (1294 packages), and the build succeeded in 125 seconds. We cloned commit e82bc56 into a clean Debian container with 3 CPUs and no project-specific setup.

Do itsaplan's tests pass?

No. The project's own test command exited unsuccessfully after 7 seconds, and its output did not expose an individual test count.

Who should not use itsaplan?

Teams requiring a stable upgrade contract: the README warns of breaking changes before the first stable release.

What are the alternatives to itsaplan?

Plane, Kanboard. Pilot Itsaplan if assigning issues to agents would solve an existing workflow problem and someone can operate its supporting services.

SetupN/AInstallation and source build succeeded, but the production stack and a usable signed-in instance were not reproduced.
Docs4/5Documentation rubric: 1/5 identifies the product; 2/5 adds setup instructions; 3/5 separates local and production setup; 4/5 also explains production constraints and updates; 5/5 requires successful independent verification of the documented deployment and recovery steps. The supplied README and guide meet the 4/5 criteria through separate setup routes, TLS consequences, secrets, storage, and migration-backup instructions. Deployment and recovery were not exercised.
CommunityN/AThe supplied snapshot shows recent pushes and queue activity, but does not establish maintainer response quality or long-term support capacity.
MaturityN/AThe database test task failed without a diagnostic cause in the supplied tail. Recovery, upgrades, and agent permissions were not exercised, so overall maturity cannot be scored.

Who it’s for

Teams already using coding agents that want assignments connected to their issue tracker.
Operators willing to maintain PostgreSQL, object storage, and the application's supporting services.
Developers evaluating an API-accessible tracker who can tolerate the README's warning about breaking changes.

Who it’s NOT for

Teams requiring a stable upgrade contract: the README warns of breaking changes before the first stable release.
Operators planning a plain-HTTP production instance: the self-hosting guide requires TLS because browsers will not retain the Secure session cookie over ordinary HTTP.
Organizations whose deployment policy excludes AGPL-3.0: the main application uses that license, while the runner is Apache-2.0.
Contributors requiring a successful complete-suite baseline: the measured test command failed at @repo/db#test, and the supplied tail does not explain its underlying error.

Setup reality

The supplied sandbox run installed Itsaplan commit e82bc56 in 18 seconds on October 19, 2026, recording 1,294 dependencies and 1,489 MB on disk. The build succeeded in 125 seconds. Tests failed with exit 1 after 7 seconds, with @repo/db#test named as the failed task. The tail does not establish the underlying cause.

The supplied production guide requires Docker and a domain behind a TLS-terminating reverse proxy. Its stack includes PostgreSQL, RustFS object storage, API, web, worker, and bot services. AI is optional. Internal agents require model configuration; external agents use a runner on a machine and account the operator controls.

The sandbox had 3 CPUs and 8 GB RAM with image label lab-node:22. That label establishes neither the actual runtime nor the operating-system version. The successful source build does not verify browser sign-in, attachment retrieval, agent execution, or upgrades. The supplied documentation describes current upstream behavior; it is not a commit-pinned verification of those workflows at e82bc56.

Assigning issues to agents is the reason to evaluate Itsaplan

Itsaplan gives agents roles, permissions, and assigned issues on the same board as people. For teams already handing work to coding agents, that is a concrete reason to evaluate this self-hosted tracker: assignments can stay attached to the project. The README also documents boards and shared project documents without requiring AI.

Internal agents run on the instance with a configured model and tools. External agents run on a machine and account you control, through a runner that hands tasks to Claude Code or another supported coding CLI. Neither arrangement was demonstrated by the supplied source build. These are documented capabilities, rather than verified agent workflows at the tested commit.

What happened when we ran it

The supplied sandbox run installed Itsaplan commit e82bc56 in 18 seconds on October 19, 2026, recording 1,294 dependencies and 1,489 MB on disk. The build succeeded in 125 seconds. Tests failed with exit 1 after 7 seconds.

Before installation, the checkout occupied 40.1 MB and contained 2,918 files with approximately 242,105 source lines. The dependency footprint helps budget a development checkout; it does not measure production storage or memory requirements.

The failing tail names @repo/db#test and says its bun run test command exited with code 1. The task summary records 0 successful tasks out of 8, with none cached. Separate fragments report 7 tests across one file and 1 test across one file for the database package. Those fragments do not establish a complete-suite passing count.

The tail does not explain the database task's underlying error. Retrieve the full failing output and reproduce that task before treating the checkout as a verified development baseline. The failure alone does not establish that the tracker is broken.

The scan recorded 6 CI workflow files, a Compose file, and monorepo workspaces, with no Dockerfile or tests directory detected. The absence of a detected tests directory does not contradict the test execution in the log. The sandbox had 3 CPUs and 8 GB RAM with image label lab-node:22; actual runtime and operating-system versions remain unverified. No dependency-vulnerability result was supplied.

Production sign-in requires TLS

The self-hosting guide requires Docker and a domain behind a TLS-terminating reverse proxy. In production, browsers do not retain the Secure session cookie over ordinary HTTP. A sign-in request can succeed while the application stays signed out. The guide separately describes localhost exceptions, so this production constraint should not be generalized to every local setup.

The documented stack includes PostgreSQL and RustFS object storage beside API, worker, bot, and web services. Operators configure application URLs, secrets, database access, and storage credentials. The API can use a subdomain or a path on the web host, with corresponding proxy configuration. The source build did not verify either deployment arrangement.

The guide describes a database dump before migrations and stores attachments separately in RustFS. Before importing team history, verify recovery of both stores. A database-only backup does not cover the attachment files. That is a deployment acceptance check, not a recovery test completed in this review.

For local exploration, the README documents Docker and Bun with a setup command that chooses ports and generates secrets. That route can help start an evaluation, but its documented convenience does not establish production readiness.

Check permissions and upgrades during the pilot

The README describes a REST API and an MCP server through which an external assistant can read and change issues. Agent runs can start from an assignment, a mention, or a schedule. Use a disposable project to check what the agent can read and change, then follow an assignment through completion before granting access to important work.

The stated license is AGPL-3.0 for the main application and Apache-2.0 for the runner. A commercial-license option is mentioned, but its terms were not assessed. Organizations that exclude AGPL should resolve that requirement before investing in deployment.

The README warns of breaking changes before the first stable release. Treat that as an upstream warning, rather than inferring release stability from a version number. Pin the version used for a pilot and rehearse required workflows before upgrading a populated instance.

Recent activity does not verify proposed features

The supplied GitHub metadata records a last push on October 19, 2026, and 46 open issues and PRs in the October 20 observation. The queue included an agent-run-history proposal updated October 20. PR #586 was created October 16 and remained open in the supplied snapshot; its proposed history and runner-queue behavior should not be presented as shipped functionality.

The queue also included an October 19 request for direct cloud invocation of external agents. These records show recent participation, but do not establish maintainer response quality, long-term support, or successful operation of either proposal. Tests reported in a proposal are not results from the measured e82bc56 run.

Compare alternatives by the workflow you need

Plane documents work items, cycles, roadmaps, and cloud or self-hosted deployment. Evaluate Plane when those planning features and a hosted option are priorities. This is a comparison of documented options, not a deployment or performance comparison.

Kanboard focuses on Kanban and declares maintenance mode. Its author says development is limited to small fixes rather than new major features, while community contributions remain accepted. Evaluate Kanboard when that scope and maintenance posture suit your workflow.

Pilot Itsaplan when assigning work directly to agents is a requirement you already have. Check browser sign-in, attachment retrieval, permissions, and an agent assignment through completion in one disposable project. Keep the team's only project record elsewhere until those checks and the unresolved database test failure are understood.

Alternatives

ProjectWhat it isPick it when
Plane gh↗A project tracker documenting work items, cycles, roadmaps, and cloud or self-hosted deployment.Evaluate it when cycles, roadmap planning, and a hosted option are priorities; these options were not deployed in this review.
KanboardA Kanban-focused project manager that declares maintenance mode.Evaluate it when Kanban covers the workflow and you accept the author's stated focus on small fixes rather than new major features.

What people are saying

  1. [github-trending] croffasia/itsaplan

Sources

  1. Itsaplan README
  2. Itsaplan self-hosting guide
  3. Plane README
  4. Kanboard README
  5. Itsaplan public repository metadata
  6. Itsaplan recently updated issue and PR queue

More self-hosted reviews

immich-go · playport · edge-smart-doh · Comma · ProsperoEden · zulu · the whole board →