It's a Plan: la alternativa open source a Linear y Jira donde los agentes de IA son parte del equipo
It's a Plan es un gestor de proyectos e incidencias (*issue tracker*) open source que se instala en tu propio servidor y que trata a los agentes de IA como miembros del equipo: un agente tiene un rol, permisos y puede recibir tareas asignadas en el mismo tablero que las personas. Se presenta como alternativa a Linear, Jira, Trello y Plane, se publica con licencia AGPL-3.0 y su última versión es la 1.5.0, del 13 de octubre de 2026.
En este análisis leemos su código y su documentación para contarte qué hace de verdad, cómo funciona por dentro, cómo se usa en un equipo de software, si te compensa como empresa o como freelancer, y en qué gana y en qué pierde frente a las herramientas de pago.

Qué es It's a Plan y quién lo hace
- Repositorio: github.com/croffasia/itsaplan
- Web: itsaplan.dev
- Versión analizada: 1.5.0 (13 de octubre de 2026), más los cambios de
mainhasta el 17 de octubre. Publica versiones casi cada semana: la 1.4.0 salió el 8 de octubre. - Licencia: AGPL-3.0 para todo el proyecto, salvo el paquete
@itsaplan/runner, que va con Apache-2.0. El autor ofrece también una licencia comercial a empresas a las que la AGPL no les encaje. - Autor: Andrii Poluosmak, según el copyright del README. Acepta contribuciones con un acuerdo de licencia de contribuidor (ICLA).
- Estado: en desarrollo activo. El propio README avisa: "espera cambios incompatibles antes de la primera versión estable".
Una aclaración sobre la licencia, porque cambia las cosas respecto a los proyectos MIT que solemos tratar aquí. La AGPL-3.0 te deja usarlo gratis, también en una empresa y con fines comerciales. La obligación aparece si modificas el código y ofreces esa versión modificada a otros por red (por ejemplo, como SaaS para clientes): entonces tienes que publicar tus cambios con la misma licencia. Para usarlo internamente tal cual, no tienes que publicar nada.
Qué hace: un gestor de tareas completo, con o sin IA
El README insiste en que funciona como gestor de tareas normal aunque no actives ni un solo agente. Esto es lo que trae la 1.5.0:
| Área | Qué incluye |
|---|---|
| Vistas | Kanban, tabla, timeline (tipo Gantt) y calendario. Cada vista se guarda como pestaña con sus filtros y agrupación a dos niveles |
| Organización | Proyectos, ciclos (sprints) que pasan lo pendiente al siguiente, iniciativas, campos personalizados, etiquetas, tipos de incidencia, subtareas, checklists, relaciones (bloquea, relacionada, duplicada) |
| Seguimiento | Paneles con throughput, burnup con fecha estimada de fin, desglose y "pulse"; registro de horas (*worklogs*) |
| Documentación | Páginas Markdown en árbol con historial de revisiones, y pizarras de notas adhesivas |
| Compartir | Enlace público de solo lectura a una vista o una tarea, sin iniciar sesión |
| Código | Pull requests de GitHub, GitLab, Gitea, Forgejo y Bitbucket: escribir "Fixes KEY-42" enlaza el PR y mueve la tarea al abrirlo y al fusionarlo |
| Plataforma | API REST con OpenAPI, servidor MCP, webhooks firmados, passkeys, Google y OIDC (Keycloak, Authentik, Okta, Entra), SCIM |
| Avisos | Correo (SMTP, Resend o Microsoft 365) y Telegram |
| Migración | Importadores desde Linear y Plane |
| Idiomas | Una decena, incluido español (de España) |


Lo que lo diferencia: agentes de IA como compañeros
La parte que ha hecho viral al proyecto es esta. En It's a Plan un agente de IA se da de alta como miembro del proyecto, con su rol y sus permisos, igual que una persona. Hay dos tipos:
- Agentes internos. Se ejecutan en el propio servidor. Eliges el modelo, el *prompt* de sistema, las herramientas y unas "skills" reutilizables que puedes escribir ahí mismo o importar desde un repositorio de GitHub. Usan el framework Mastra y aceptan claves de OpenAI, Anthropic, Google (Gemini), xAI, Mistral, Groq, DeepSeek, OpenRouter y decenas de proveedores más, o cualquier endpoint compatible con OpenAI. Traen herramientas para Notion, Telegram, Threads, Instagram, Jina, Firecrawl y Gitea.
- Agentes externos. Se ejecutan en tu propio ordenador, con tu cuenta. Instalas
@itsaplan/runnery este le pasa cada tarea a Claude Code, Codex, opencode, Antigravity CLI, GitHub Copilot CLI, Pi, Oh My Pi o cualquier comando que lea de la entrada estándar.
Un agente empieza a trabajar por tres vías: lo mencionas con @ en un comentario, le asignas una tarea, o salta una agenda programada (por ejemplo, "cada miércoles a las 9, revisa el backlog"). Cada agente tiene además un chat propio con su historial, y desde la 1.5.0 la instancia muestra cuánto gasta cada agente en tokens, por equipo y por espacio de trabajo.


Cómo funciona por dentro
Para un equipo técnico es útil saber qué estás metiendo en tu servidor. El repositorio es un monorepo con Bun y Turborepo:
| Capa | Tecnología |
|---|---|
| Backend (API) | Elysia sobre Bun |
| Frontend | Next.js (App Router) con shadcn/ui y Tailwind v4 |
| Base de datos | PostgreSQL 17 con Drizzle ORM |
| Archivos adjuntos | RustFS (almacenamiento compatible con S3) |
| Autenticación | better-auth (contraseña, passkeys, Google, OIDC) |
| Agentes | Mastra |
En producción, Docker Compose levanta postgres, rustfs, migrate (aplica las migraciones antes de arrancar la API), api, worker (trabajos en segundo plano como agentes internos, agendas y envíos), bot (Telegram) y web.
El detalle técnico más interesante es el servidor MCP. No está escrito a mano: se genera a partir de las rutas de la API que llevan una marca x-mcp en su definición OpenAPI. Cada herramienta MCP reenvía la llamada a la ruta real, así que la validación y los permisos son los mismos que en la API. En el código de main hay unas 200 herramientas declaradas (create_issue, update_issue, add_comment, get_project_burnup, create_agent_schedule...). Esto significa que Claude Code, Claude Desktop o cualquier cliente MCP puede manejar casi todo el gestor, no solo leer tareas.
El flujo de un agente externo queda así:

El runner consulta la cola de tu instancia (no hace falta abrir puertos en tu ordenador), recoge el trabajo y lanza el CLI. Con Claude Code, por ejemplo, el *preset* añade --permission-mode auto y --output-format stream-json, de modo que nadie tiene que aprobar acciones y el chat del tablero ve la respuesta palabra a palabra. Tu código no sale de tu máquina: lo que viaja a la instancia es lo que el agente escribe por MCP (comentarios, cambios de estado).
Cómo se usa en un equipo de software
Con lo anterior, estos son usos concretos que la herramienta resuelve:
- Triage de bugs. Un agente interno, con una agenda diaria, revisa las incidencias nuevas, pone etiquetas y prioridad, y pregunta en comentarios lo que falta.
- Delegar tareas pequeñas al agente de código. Asignas "ISAP-42: el filtro de fechas ignora la zona horaria" al agente externo. El runner abre Claude Code en tu repositorio, el agente hace el cambio, abre un PR con "Fixes ISAP-42" y la tarea cambia de estado sola cuando el PR se abre y cuando se fusiona.
- Informes del sprint. Le pides en el chat al agente "calcula la salud del sprint y haz un gráfico" y responde con los datos del ciclo, como en la captura de arriba.
- Refinar el backlog. Una agenda semanal agrupa duplicados, propone estimaciones y marca tareas bloqueadas.
- Documentación viva. Los agentes pueden crear y actualizar páginas de la sección Docs enlazadas a las tareas que describen.
Lo importante es que todo pasa en el mismo tablero: el equipo ve qué hizo el agente, cuándo y en qué tarea, igual que con un compañero. Es la diferencia con lanzar Claude Code a mano y pegar el resultado en Jira. Si quieres que ese agente trabaje con método (diseño, plan, tests), combínalo con skills como las de Superpowers para Claude Code; si aún no sabes qué es una skill, empieza por esta guía de skills de Claude Code.
¿Te ayuda si trabajas en una empresa?
Sí, si se cumplen tres condiciones: tenéis a alguien que mantenga un servidor, queréis que los datos de proyectos no salgan de vuestra infraestructura, y ya usáis agentes de programación.
- Ahorro en licencias. No hay pago por usuario. Un equipo de 20 personas en Linear Basic (unos 10 USD por usuario y mes con facturación anual, según tarifas públicas de 2026) paga alrededor de 2.400 USD al año; aquí pagas el servidor y el consumo de IA.
- Datos en casa. Base de datos, adjuntos y claves de IA son tuyos. Para sectores con requisitos de privacidad o clientes que lo exigen, es un argumento fuerte.
- Integración empresarial. SSO por OIDC, SCIM para altas y bajas, roles y permisos, webhooks firmados. Es más de lo que suele traer un proyecto tan joven.
- Pero no hay integración con Slack ni Microsoft Teams (los avisos van por correo y Telegram), no hay importador de Jira, y una versión que cambia cada semana con cambios incompatibles anunciados exige probar las actualizaciones antes de aplicarlas.
¿Te ayuda si eres freelancer?
Depende de cuánto trabajes con agentes.
- A favor: puedes tener un proyecto por cliente, compartir con el cliente un enlace público de solo lectura al tablero o al roadmap, registrar horas por tarea y delegar en Claude Code o Codex las tareas pequeñas mientras tú revisas los PR. La edición Community no tiene coste por usuario, así que invitar al cliente no cuesta nada.
- En contra: tienes que mantener un servidor con HTTPS, dos dominios (o un dominio con ruta
/api) y copias de seguridad de PostgreSQL. Si llevas pocos proyectos, el plan gratuito de Linear o Trello te da tablero sin mantenimiento. Y el aislamiento de clientes en espacios de trabajo separados es justo una de las funciones que la web reserva a la edición Pro (99 USD al año, todavía "en desarrollo").
Si ya tienes un VPS con Coolify, como el que montamos en la guía de Paymenter con Coolify, añadir It's a Plan es otra aplicación más en el mismo servidor.
Comparativa con Linear, Jira y Plane
Precios públicos aproximados consultados en octubre de 2026; compruébalos en la web de cada producto antes de decidir.
| It's a Plan | Linear | Jira Cloud | Plane | |
|---|---|---|---|---|
| Precio | Gratis (Community); Pro 99 USD/año en desarrollo | Gratis limitado; Basic ~10 USD y Business ~16 USD por usuario/mes | Gratis hasta 10 usuarios; Standard ~8 USD y Premium ~15 USD por usuario/mes | Community gratis; planes de pago por usuario |
| Licencia | AGPL-3.0 | Propietaria | Propietaria | AGPL-3.0 (Community) |
| Autoalojable | Sí, todas las funciones | No | Solo Data Center, que Atlassian está retirando | Sí |
| Agentes de IA como miembros asignables | Sí, internos y externos | Integraciones de agentes y créditos de IA de pago | Rovo, de Atlassian | Funciones de IA en planes de pago |
| Usa tu CLI (Claude Code, Codex) en tu equipo | Sí, con el runner | No de forma nativa | No | No |
| Tus propias claves de IA | Sí, decenas de proveedores | No | No | No consta |
| Servidor MCP | Sí, ~200 herramientas | Sí | Sí | Sí |
| Integración con Slack | No | Sí | Sí | Sí |
| Apps móviles nativas | No (web instalable como PWA) | Sí | Sí | Sí |
| Madurez | Versión 1.x de 2026, cambios frecuentes | Muy maduro | Muy maduro, enorme ecosistema | Maduro |
Lo que It's a Plan solventa frente a las de pago: el coste por usuario, la dependencia de un proveedor (*lock-in*), elegir el modelo y pagar solo lo que consume, y que el agente de código trabaje en tu máquina con tu repositorio y tus herramientas.
Lo que no solventa: el ecosistema de Jira (miles de apps del Marketplace, informes avanzados, gestión de servicios), la pulida experiencia de Linear y sus apps móviles, las integraciones con Slack o Teams, y la tranquilidad de no tener que mantener nada.
¿Es fácil de usar?
Hay que separar a quien lo usa de quien lo instala.
- Para el equipo que lo usa: sí. La interfaz copia los patrones de Linear: barra lateral, paleta de comandos con
⌘K, vistas guardadas como pestañas y atajos. Quien venga de Linear o Plane se sitúa enseguida; quien venga de Jira lo encontrará más simple. Asignar una tarea a un agente es igual que asignarla a una persona. - Para quien lo instala: medio. Probarlo en local es un comando. Llevarlo a producción exige entender variables de entorno, un proxy con HTTPS y dónde vive la API. Configurar un agente externo pide tocar dos archivos JSON y activar el MCP del proyecto. No es difícil para un desarrollador, pero no es "crear cuenta y listo".
Cómo instalar It's a Plan
Hay cinco caminos documentados: Railway (un clic, en tu cuenta de Railway), Docker Compose, Coolify, Kubernetes con Helm y desarrollo local. Los comandos de esta sección son los de la documentación oficial de la 1.5.0.
Probarlo en tu ordenador
Necesitas Docker y Bun:
git clone https://github.com/croffasia/itsaplan.git
cd itsaplan
bun install
bun run setupEl asistente pregunta qué quieres hacer: elige Try it. Busca puertos libres, genera los secretos, levanta todo en Docker y abre http://localhost:3001. La primera cuenta que registres será la administradora de la instancia.
En producción con Docker Compose
git clone https://github.com/croffasia/itsaplan.git
cd itsaplan
cp .env.example .env
docker compose up -dAntes del up, rellena en .env estas variables; el stack se niega a arrancar si falta alguna:
API_URL=https://api.tudominio.com
APP_URL=https://app.tudominio.com
POSTGRES_PASSWORD= # openssl rand -base64 32
BETTER_AUTH_SECRET= # openssl rand -base64 32
APP_ENCRYPTION_KEY= # openssl rand -base64 32
S3_ACCESS_KEY_ID= # usuario de RustFS, más de 3 caracteres
S3_SECRET_ACCESS_KEY= # openssl rand -base64 32VERSION en .env fija una versión concreta en lugar de la última. Si prefieres un solo dominio, API_URL puede ser una ruta (https://app.tudominio.com/api) y el proxy debe quitar ese prefijo al pasar la petición a la API.
Con Coolify
En Coolify: New Resource → Public Repository, pega https://github.com/croffasia/itsaplan.git, elige Docker Compose como Build Pack y /docker-compose.coolify.yml como archivo. Cambia la rama a release para recibir solo versiones publicadas (main trae lo último y puede romperse), y asigna un dominio a la API y otro a la web. Coolify genera los secretos.
Conectar Claude Code como agente externo
- En el proyecto, Settings → AI agents: crea un agente de tipo External y copia la clave (solo se muestra una vez).
- Settings → MCP Server: actívalo. Viene apagado por defecto.
- En la carpeta de tu repositorio crea
.mcp.json:
{
"mcpServers": {
"itsaplan": {
"type": "http",
"url": "https://api.tudominio.com/mcp",
"headers": { "Authorization": "Bearer ${ITSAPLAN_API_KEY}" }
}
}
}- Y
itsaplan-runner.jsonal lado:
{
"url": "https://api.tudominio.com",
"apiKey": "la clave que copiaste",
"agent": "claude"
}- Arranca el runner:
npx -y @itsaplan/runnerEn unos segundos el agente aparece como conectado en el proyecto. Asígnale una tarea o menciónalo en un comentario y verás el trabajo empezar en tu terminal. No subas itsaplan-runner.json a Git: lleva la clave del agente.
Pros y contras
Pros
- Gestor de tareas completo sin activar la IA: Kanban, timeline, calendario, ciclos, paneles, docs y horas.
- Agentes de IA con rol, permisos, menciones, asignaciones y agendas, y control de cuánto gastan.
- Usa el agente de programación que ya pagas (Claude Code, Codex, Copilot CLI) en tu máquina, con tu repositorio.
- Trae tus propias claves de IA, de decenas de proveedores.
- API, MCP con unas 200 herramientas y webhooks: todo es automatizable.
- SSO por OIDC, SCIM, passkeys y roles.
- Sin coste por usuario y con tus datos en tu servidor.
- Importa desde Linear y Plane.
Contras
- Proyecto muy joven y con cambios incompatibles anunciados antes de la versión estable.
- AGPL-3.0: si lo modificas y lo ofreces como servicio, tienes que publicar tus cambios.
- Telemetría activada por defecto (anónima y por rangos; se desactiva con
TELEMETRY_DISABLED=1). - Sin Slack, sin Teams, sin apps móviles nativas y sin importador de Jira.
- Requiere HTTPS y una configuración de dominios cuidadosa.
- Proyecto de un solo autor principal: valora el riesgo de que el ritmo cambie.
- El coste de la IA no desaparece: pasa de la suscripción a tu factura de tokens.
Errores y sorpresas frecuentes
Recogidos de la documentación oficial, que los describe con detalle:
- Inicias sesión y la app sigue sin sesión. En producción la cookie es
Securey el navegador la descarta porhttp://. Necesitas HTTPS (solohttp://localhostfunciona sin él, y no en Safari). - Cambiar los secretos después de arrancar.
BETTER_AUTH_SECRETyAPP_ENCRYPTION_KEYse usan para cifrar datos: si los cambias con la base de datos ya creada, la instancia no podrá leer su propia información. - La API en otro dominio.
api.otrodominio.comcon la web enapp.tudominio.comno funciona: la cookie de sesión no se comparte entre dominios registrables distintos. - El agente externo no hace nada. Revisa que el MCP del proyecto esté activado (viene apagado) y que el CLI tenga su propia configuración MCP apuntando a tu instancia.
- Clientes MCP con OAuth en HTTP. Sobre una
API_URLHTTP que no sealocalhost, el MCP solo acepta claves personales de API, no OAuth.
Preguntas frecuentes
¿It's a Plan es gratis?
Sí. La edición Community es gratuita y sin límite de usuarios. Pagas tu servidor y el consumo de los modelos de IA. La web anuncia una edición Pro de 99 USD al año, todavía en desarrollo.
¿Puedo usarlo en mi empresa con la licencia AGPL?
Sí. Usarlo internamente, aunque sea para un negocio, no te obliga a nada. La AGPL solo te obliga a publicar el código si lo modificas y ofreces esa versión a terceros por red. Para otros casos el autor vende una licencia comercial.
¿Necesito pagar una IA para usarlo?
No. Funciona como gestor de tareas sin agentes. Si los usas, los internos necesitan una clave de un proveedor (OpenAI, Anthropic, Gemini, OpenRouter...) y los externos usan la suscripción de tu CLI, por ejemplo Claude Code.
¿Puedo migrar desde Jira o Linear?
Desde Linear y Plane, sí, con importadores incluidos. Desde Jira no hay importador en la versión 1.5.0.
¿Está en español?
La interfaz tiene traducción al español (de España), además de inglés, francés, portugués de Brasil, chino, árabe y otros idiomas.
¿Lo hemos instalado?
Para este análisis hemos leído el código y la documentación de la versión 1.5.0. Las capturas de la aplicación son las oficiales del proyecto y el esquema del flujo es nuestro.
Conclusión
It's a Plan es de los pocos gestores de tareas en los que delegar una tarea a un agente de IA es tan natural como asignarla a un compañero, y lo hace sin cobrarte por usuario ni sacar tus datos de tu servidor. Si tu equipo ya trabaja con Claude Code o Codex y alguien puede mantener un servidor, merece una prueba en local con bun run setup. Si dependes de Slack, de apps móviles o del ecosistema de Jira, o no quieres mantener nada, espera a que madure.
Si te interesan otras alternativas open source a programas de pago, mira también nuestra prueba de FigCraft, la alternativa open source a Figma.
// código fuente
// implementación
Más sobre Herramientas open source

- Alternativas gratis a apps de pago
- Instálalo en tu servidor

- Diseño, imagen y vídeo
- Alternativas gratis a apps de pago

- Alternativas gratis a apps de pago
- Diseño, imagen y vídeo