📋 It’s a Plan (itsaplan) — Gestor de Proyectos Open-Source & Self-Hosted con Agentes IA

La Alternativa Autoalojada a Linear y Plane donde la IA es un Miembro Real del Equipo

It’s a Plan (croffasia/itsaplan, creado por Andrii Poluosmak, licencias AGPL-3.0 y Apache-2.0 para el runner) es una plataforma de gestión de proyectos, seguimiento de issues y planificación de productos de código abierto diseñada bajo un paradigma revolucionario: los agentes de IA son compañeros de equipo de pleno derecho en el tablero.

En lugar de relegar la IA a un panel lateral de chat aislado, los agentes tienen su propio perfil, avatar, rol, permisos y slot de asignación directo en el Kanban o tabla. Pueden recibir tickets asignados por humanos, responder a menciones @agente o dispararse automáticamente mediante tareas programadas (scheduled runs) para triajes, limpiezas y revisiones de código.


🧭 Arquitectura: Agentes como Miembros del Tablero

flowchart TD
    User["👨‍💻 Desarrollador / Product Manager"] --> Board["📋 Tablero Kanban & Vistas (Linear-Style)\n(Issues, Cycles, Subtasks, Docs, Canvas)"]
    
    subgraph Core["🏛️ Instancia It's a Plan (Self-Hosted)"]
        Backend["⚡ ElysiaJS Backend (Bun Engine)"]
        DB[("💾 PostgreSQL + Drizzle ORM")]
        Storage["📦 RustFS (S3 Compatible Storage)"]
        MCP["🔌 Servidor MCP & REST API OpenAPI"]
        Webhooks["🔔 Webhooks & Integraciones de 5 Forjas\n(GitHub, GitLab, Gitea, Forgejo, Bitbucket)"]
    end

    subgraph Agents["🤖 Modos de Agentes de IA"]
        Internal["🧠 Agentes Internos (Mastra AI)\n(Ejecutados en el servidor con modelos LLM y herramientas web)"]
        External["💻 Agentes Externos (@itsaplan/runner)\n(Ejecutados localmente en tu terminal con Claude Code, Antigravity CLI, Codex)"]
    end

    Board <--> Backend
    Backend <--> DB
    Backend <--> Storage
    Backend <--> MCP
    Backend <--> Webhooks

    Board -- "1. @mención en comentario\n2. Asignación directa de ticket\n3. Scheduled Cron (Triaje)" --> Agents
    Agents -- "Actualiza estado, crea PR y comenta solución" --> Board
    Webhooks -- "Fixes KEY-42 (Cierre al mergear PR)" --> Board

⚔️ Comparativa: Linear vs. Plane vs. It’s a Plan

CaracterísticaLinearPlaneIt’s a Plan
Licencia / CódigoPrivativo (SaaS cerrado)Open Source (Apache 2.0 / Commercial)Open Source (AGPL-3.0 / Apache-2.0)
Autoalojamiento (Self-Hosted)❌ Solo Nube✅ Docker / Kubernetes✅ Docker, Bun, Coolify, Railway, Helm
Tarifas por Asiento (Per-Seat)💰 Costoso (14+/mes/usuario)💰 Plan Enterprise para ciertas funciones🆓 100% Gratis sin coste por usuario
Integración de Agentes IA⚠️ Chat lateral básico / Apps externas⚠️ Asistente tipo bot auxiliar🏆 Agentes de primera clase asignables en el tablero
Agentes Locales en tu Máquina❌ No❌ No✅ @itsaplan/runner (Claude Code, Antigravity, Codex)
Protocolo MCP Nativo❌ No⚠️ En desarrollo✅ Servidor MCP integrado nativo
Motor de BackendNode.js cerradoPython / Django⚡ Bun + ElysiaJS (Ultra alto rendimiento)
Bases de Datos & StorageGestionado propietarioPostgreSQL + MinIOPostgreSQL + Drizzle + RustFS S3

🎛️ Capacidades y Módulos Principales

1. Gestión de Proyectos de Nivel Profesional (Linear-Class)

  • Vistas Múltiples: Kanban interactivo, Tablas densas, Línea de tiempo (Timeline / Gantt) y Calendario con filtros guardados y doble nivel de agrupación.
  • Ciclos de Trabajo (Cycles / Sprints): Time-boxing con traspaso automático de issues inconclusas al siguiente ciclo.
  • Jerarquía y Relaciones: Subtareas, listas de verificación (checklists), adjuntos y enlaces de dependencia (blocks, relates to, duplicates).
  • Módulo de Documentación Integrado (Docs): Páginas Markdown en árbol jerárquico con control de revisiones, páginas privadas, bloqueo contra edición y enlaces bidireccionales con issues.
  • Lienzo de Notas Libres (Whiteboard / Canvas): Pizarra interactiva con notas adhesivas de colores, listas de chequeo y conectores visuales.
  • Analíticas y Dashboards: Métricas de rendimiento (Throughput), gráficos Burnup con fecha proyectada de culminación y pulso del equipo.

2. Agentes de IA: Internos vs. Externos con @itsaplan/runner

El Gran Salto: Tu Agente CLI Trabaja en el Tablero

Con el paquete oficial @itsaplan/runner, puedes vincular tu terminal de trabajo local:

  1. Creas un agente llamado “Antigravity Coder” o “Claude Fixer” en la plataforma.
  2. Le asignas un issue con un bug o nueva funcionalidad.
  3. Tu máquina local recibe la tarea vía runner, ejecuta Claude Code, Antigravity CLI o Codex en tu propio entorno y repositorio, ejecuta pruebas, hace el commit, levanta el Pull Request y responde en el hilo del issue con el enlace del PR.

3. Tareas Programadas (Scheduled Runs)

  • El superpoder oculto: Puedes programar agentes para que despierten en intervalos definidos (ej. todos los lunes a las 8:00 AM o cada 6 horas).
  • Casos de uso: Triaje automático de nuevos reportes de bugs, barrido de issues estancadas (stale issues), generación de resúmenes de progreso semanales para stakeholders o sincronización con herramientas externas (Notion, Telegram, Gitea).

⚡ Guía de Instalación y Despliegue

Métodos de Despliegue Rápido

Opción 1: Probar Localmente en tu Máquina (Bun + Docker)

Requisitos: Docker y Bun instalados:

# 1. Clonar el repositorio
git clone https://github.com/croffasia/itsaplan.git
cd itsaplan
 
# 2. Instalar dependencias del monorepo
bun install
 
# 3. Asistente interactivo de configuración
bun run setup   # Selecciona "Try it"

El script detecta puertos libres, genera claves criptográficas seguras, inicia el stack completo en contenedores Docker y abre automáticamente http://localhost:3001.


Opción 2: Despliegue en 1 Clic en Railway o Coolify

  • Railway: Utiliza la plantilla oficial con despliegue en un clic: railway.com/deploy/its-a-plan.
  • Coolify: Sigue la guía oficial en docs/coolify.md para autoalojar en tu VPS privado con traefik y certificados SSL automáticos de Let’s Encrypt.
  • Kubernetes: Incluye Helm Chart oficial (docs/helm.md) para clústeres empresariales.

Opción 3: Conexión del Runner Local (@itsaplan/runner)

Para delegar tickets a tu entorno local de IA:

# Instalar el runner CLI
npm install -g @itsaplan/runner
 
# Iniciar el runner conectado a tu instancia
itsaplan-runner --url https://tu-instancia.com --token TU_API_KEY --agent "Claude Code"

Integración con Servidor MCP

It’s a Plan expone un servidor MCP nativo. Puedes conectar Antigravity, Cursor o Claude Desktop agregando la URL y token MCP en tu configuración, permitiendo a cualquier agente leer tus proyectos, crear tareas y mover estados mediante lenguaje natural.