← Torna al blog
Aicirca 6 min di lettura

ThinkRail: un worktree git per ogni agente

Pubblicato 2 nov 2026
ThinkRail: un worktree git per ogni agente

JetBrains ha l'abitudine di rilasciare strumenti che danno per scontato che tu sappia già cosa stai facendo. ThinkRail è diverso, e la differenza sta in una frase del README: apri un repository git come progetto, e ricavi da lì i workspace come worktree git.

È tutta la tesi, ed è migliore di «un IDE con l'AI». ThinkRail è un progetto incubatore di JetBrains, intorno alle 7.100 stelle con 5.760 aggiunte nell'ultima settimana, ed è costruito intorno a pi, l'agente di coding aperto. Quello che JetBrains ha aggiunto non è un pannello di chat. È l'impianto idraulico che permette a più agenti di lavorare insieme senza pestarsi i piedi.

Worktree invece di speranza

Se hai fatto girare due agenti sullo stesso repository, conosci il modo in cui fallisce. Uno inizia a modificare auth.ts, l'altro decide di rifattorizzare auth.ts, e passi il pomeriggio a fare archeologia su un conflitto di merge che entrambi credono di aver scritto.

La risposta di ThinkRail è che ogni workspace è un worktree git con il proprio branch e la propria directory di lavoro. Gli agenti lavorano in parallelo e nessuno tocca il tuo checkout. Fai il merge del branch che ti piace e cancelli il resto.

Sopra c'è un bel pezzo di manutenzione: i workspace finiti e dormienti si depositano da soli su uno scaffale per progetto, quando la loro pull request viene mergiata o chiusa, o dopo una settimana di silenzio, e tornano appena ci lavori di nuovo. Se hai mai avuto venti branch vecchi chiamati fix-thing-2, questa è la funzione che non sapevi di volere.

Four identical wooden workbenches in a workshop, each lit by its own lamp

La barra superiore tiene traccia di dove sta il branch attivo rispetto a origin e alla sua pull request, e mette il passo successivo a un clic: pubblicare, pushare o aprire una PR descritta dal piano, dai commit, dal tuo template o da una bozza scritta dall'agente. Una volta aperta la PR mostra i check di CI e la decisione di review, e ti lascia riconsegnare all'agente i check falliti o un branch divergente.

La parte IDE è vera, non decorativa

Tab Monaco splittabili, un albero dei file con i segni dei cambi git in tempo reale, una vista dei file modificati, terminali e documenti, tutto circoscritto al workspace attivo. Puoi lasciare commenti di review ancorati su file e diff e mandarli in chat come contesto strutturato. Oppure aprire il worktree nel tuo IDE installato, che è l'ammissione onesta che alcuni di noi vogliono ancora WebStorm.

Le chat arrivano in streaming con un contatore live di token e costo per sessione, il genere di dettaglio che compare solo quando chi costruisce lo strumento paga le proprie bollette. Puoi guidare un turno in corso, accodare un seguito, delegare a sub-agenti e lavorare su un piano condiviso che l'agente aggiorna mentre tu lo modifichi. Ogni passo completato può essere committato e revisionato da solo, che è un'unità di review molto migliore di «ecco 38 file».

La palette dei comandi su ⌘K, o doppio tocco di Shift, trova chat, workspace e progetti su ogni progetto aperto. Con il campo vuoto elenca le chat in attesa di te, che è il default corretto per uno strumento che gestisce molte sessioni.

Le specifiche come ciò che sopravvive

La funzione su cui torno sempre è il grafo delle specifiche. Un insieme collegato di file SPEC.md vive accanto al codice, e l'agente lo legge, lo cerca e lo mantiene tramite strumenti dedicati spec_*. Lo strumento Specs, in sola lettura, disegna il grafo come albero nel workbench.

Il ragionamento regge. Le finestre di contesto finiscono. Le sessioni finiscono. Sopravvive quello che hai scritto. Quasi tutti gli strumenti per agenti trattano «ricordare il piano» come un problema di memoria; ThinkRail lo tratta come un problema di documentazione, che è la versione che anche un umano può leggere sei mesi dopo.

È anche la funzione con più probabilità di marcire. Un grafo di specifiche che l'agente mantiene e nessuno rivede diventa una descrizione molto sicura e molto dettagliata di software che non esiste più. L'attrezzatura rende la manutenzione economica; non la rende gratuita, e la disciplina resta a te.

Installazione

Due forme, entrambe additive: un installer desktop nativo e una CLI autosufficiente che apre la stessa app nel browser. Entrambe pubblicano SHA256SUMS sulla pagina delle release.

Riga di comando su macOS o Linux, e su Windows sotto Git Bash:

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

Windows, da cmd o PowerShell:

powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex"

Poi:

thinkrail ~/code/my-repo

Serve git nel PATH e un provider di modelli. Accedi con JetBrains AI dall'app, oppure collega qualsiasi provider tramite l'autenticazione di pi. Non esistono account ThinkRail, che è una frase che non mi aspettavo da JetBrains.

Le build desktop su Linux richiedono glibc 2.38 o superiore con GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3 e librsvg 2, in pratica Ubuntu 24.04 o successivo. L'updater compare solo quando il pacchetto porta un'identità di feed HTTPS valida, quindi le installazioni precedenti a quell'identità richiedono prima un'installazione manuale.

Il dettaglio che lo rende portabile

ThinkRail legge la tua configurazione esistente in ~/.pi/agent. Puntala altrove con PI_CODING_AGENT_DIR se tieni un profilo di lavoro. In Impostazioni, Custom servers collega qualsiasi endpoint compatibile OpenAI, LiteLLM, sglang, vLLM, Ollama, LM Studio, llama.cpp, e lo scrive nel models.json di pi, così quei modelli compaiono sia nel selettore della chat sia nella CLI.

Anche i server MCP del tuo mcp.json arrivano, con il comportamento giusto: ThinkRail chiede in chat prima delle chiamate che il server non marca come sola lettura, tiene spenti i server definiti nel repository finché non li approvi, e ti fa accedere ai server OAuth dalle impostazioni.

Le estensioni dell'agente sono altrettanto pragmatiche. Le impostazioni elencano cosa riceve l'agente, ti lasciano disattivare ognuna e installano qualsiasi pacchetto pi da sorgente, npm, git o una cartella locale, per te o per un repository. Gli strumenti ask-user-question e visualize sono pubblicati come pacchetti separati, così un pi vanilla in un terminale ottiene gli stessi prompt a scelta multipla e gli stessi diagrammi inline.

Cosa terrei d'occhio

Settemilaseicento stelle in una settimana per un progetto incubatore sono molta attenzione per qualcosa che non è passato attraverso un ciclo di release JetBrains. I progetti incubatori di JetBrains hanno la storia di diventare prodotti o di fermarsi in silenzio, e le beta hanno il vizio di diventare la versione da cui dipendi.

L'altro rischio è concettuale. È uno strumento molto completo con molte superfici: worktree, specifiche, palette, estensioni, MCP, temi, font, quattro lingue integrate con un percorso documentato per aggiungerne altre. Ognuna è un posto dove configurare invece di scrivere codice. L'esito migliore per ThinkRail è che il modello a worktree diventi così ovviamente corretto che nessuno ne parli più, e il resto dell'app si tolga di mezzo.

Provatelo se già fate girare agenti in parallelo e la vostra risposta attuale è «più finestre di terminale e incrociare le dita». L'isolamento dei worktree da solo vale il download. Provatelo come IDE normale e scoprirete che non sta cercando di esserlo.

Articoli correlati