Jorge Turbica / blog · Blog ← Todos los artículos EN · Read in English
IA

Repo del día: ThinkRail, el IDE de JetBrains que da a cada agente su propio worktree

JetBrains publica ThinkRail, un IDE abierto para el agente pi con un git worktree por tarea, specs, skills y el PR integrado. +1.173 estrellas en un día.

ThinkRail sumó 1.173 estrellas en un solo día y el 27 de octubre de 2026 encabezaba el GitHub Trending diario de TypeScript, con 3.194 en total. No es un plugin más para IntelliJ: es un IDE ligero de JetBrains construido alrededor de un agente de código, pi, en el que cada tarea vive en su propio git worktree y el pull request se gestiona desde la barra superior.

Qué es y cómo funciona por dentro

ThinkRail parte de una idea sencilla: si vas a tener varios agentes trabajando a la vez, cada uno necesita su rama y su directorio, y tú necesitas ver qué ha cambiado sin perder tu checkout. Cada proyecto es un repo git y cada tarea es un workspace creado como git worktree con su propia rama. Los agentes trabajan en paralelo; al final fusionas la rama buena y borras el resto. Los workspaces terminados se archivan solos cuando su PR se fusiona o se cierra, o tras una semana sin actividad.

El agente no es de JetBrains: es pi, que se ejecuta dentro del proceso. La arquitectura tiene tres capas:

  • Host del motor (packages/server): un servidor HTTP + WebSocket sobre Bun.serve con una sesión de pi por chat.
  • El protocolo (packages/contracts): un contrato tipado y versionado entre host y UI.
  • El cliente (apps/web): React 19, Zustand y Tailwind v4.

pi se encarga de modelos, skills, compactación de contexto y coste; ThinkRail, del workspace, el editor y la comunicación, y el README insiste en que "nunca monta prompts a tus espaldas". Lo que añade alrededor del agente:

  • Un IDE de verdad: pestañas de Monaco, árbol de ficheros con marcas de git, terminales y comentarios de revisión anclados a líneas que puedes mandar al chat como contexto.
  • Varios chats concurrentes por workspace, cada uno con su modelo y su contador de tokens y coste, subagentes y un plan compartido cuyos pasos se pueden commitear por separado.
  • Specs: un grafo de ficheros SPEC.md junto al código que el agente lee y mantiene con herramientas spec_*, para que la intención sobreviva a la sesión.
  • Agent Skills portables (las que ya tengas para otros agentes se leen en su sitio) y servidores MCP desde el mcp.json de pi, con confirmación en el chat para las llamadas que el servidor no marca como de solo lectura.
  • Con un PR abierto en GitHub muestra los checks de CI y la decisión de revisión, y permite pasarle al agente los checks fallidos o una rama desfasada.

Proveedores: inicias sesión con JetBrains AI o usas cualquier proveedor configurado en pi; ThinkRail no tiene cuentas propias. Licencia Apache-2.0.

Cómo instalarlo

Hay app de escritorio (macOS 14+, Windows x64 y Linux x64/ARM64 con glibc 2.38+, es decir, Ubuntu 24.04 o posterior) y un CLI que abre la misma app en el navegador. El CLI se instala con un script que descarga el binario y verifica su SHA-256:

bash
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash
thinkrail ~/code/my-repo

Es un curl | bash: si no quieres ejecutar el script a ciegas, la página de releases publica los binarios con SHA256SUMS para instalarlos a mano. Necesitas git en el PATH y un proveedor de modelos autenticado. Los binarios de Linux no están firmados y el CLI de macOS está firmado pero aún no notarizado.

Lo que me convence y lo que no

Me convence que resuelva el problema real de trabajar con varios agentes: aislamiento por worktree, revisión del diff y el ciclo del PR en la misma ventana. Los SPEC.md como fuente de verdad también son una buena idea para que el siguiente agente (o la siguiente persona) no empiece de cero. Y el ritmo es alto: 577 commits, la versión estable v0.2.0 del 18 de octubre de 2026 trajo soporte MCP y una pestaña de revisión de cambios por fragmentos, y el canal nightly va por la 0.3.0-nightly.6 del 25 de octubre.

Lo que no: es un proyecto de la incubadora de JetBrains en versión 0.x, y el propio README da "soporte completo de extensiones" como trabajo pendiente. La telemetría básica (eventos de uso e informes de error con un ID de instalación aleatorio) está siempre activa; solo los datos adicionales son opcionales. Y te ata a pi: si tu equipo ya trabaja con Claude Code o Codex, no puedes cambiar de agente dentro de ThinkRail.

ThinkRail frente a Claude Squad

La alternativa más conocida para gestionar varios agentes en paralelo con worktrees es Claude Squad, una app de terminal.

ThinkRailClaude Squad
EnfoqueIDE completo alrededor de un agenteGestor de sesiones de agentes en la terminal
Agentespi (cualquier proveedor que soporte)Claude Code, Codex, Gemini, Aider y otros CLI
Aislamientogit worktree por workspaceWorkspace git aislado por tarea
Requisitosgit, proveedor de modelostmux y gh
InterfazEscritorio o navegador, editor MonacoTUI en una sola ventana de terminal
LicenciaApache-2.0AGPL-3.0
Madurezv0.2.0, incubadora de JetBrainsReleases publicadas, CI en GitHub

Cuándo usar cada uno. Si vives en la terminal y ya tienes tu agente favorito, Claude Squad te da el aislamiento por tarea sin cambiar de herramienta. Si quieres un entorno donde el diff, los comentarios de revisión, las specs y el PR estén en la misma pantalla que el agente, y no te importa adoptar pi, ThinkRail es más completo. Para un equipo, la diferencia de licencia también cuenta: AGPL-3.0 frente a Apache-2.0.

Fuentes

Jorge Turbica

Software Engineer y SRE. Escribo sobre los retos reales que me encuentro en producción.

Ver portfolio ↗