~/codigoagente

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.

Tablero Kanban de It's a Plan en modo oscuro con columnas Backlog, Todo, In Progress y Done, tarjetas con etiquetas, estimaciones y subtareas
El tablero Kanban de It's a Plan · Captura oficial del proyecto (AGPL-3.0)

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 main hasta 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:

ÁreaQué incluye
VistasKanban, tabla, timeline (tipo Gantt) y calendario. Cada vista se guarda como pestaña con sus filtros y agrupación a dos niveles
OrganizaciónProyectos, ciclos (sprints) que pasan lo pendiente al siguiente, iniciativas, campos personalizados, etiquetas, tipos de incidencia, subtareas, checklists, relaciones (bloquea, relacionada, duplicada)
SeguimientoPaneles con throughput, burnup con fecha estimada de fin, desglose y "pulse"; registro de horas (*worklogs*)
DocumentaciónPáginas Markdown en árbol con historial de revisiones, y pizarras de notas adhesivas
CompartirEnlace público de solo lectura a una vista o una tarea, sin iniciar sesión
CódigoPull requests de GitHub, GitLab, Gitea, Forgejo y Bitbucket: escribir "Fixes KEY-42" enlaza el PR y mueve la tarea al abrirlo y al fusionarlo
PlataformaAPI REST con OpenAPI, servidor MCP, webhooks firmados, passkeys, Google y OIDC (Keycloak, Authentik, Okta, Entra), SCIM
AvisosCorreo (SMTP, Resend o Microsoft 365) y Telegram
MigraciónImportadores desde Linear y Plane
IdiomasUna decena, incluido español (de España)
Vista de tabla de It's a Plan agrupada por iniciativas con columnas de estado, responsable, prioridad, etiquetas y ciclo
Vista de tabla agrupada por iniciativas · Captura oficial del proyecto
Vista timeline de It's a Plan con barras por tarea a lo largo de las semanas y el panel de opciones de agrupación
La vista timeline, útil para planificar entregas · Captura oficial del proyecto

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/runner y 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.

Tablero de It's a Plan con el panel AI chat abierto, donde un agente Product Manager calcula la salud del sprint y dibuja un gráfico de barras por estado
Un agente "Product Manager" analiza el sprint desde el chat y dibuja un gráfico con los datos del ciclo · Captura oficial del proyecto
Página Schedules de It's a Plan con una agenda Backlog Refinement asignada al agente Product Manager cada miércoles
Agendas: tareas recurrentes para un agente, como refinar el backlog cada semana · Captura oficial del proyecto

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:

CapaTecnología
Backend (API)Elysia sobre Bun
FrontendNext.js (App Router) con shadcn/ui y Tailwind v4
Base de datosPostgreSQL 17 con Drizzle ORM
Archivos adjuntosRustFS (almacenamiento compatible con S3)
Autenticaciónbetter-auth (contraseña, passkeys, Google, OIDC)
AgentesMastra

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í:

Esquema del flujo de un agente externo en It's a Plan: disparador, cola de ejecuciones, runner en tu equipo que lanza Claude Code o Codex, y resultado escrito por MCP
Esquema de codigoagente a partir de la documentación oficial (v1.5.0)

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:

  1. 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.
  2. 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.
  3. 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.
  4. Refinar el backlog. Una agenda semanal agrupa duplicados, propone estimaciones y marca tareas bloqueadas.
  5. 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 PlanLinearJira CloudPlane
PrecioGratis (Community); Pro 99 USD/año en desarrolloGratis limitado; Basic ~10 USD y Business ~16 USD por usuario/mesGratis hasta 10 usuarios; Standard ~8 USD y Premium ~15 USD por usuario/mesCommunity gratis; planes de pago por usuario
LicenciaAGPL-3.0PropietariaPropietariaAGPL-3.0 (Community)
AutoalojableSí, todas las funcionesNoSolo Data Center, que Atlassian está retirandoSí
Agentes de IA como miembros asignablesSí, internos y externosIntegraciones de agentes y créditos de IA de pagoRovo, de AtlassianFunciones de IA en planes de pago
Usa tu CLI (Claude Code, Codex) en tu equipoSí, con el runnerNo de forma nativaNoNo
Tus propias claves de IASí, decenas de proveedoresNoNoNo consta
Servidor MCPSí, ~200 herramientasSíSíSí
Integración con SlackNoSíSíSí
Apps móviles nativasNo (web instalable como PWA)SíSíSí
MadurezVersión 1.x de 2026, cambios frecuentesMuy maduroMuy maduro, enorme ecosistemaMaduro

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:

terminalsh
git clone https://github.com/croffasia/itsaplan.git
cd itsaplan
bun install
bun run setup

El 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

terminalsh
git clone https://github.com/croffasia/itsaplan.git
cd itsaplan
cp .env.example .env
docker compose up -d

Antes del up, rellena en .env estas variables; el stack se niega a arrancar si falta alguna:

.envsh
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 32

VERSION 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

  1. En el proyecto, Settings → AI agents: crea un agente de tipo External y copia la clave (solo se muestra una vez).
  2. Settings → MCP Server: actívalo. Viene apagado por defecto.
  3. En la carpeta de tu repositorio crea .mcp.json:
.mcp.jsonjson
{
  "mcpServers": {
    "itsaplan": {
      "type": "http",
      "url": "https://api.tudominio.com/mcp",
      "headers": { "Authorization": "Bearer ${ITSAPLAN_API_KEY}" }
    }
  }
}
  1. Y itsaplan-runner.json al lado:
itsaplan-runner.jsonjson
{
  "url": "https://api.tudominio.com",
  "apiKey": "la clave que copiaste",
  "agent": "claude"
}
  1. Arranca el runner:
terminalsh
npx -y @itsaplan/runner

En 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 Secure y el navegador la descarta por http://. Necesitas HTTPS (solo http://localhost funciona sin él, y no en Safari).
  • Cambiar los secretos después de arrancar. BETTER_AUTH_SECRET y APP_ENCRYPTION_KEY se 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.com con la web en app.tudominio.com no 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_URL HTTP que no sea localhost, 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

Repositorio del artículo
El código del que habla este artículo es público: revísalo, dale una estrella o clónalo desde aquí.

// implementación

¿Necesitas implementar esta automatización en tu negocio?
No pierdas semanas configurando servidores, APIs y agentes. Safe Build Labs, la agencia que patrocina codigoagente, lo construye por ti, listo para producción.
Fish Speech 3.0 trae Drama 3 y S2-Pro: clonación de voz y TTS que puedes correr en tu GPU. Requisitos, licencia y cuánto cuesta frente a ElevenLabs.
  • Alternativas gratis a apps de pago
  • Instálalo en tu servidor
leer artículo
Qué es Idol de Speridlabs, cómo pasa de una foto a un objeto 3D con Gaussian Splatting, cuánta GPU pide, cómo instalarlo y qué licencias revisar antes.
  • Diseño, imagen y vídeo
  • Alternativas gratis a apps de pago
leer artículo
Analizamos Concat 0.2.8, el editor de vídeo libre y local alternativo a CapCut: subtítulos con Whisper, sin marca de agua, licencia AGPL y servidor MCP.
  • Alternativas gratis a apps de pago
  • Diseño, imagen y vídeo
leer artículo