ygd-editor

Guida per l’utente

Tutto quello che ti serve per il primo pomeriggio con ygd-editor, in parole semplici. Dieci minuti di lettura, e puoi tornare a qualsiasi sezione dall’elenco.

L’idea in un minuto

Un worktree di git è una seconda cartella dello stesso repository, con il checkout di un altro branch. Invece di cambiare branch in un’unica cartella — e ogni volta mettere le modifiche nello stash, ricompilare e perdere il filo — tieni una cartella per compito.

ygd-editor è costruito intorno a questo: il pannello di sinistra elenca i tuoi worktree, quello centrale mostra cosa è cambiato in quello che hai scelto e quello di destra ci esegue dentro un agente di IA. Due agenti su due compiti lavorano in due cartelle e non si scontrano mai. Quando uno aspetta una risposta, la casella delle attese nell’intestazione te lo dice.

La pagina iniziale: repository recenti e le azioni per cominciare

I tuoi primi dieci minuti

In una nuova installazione la pagina iniziale mostra un elenco Per iniziare: git, un provider di IA, un repository, un primo worktree e una prima sessione. Ogni passo ha il pulsante che lo esegue e si spunta da solo quando è fatto; Nascondi questo elenco lo toglie per sempre. Ecco gli stessi passi, con più parole.

  1. Apri un repository. Nella pagina iniziale scegli Apri repository e indica una cartella che ha già git dentro, oppure Clona repository con un URL di GitHub, GitLab o di qualsiasi git. I repository recenti restano nella pagina iniziale.
  2. Crea un worktree. Nuovo worktree (⌘N) suggerisce un nome di branch a partire dal compito e una cartella dove metterlo; entrambi sono tuoi da rinominare secondo la convenzione che usi. Git non ammette spazi nel nome di un branch, quindi diventano trattini e la finestra ti mostra il risultato prima di creare qualcosa. Dove finiscono i worktree su disco, e un prefisso suggerito facoltativo, stanno in Impostazioni › Git.
  3. Avvia una sessione. + Sessione nel pannello di destra sceglie un agente e un modello; l’agente predefinito è in Impostazioni › Agente predefinito. Scrivi quello che vuoi nel compositore. @ allega file o contesto come il diff attuale, / esegue i comandi dell’agente, # le sue skill. ⌘↵ invia.
  4. Lascialo lavorare — o fermalo. La trascrizione mostra ogni strumento che l’agente usa. Quando ha bisogno di un permesso per qualcosa che non hai approvato in anticipo, la sessione passa a in attesa, la casella delle attese nell’intestazione la conta e tu consenti o neghi; «Consenti sempre» ricorda la tua scelta per quel worktree. Ferma interrompe; i messaggi che scrivi mentre lavora vanno in coda.
  5. Rivedi le modifiche. La scheda Modifiche elenca ogni file toccato e chi lo ha cambiato. Fai clic su un file per il diff; seleziona delle righe e scegli Spiega o Chiedi una modifica per rimandarle all’agente. Un avviso segnala i file che anche un altro worktree dello stesso repository sta toccando.
  6. Commit, push, apri la PR. Spunta i file da mettere in stage, scrivi il messaggio o Scrivi con l’IA, Commit. Push imposta l’upstream; Apri pull request compila titolo, descrizione (scritta a partire dal diff, se vuoi), bozza, revisori ed etichette, e passa la mano a gh o glab. Il riquadro del worktree mostra poi la PR e i suoi controlli.
La console con un diff aperto e una sessione di Claude Code in corso

Nell’uso quotidiano

Il worktree principale — la cartella con cui hai aperto il repository — è elencato insieme agli altri ed è quello da cui si diramano i nuovi worktree. Selezionalo e fai clic sul nome del suo branch nell’intestazione: si apre una casella di ricerca su tutti i branch — i tuoi, o uno che esiste solo sul remoto, di cui fa il checkout come nuovo branch di tracciamento. Scrivi per restringere, frecce e Invio per cambiare. Un branch che un altro worktree ha già è elencato ma in grigio, perché git permette un branch in un solo worktree alla volta.

Aggiorna dalla base su un worktree fa fetch e rebase sul branch di base; i conflitti fermano tutto con l’elenco dei file, li risolvi, li metti in stage e Continua. Fetch aggiorna i contatori di commit avanti/indietro. La scheda Terminale è una shell vera nella cartella del worktree; Attività è la cronologia di quello che è successo lì — commit, push, sessioni — e sopravvive ai riavvii.

Passare una sessione. Una sessione può spostarsi in un altro worktree dal suo menu, trascrizione inclusa, quando ti accorgi che il lavoro appartiene a un altro branch.

Rimuovere un worktree termina le sue sessioni, archivia i loro log e dimentica le sue regole di permesso; il branch resta, a meno che tu non lo elimini. Da Impostazioni › Git l’app può eliminare il worktree da sola quando la sua PR viene unita.

Più repository. Aprine quanti ne vuoi; l’intestazione passa dall’uno all’altro e la casella conta le sessioni in attesa di tutti.

Git senza terminale

Pull e Aggiorna dalla base sono due cose diverse. Pull porta dentro ciò che è stato inviato al tuo branch — il commit di un collega, per esempio — così il tuo prossimo push passa; se entrambi i lati hanno commit nuovi fa rebase o merge come dicono le Impostazioni › Git, oppure chiede. Aggiorna dalla base, nel menu ···, è l’altro lavoro: rimettersi in pari con il branch di base.

Conflitti. Quando un rebase, un merge, un revert o un cherry-pick si ferma per conflitti, apri il file e risolvilo blocco per blocco: tieni un lato, l’altro o Tieni entrambi — oppure prendi un file intero, o Chiedi all’agente. I due lati hanno il nome di ciò che sta succedendo, così non devi mai indovinare quale sia il «nostro». Segna come risolto, poi Continua sul banner.

Amend. La casella del commit ha un interruttore Modifica (amend). Un commit che non hai inviato viene semplicemente riscritto. Uno già inviato non viene mai forzato: l’app lo mette su un branch nuovo, lo invia, apre una nuova pull request e chiude la vecchia con un link alla nuova.

Cronologia. Fai clic destro su un commit in Attività per Copia SHA, Mostra modifiche, Annulla (revert) o Cherry-pick su… un altro worktree.

Pull request. La scheda della PR elenca ogni check, il verdetto di ogni revisore e i commenti della revisione con file e riga. Gestisci la revisione passa all’agente i commenti aperti; Unisci offre i metodi che il repository consente e spiega perché quando non si può ancora. Quando il lavoro è entrato, Pulisci i worktree uniti… rimuove in un colpo tutti i worktree finiti e nomina quelli che lascia.

Fork. In un fork, origin è la tua copia e upstream il progetto. L’app legge il branch base da upstream ogni volta che esiste, così un nuovo worktree parte da upstream/main e non dalla copia superata del tuo fork, mentre push e pull request vanno ancora al tuo fork; Fetch scarica da entrambi. Impostazioni › Git › Remoto base sceglie un altro remoto, e la finestra Remoti lo segna come base.

Repository bare. Un repository si apre per intero da qualsiasi sua cartella: quella principale, un worktree collegato, un api.git bare con i suoi worktree accanto o una struttura proj/.bare. Tutti i worktree vengono elencati. Un repository bare non ha un worktree principale, quindi qualunque worktree si può rimuovere e i nuovi vanno accanto alla cartella bare (api--fix). Il worktree sul branch a cui punta il repository bare fa da worktree predefinito: lì funzionano Rendi corrente e Passa a…, e non si può rimuovere finché un worktree è corrente al suo interno.

Rivedere cosa ha fatto un agente

Un turno alla volta. Ogni turno che cambia dei file finisce con una riga sotto nella trascrizione — 4 file modificati · +120 −8. Fai clic e la scheda Modifiche mostra solo ciò che ha fatto quel turno. Annulla questo turno… prima elenca cosa succederà a ogni file, poi toglie le modifiche del turno: un file che nessuno ha più toccato torna com’era, uno che hai modificato tu o un turno successivo conserva quelle modifiche, e dove entrambi hanno cambiato le stesse righe restano marcatori di conflitto da risolvere. L’annullamento è un turno a sé, quindi si può annullare anche lui.

Blocco per blocco. Ogni blocco di un diff ha Metti in stage e Scarta (Togli dallo stage una volta in stage); seleziona alcune righe per mettere in stage o scartare solo quelle. Un file in stage a metà ha un selettore In stage / Fuori stage sopra il diff.

Ritrovare una vecchia conversazione. Cerca nelle sessioni, in cima al pannello delle sessioni, cerca in ciò che è stato detto in questo worktree, nel repository o nel workspace — e, se spunti archiviate, nei worktree che hai già rimosso. Un risultato apre la sessione su quel messaggio. Fai clic destro su una sessione per Esporta la trascrizione…: un file Markdown con i prompt, le risposte e le chiamate agli strumenti. Non viene nascosto nulla, quindi leggilo prima di condividerlo.

Leggere una modifica lunga. L’elenco delle Modifiche raggruppa i file per cartella — il pulsante cartella accanto al filtro passa a un elenco semplice — e il filtro tiene i percorsi che contengono tutte le parole che scrivi. Spunta Visto (V) su ogni file che hai letto: la spunta se ne va da sola se l’agente modifica di nuovo quel file, e Prossimo non visto (⇧N) ti porta al successivo. Nel diff, N e P saltano da un blocco all’altro e W manda a capo le righe lunghe. Le parole cambiate sono evidenziate dentro la riga, il codice è colorato secondo il linguaggio, la vista affiancata diventa unificata quando il pannello è stretto, le immagini si vedono prima e dopo, e un file Markdown può essere mostrato Visualizzato.

Scartato per errore? Scarta, Scarta tutte le modifiche, scartare un blocco o alcune righe e la rimozione forzata di un worktree conservano ciò che buttano via. L’Annulla dell’avviso lo riporta indietro; più tardi, Stash › Scartati di recente ha Ripristina, e Salva come stash trasforma una voce in uno stash normale — la strada per recuperare le modifiche di un worktree che hai rimosso. Anche Metti tutte le modifiche nello stash offre Annulla.

Repository grandi. Con più di 2.000 file non tracciati l’elenco mostra i primi 2.000 e una riga per cartella che conta il resto; Tutto in stage, Commit e .gitignore li coprono comunque tutti. I file non tracciati oltre i 10 MB restano fuori dai punti di ripristino dei turni, e il piè del turno dice quanti sono. Se leggere il worktree richiede più di 5 secondi, il turno resta senza punto di ripristino e il suo piè dice che non si può aprire né annullare. Le modifiche dentro node_modules, dist, .next e target non aggiornano più l’elenco, e le modifiche fatte fuori dall’app compaiono anche durante un push o un fetch lunghi.

Commenti e un secondo parere. Seleziona delle righe in un diff e scegli Commenta, oppure usa il + accanto a una riga del diff di un turno. Un commento segue la sua riga quando l’agente modifica lì intorno, e quelli aperti vanno all’agente tutti insieme. Rivedi con… chiede a un altro agente di rivedere le modifiche o un singolo turno, senza lasciargli modificare nulla. Nel confronto di Prova in N modi, Giudica con… chiede a un agente quale tentativo è il migliore, e perché.

Turni che puoi usare. Fai il commit di questo turno… mette in un commit solo ciò che ha cambiato un turno — con il tuo nome, la tua firma e i tuoi hook — e lascia tutto il resto fuori dal commit. Il blame può mostrare quale turno ha scritto ogni riga, e la cronologia di un file elenca i suoi turni. Biforca da qui… crea un nuovo worktree a partire da qualsiasi turno, con i file di quel turno, per riprovare in un altro modo senza toccare la sessione originale.

Agenti al lavoro

Leggere la trascrizione. Le risposte appaiono come testo formattato, e ogni blocco di codice ha un pulsante Copia. Tre o più chiamate agli strumenti di fila si raccolgono in una riga che si apre per mostrarle. Un percorso verso un file del worktree è un link: un file modificato apre il suo diff, gli altri si aprono nel tuo editor. Scorri in su per leggere e la trascrizione smette di seguire; Vai agli ultimi ti riporta in fondo. Se una sessione è stata fermata mentre chiedeva un permesso, la trascrizione lo dice.

Sessioni lunghe. Una sessione si apre sugli ultimi messaggi, e Mostra i messaggi precedenti carica il resto quando ti serve. Perché la cronologia non cresca all’infinito, Impostazioni › Agente predefinito ha Conserva le sessioni per (giorni) e Spazio massimo per le sessioni (MB): all’avvio l’app elimina ciò che è più vecchio o supera il limite. Sono entrambi disattivati finché non li imposti.

Fermare ferma davvero. Ferma, la rimozione di un worktree e l’uscita dall’app chiudono anche ciò che l’agente ha avviato — un server di sviluppo, per esempio. Cambiare modello no, e nemmeno il limite di inattività: Impostazioni › Agente predefinito › Termina gli agenti inattivi dopo (30 minuti se non lo cambi; vuoto vuol dire mai) chiude un agente rimasto inattivo così a lungo per liberarne la memoria, e il tuo prossimo prompt riprende la conversazione. Se l’app si è chiusa di colpo con degli agenti ancora in esecuzione, all’avvio successivo propone Ferma o Lascia in esecuzione.

L’ambiente della tua shell. Gli agenti ricevono ciò che esportano il tuo .zshrc o il tuo .bashrc — un proxy, chiavi API, AWS_PROFILE — come se li avessi avviati da un terminale, anche quando l’app è stata aperta dal Dock o da un menu. Impostazioni › Editor e terminale › Usa l’ambiente della mia shell lo disattiva ed elenca i nomi delle variabili che porta, mai i loro valori. Su Windows non serve: lì le app ricevono già le tue variabili.

Screenshot nei prompt. Incolla uno screenshot nel compositore, trascinaci sopra un’immagine o sceglila con Allega immagine o screenshot…: diventa un chip con una miniatura. PNG, JPEG, GIF e WebP, fino a otto per prompt, e un’immagine può partire da sola, senza testo. Claude Code, Codex, Gemini CLI, Copilot CLI e gli agenti ACP che accettano immagini le ricevono; per gli altri il compositore avvisa che verranno lasciate fuori. Le immagini restano fuori dal repository e se ne vanno con la sessione.

Prima il piano. Attiva Prima il piano nella barra dell’agente, o spuntalo nella finestra Nuovo worktree, e l’agente legge il codice e risponde con un piano, ma non scrive nulla finché non lo approvi. Ogni agente usa la sua modalità di sola lettura dove ne ha una, e dove non ce l’ha l’app trattiene ogni scrittura. La modalità piano di Antigravity può comunque scrivere, quindi Prima il piano non è disponibile per Antigravity.

Fatto vuol dire che i test passano. Impostazioni › Preparazione dei worktree › Cancello di verifica esegue il comando di verifica del worktree — pnpm test, per esempio — ogni volta che un agente conclude un turno che ha cambiato dei file. Un fallimento torna all’agente, e la sessione mostra un badge rosso finché un’esecuzione non passa. Rimanda i fallimenti stabilisce quante volte di fila, e Tempo massimo del controllo quanto può durare un controllo.

Continuare con un altro agente. Continua con un altro agente…, nel menu ··· del compositore o del worktree, avvia un altro agente nello stesso worktree. Il suo primo prompt è un passaggio di consegne che scrive l’app: la conversazione fin qui in breve, ogni turno con i file che ha cambiato, un piano ancora in attesa di approvazione e l’ultimo risultato del controllo.

Prompt da riusare. / nel compositore elenca prima i tuoi prompt salvati, poi i comandi dell’agente, qualunque sia l’agente. {{branch}}, {{base}}, {{issue}} (il numero da cui prende il nome il branch) e {{selection}} (le righe selezionate nel diff) vengono compilati per te. Libreria di prompt… conserva i tuoi; un repository può portare i suoi come file Markdown in .ygd/prompts.

Istruzioni e server MCP, una volta per tutti gli agenti. Istruzioni degli agenti… modifica in un unico posto AGENTS.md, CLAUDE.md, GEMINI.md e gli altri file di istruzioni di un worktree, dice quali agenti leggono ciascuno e può tenere gli altri allineati a AGENTS.md. Impostazioni › Server MCP dichiara un server una volta sola e lo passa a ogni agente che può usarlo. Un repository può dichiarare i suoi in .ygd/mcp.json; l’app mostra i loro comandi e chiede prima di avviarli la prima volta, e di nuovo ogni volta che il file cambia. Un server può anche essere remoto: un indirizzo https al posto di un comando, con il suo token bearer preso da una variabile d’ambiente che indichi tu, così il token non finisce mai scritto nelle impostazioni né nel repository. Se quella variabile non è impostata all’avvio di una sessione, non viene inviato nessun token.

Molti agenti insieme

Centro di controllo (⌘⇧O) mette tutte le sessioni di agente dello spazio di lavoro su una sola bacheca, in cinque corsie: In attesa di risposta, In esecuzione, Ferme con modifiche da rivedere, PR aperta e Concluse. Una scheda mostra cosa sta facendo la sessione, quanto è costata e la sua pull request. Approva e Nega rispondono a una richiesta in attesa, e Anteprima mostra gli ultimi messaggi con una casella per rispondere, senza lasciare la bacheca.

La bacheca delle attività (⌘⇧B) è un backlog per repository. Un’attività è un prompt con un agente, un modello e una base; Avvia la fa partire in un worktree tutto suo, e la bacheca la segue attraverso In coda, In corso, Attende risposta, Pronta da rivedere, PR aperta e Unita. Le attività in coda partono in ordine finché le sessioni al lavoro sono meno di quante ne consente Impostazioni › Agente predefinito › Sessioni contemporanee. Con Ripeti, un’attività torna anche ogni giorno o ogni settimana a un’ora fissa — «aggiorna le dipendenze ogni lunedì» — e ogni esecuzione ha un worktree nuovo su un branch che prende il nome dal suo giorno.

Da una issue o da una pull request. Nella finestra Nuovo worktree, Parti da sceglie una delle issue aperte del repository — il branch prende il suo nome e l’agente riceve la issue da leggere — oppure la pull request aperta di qualcun altro, di cui fa il checkout per rivederla o finirla. Passa da gh o glab.

Finestre dell’abbonamento. Per Claude Code e Codex, il riquadro dell’utilizzo mostra quanto è usato delle finestre di 5 ore e settimanale e quando ciascuna si azzera. L’app legge le cifre delle CLI stesse e non chiama mai un provider. Impostazioni › Budget › Trattieni il nuovo lavoro al fa aspettare l’azzeramento alle attività in coda e ai prompt per quell’agente; un turno già in corso finisce.

Lontano dalla finestra. L’icona nella barra dei menu (l’area di notifica su Windows e Linux) elenca le sessioni che aspettano te, con Approva e Nega lì a portata di mano, anche quando la finestra è chiusa. Impostazioni › Notifiche › Notifiche sul telefono manda al tuo telefono le richieste di input e i check falliti tramite ntfy o un webhook compatibile con Slack. Dal computer escono solo l’agente, il branch e cosa è successo, a meno che tu non attivi Includi i dettagli. Notifica solo dopo un’assenza di (minuti, spento per impostazione predefinita) trattiene le notifiche finché tastiera e mouse non restano inutilizzati per quel tempo, così niente vibra mentre sei alla scrivania con l’app dietro un’altra finestra.

Da tanti branch a main

Radar delle collisioni. Due worktree che modificano la stessa funzione se ne accorgono solo quando entra il secondo — a meno che tu non guardi prima. Radar delle collisioni… confronta ogni coppia di worktree di un repository, compreso il lavoro non committato, e ciascuno con la sua base, mostra dove andrebbero in conflitto e suggerisce l’ordine che li fa entrare con meno conflitti. Mentre guarda, nei tuoi worktree non si sposta nulla. Per restare veloce confronta solo i worktree attivi più di recente — 12, a meno che Impostazioni › Git › Radar delle collisioni: worktree confrontati non dica altrimenti (da 2 a 40, anche per repository) — e nomina quelli che ha lasciato fuori.

Riordina i commit (⌘⇧T, oppure Attività › Riordina i commit…) elenca i commit propri del branch, dal più vecchio. Per ognuno scegli Mantieni, Cambia messaggio, Incorpora nel precedente o Scarta, spostali su e giù, oppure Unisci tutto in uno con un messaggio scritto a partire da loro. Non si apre nessun editor, e niente resta fatto a metà.

Worktree impilati. Nuovo worktree sopra…, nel menu del clic destro di un worktree, crea un worktree dal branch di quello — commit non inviati compresi — così una modifica grande può uscire come una catena di pull request piccole, ognuna verso il branch sotto di lei. La barra laterale annida la pila. Reimpila aggiorna i worktree sopra quando quello sotto si sposta, e quando quello in fondo viene unito, il successivo viene ripuntato sulla base.

Coda di integrazione. Integra i worktree… elenca i worktree pronti del repository nell’ordine del radar, le pile dal basso verso l’alto, e li fa entrare uno alla volta: aggiorna ciascuno con la base com’è dopo l’ingresso del precedente, esegue il tuo controllo, fa push, aspetta i check della pull request e la unisce — oppure unisce in locale, se preferisci. Si ferma al primo problema e dice perché.

Correggere la CI. Quando i check di una pull request falliscono, Correggi CI sulla sua scheda manda all’agente i log degli errori da GitHub Actions o GitLab, ridotti agli errori e senza nulla che somigli a un segreto. Impostazioni › Git › Correggi automaticamente la CI fallita lascia che l’app lo faccia da sola, fino a Correzioni automatiche della CI per pull request volte di fila, in un worktree che ha già una sessione; Avvia una sessione per le correzioni automatiche della CI (spento per impostazione predefinita) le permette di avviarne una, con l’agente predefinito del repository e con gli stessi limiti.

Worktree pronti a partire

Un worktree nuovo non ha nessuno dei tuoi file ignorati: niente .env, niente node_modules. Impostazioni › Preparazione dei worktree lo sistema una volta per tutte: file da copiare dal worktree principale (.env*, per esempio), comandi da eseguire nel terminale del nuovo worktree (pnpm install) e una porta base, così ogni worktree ha la sua porta in YGD_PORT e due server di sviluppo smettono di litigarsi la stessa. Il terminale del worktree e i suoi agenti ricevono anche YGD_WORKTREE e YGD_BRANCH. La finestra Nuovo worktree mostra cosa farà la preparazione; Esegui di nuovo la preparazione è nel menu ···. Su macOS una cartella copiata, node_modules per esempio, viene clonata in un solo passaggio e non occupa quasi spazio in più su disco.

Un repository può portare la stessa ricetta in .ygd/worktree.json. I suoi comandi vengono da chi ha scritto il branch, quindi l’app te li mostra e chiede prima di eseguirli la prima volta — e di nuovo ogni volta che il file cambia.

Worktree uno accanto all’altro. Variabili del worktree (una NAME=value per riga) dà a ogni worktree i suoi valori nei suoi terminali, nella sua preparazione e nei suoi agenti: COMPOSE_PROJECT_NAME={{slug}} o DATABASE_URL=…/app_{{n}} permette a due worktree di eseguire docker compose up senza condividere container né database. Scrivi le variabili in le mette anche in un file come .env.local, per gli strumenti che ne leggono uno.

Tenere in ordine il disco. Igiene dei worktree…, nel menu ··· di un repository, mostra quanto spazio occupa ogni worktree — dipendenze e output di build a parte — e quando si è mosso l’ultima volta. Da lì puoi eliminare i worktree la cui cartella non c’è più, sbloccare, riparare, fare garbage collection e dare a un worktree uno sparse checkout delle sole cartelle che gli servono.

Terminali

Più terminali. + nella scheda Terminale apre un’altra shell accanto a quella del worktree; doppio clic su una scheda per rinominarla. Esegui ▾ nella barra degli strumenti avvia comandi salvati — dev: pnpm dev — ognuno in un terminale con il suo nome, con Riavvia e Ferma. @terminal:dev in un prompt allega ciò che quel terminale ha stampato.

Restano in esecuzione. Un terminale conserva il suo programma e la sua cronologia mentre sono aperti le Impostazioni, la pagina iniziale o il confronto, così vim, htop o un server di sviluppo restano esattamente come li hai lasciati. ⌘F (Ctrl+Maiusc+F su Windows e Linux), o la lente in fondo alle schede, cerca nella cronologia. ⌘-clic (Ctrl+clic) apre un link nel browser. ⌘⇧] e ⌘⇧[ (Ctrl+PagGiù e Ctrl+PagSu) passano al terminale successivo e al precedente. Chiudere un terminale che sta ancora eseguendo qualcosa chiede prima conferma e dice di quale programma si tratta.

Provalo in più modi

Non sai quale agente o modello farà meglio un compito? Spunta Prova in N modi nella finestra Nuovo worktree e scegli da due a quattro tentativi — Claude Code, Codex e Gemini CLI, oppure lo stesso modello tre volte. Ognuno ha il suo worktree dalla stessa base (login-a, login-b…), la preparazione gira in ciascuno e lo stesso primo prompt va a tutti. Ogni tentativo conta nel tuo budget, e la finestra lo dice.

I tentativi stanno insieme nella barra laterale. Fai clic sulla loro voce per confrontarli fianco a fianco: stato, file e righe modificati, costo, turni e tempo, un diff rapido e il tuo comando di verifica — pnpm test, per esempio, da Impostazioni › Preparazione dei worktree — eseguito in ciascuno quando vuoi. Tieni questo rimuove gli altri dopo averli elencati, può dare al vincitore il nome di branch senza suffisso e può passare subito a Rendi corrente o a una pull request.

Lavorare su più repository: gli spazi di lavoro

Uno spazio di lavoro è un insieme di cartelle con un nome che l’app tiene aperte insieme. Un gateway, una console web e una cartella di appunti sono spesso un unico lavoro, e una domanda su una di esse trova di solito risposta in un’altra: lo spazio di lavoro è il modo in cui dici all’app che vanno insieme.

Uno spazio di lavoro con due repository: la barra laterale raggruppa i worktree per repository

Crearne uno. Apri un secondo repository mentre ne hai già uno aperto e l’app ti chiede dove va: aggiungerlo a quello su cui stai lavorando, creare un nuovo spazio di lavoro con entrambi, o aprirlo da solo. Esc vuol dire «da solo». Puoi anche crearne uno dalla pagina iniziale con Nuovo spazio di lavoro, e aggiungere o togliere cartelle in seguito dal pulsante degli spazi di lavoro nell’intestazione. Togliere una cartella da uno spazio di lavoro non elimina mai nulla: cambia solo l’insieme.

Da VS Code. Se il tuo team ha già un file .code-workspace, Apri file dello spazio di lavoro… lo legge: le stesse cartelle, nello stesso ordine, con i nomi che dà loro VS Code. Commenti e virgole finali nel file non sono un problema. Le cartelle che non sono repository git vengono mantenute — semplicemente non hanno worktree — e una cartella che non c’è più viene segnalata invece di sparire in silenzio. Salva su file lo riscrive lasciando intatte le parti che l’app non usa, così lo stesso file continua a funzionare in entrambi gli strumenti.

Cosa mostra la barra laterale. I worktree raggruppati per repository, ogni gruppo ripiegabile, con il filtro che cerca sia nel nome del branch sia in quello del repository, così trovi un branch senza ricordarti dove vive. Un gruppo ripiegato mostra comunque cosa sta girando al suo interno e continua ad avvisarti quando una sessione è in attesa. Con un solo repository non ci sono gruppi.

Cosa vedono gli agenti. Una sessione continua a girare dentro il suo worktree — è lì che stanno git e ogni percorso relativo — ma può leggere anche le altre cartelle dello spazio di lavoro, così «dove finisce questa chiamata?» ha una risposta da entrambi i lati. Una sessione che può solo leggere continua a poter solo leggere, ovunque. C’è anche una riga sopra i gruppi, Su tutto lo spazio di lavoro, per le sessioni che non appartengono a nessun worktree in particolare: a quelle fai le domande che attraversano tutto lo stack. Non hanno branch, né modifiche, né terminale, perché quelli appartengono a un worktree. Una cartella che non c’è più — spostata, cancellata o su un disco scollegato — viene lasciata fuori, così le sessioni partono comunque.

Impostazioni. Ora i livelli sono tre: Globale, lo spazio di lavoro, poi il singolo repository. L’agente predefinito, la preimpostazione dei permessi e il branch di base sono di solito una proprietà dello stack più che di ogni repository al suo interno, quindi impostali una volta sullo spazio di lavoro; un repository che ha bisogno di qualcosa di diverso può comunque sovrascriverli. Il selettore di ambito nelle Impostazioni sceglie il livello, e una sezione che non sta sovrascrivendo nulla ti dice da dove arrivano i suoi valori.

L’app ricorda ogni spazio di lavoro separatamente: quando torni a uno, ritrovi il repository, il worktree e la disposizione dei pannelli in cui lo avevi lasciato.

Provare un worktree in quello predefinito

Il posto per provare una modifica è la cartella del repository stesso — il worktree predefinito — perché lì ci sono già node_modules, .env, la cache di build e il server di sviluppo. Il lavoro si fa negli altri worktree. Rendi corrente ne porta uno nel worktree predefinito: i suoi commit, ciò che non ha ancora committato e i suoi file nuovi, sopra il branch del worktree predefinito. Da allora l'intestazione dice, in ogni schermata, cosa esegue il worktree predefinito — PREDEFINITO · feat-a + feat-b · 1 modifica — e la barra laterale contrassegna il worktree predefinito e quelli correnti.

La striscia dell'intestazione, aperta: da dove veniva il worktree predefinito, i due worktree correnti e cosa si può fare dopo

Scambia mette un altro worktree al suo posto. Aggiungi ne impila un altro sopra, per provare due modifiche insieme; dove entrambi toccano le stesse righe il caricamento si ferma su un conflitto nel worktree predefinito, e per ogni file tieni il lato predefinito, prendi quello in arrivo o lo modifichi e lo segni risolto — poi Continua, oppure Annulla per tornare a ciò che girava prima.

Le correzioni fatte durante i test tornano a casa. Se tu — o un agente nel worktree predefinito — correggi qualcosa mentre provi, Rimanda le modifiche lo restituisce al worktree a cui appartiene, come modifiche non committate da rivedere e committare lì; Annulla lo riporta indietro fino al passo successivo. Un file che appartiene a più worktree correnti, o a nessuno, viene chiesto invece che indovinato. Scambia, Aggiungi, Aggiorna e Termina rimandano prima le modifiche, così nulla di ciò che è stato fatto nel worktree predefinito va perso. Rimanda le modifiche, Termina e Annulla questo turno scrivono i file come farebbe un checkout — Git LFS, git-crypt e fine riga di Windows compresi; se manca un filtro che il repository richiede (git-lfs non installato, per esempio), si fermano con il messaggio di git invece di lasciare file puntatore.

Termina restituisce il worktree predefinito esattamente com'era: il suo branch e le sue modifiche, in stage e non. Ogni passo apre prima una breve anteprima: cosa entra, cosa viene messo da parte, quali file andrebbero in conflitto e cosa lo impedisce adesso, con la via d'uscita. Li trovi nel menu ··· di un worktree, con il tasto destro nella barra laterale, nella striscia dell'intestazione e con ⌘⇧D / ⌘⇧E.

Impostazioni › Git può aggiornare da solo un worktree corrente quando il suo agente continua a lavorare, ed eseguire un comando dopo ogni caricamento — pnpm install quando è cambiato pnpm-lock.yaml, per esempio — nel terminale del worktree predefinito, dove lo vedi. Il tuo git stash non viene mai toccato. Serve git 2.40 o successivo.

Muoversi in fretta, e quanto è costato

⌘K apre la tavolozza dei comandi: ogni azione dell’app — con la sua scorciatoia, o il motivo per cui ora non si può eseguire — più i tuoi worktree in tutto il workspace, le sessioni, le pagine delle Impostazioni e i repository recenti. Inizia con > per le azioni, @ per i worktree, # per le sessioni; frecce e Invio fanno il resto.

Quanto è costato. Impostazioni › Budget ha un Rapporto di utilizzo: una barra al giorno divisa per agente e quanto ha speso ogni repository e ogni branch, negli ultimi 7, 30 o 90 giorni o nelle date che scegli, con Esporta CSV. Le cifre sono quelle del budget stesso, quindi coincidono sempre con il contatore della spesa.

Agenti e provider

ygd-editor non parla da solo con nessun servizio di IA. Esegue gli strumenti a riga di comando che hai già — Claude Code, Codex, Gemini CLI, e anche Antigravity CLI, Cursor CLI, OpenCode, Qwen Code e GitHub Copilot CLI — con i tuoi account, quindi utilizzo, fatturazione e condizioni sui dati sono esattamente quelle che hai accettato con quei provider.

Impostazioni › Provider di IA collega ogni provider con il tuo account: Collega apre la pagina di accesso del provider nel browser, e il riquadro mostra poi l’account, il piano e Cambia account / Scollega / Prova la connessione. Codex e Gemini CLI li scarica l’app la prima volta che li scegli — la scheda indica versione e dimensione, mostra l’avanzamento e Rimuovi download lo toglie di nuovo —; se hai una tua copia installata, l’app usa quella. La licenza di Claude Code non ne consente la distribuzione, quindi il suo riquadro offre Installa Claude Code, che esegue l’installer ufficiale di Anthropic nel terminale del riquadro, nella tua cartella personale, senza password di amministratore. L’agente e il modello predefiniti, e la preimpostazione dei permessi, possono cambiare da repository a repository.

La scheda dice anche quando la CLI installata è più nuova o più vecchia delle versioni con cui questa release è stata verificata. Le sessioni funzionano comunque; la nota serve a spiegare un report incompleto. Quando Codex perde la connessione e riprova, la trascrizione mostra una breve nota Riconnessione… invece di un errore.

Antigravity, Cursor CLI, OpenCode, Qwen Code e Copilot CLI non li scarica l’app: le loro schede eseguono l’installer del produttore, o mostrano il comando da eseguire dove il produttore non ne ha uno. Non tutti gli agenti riportano cosa hanno usato: Cursor non riporta né token né costo, quindi il suo costo risulta sconosciuto e nessun limite lo conta.

Qualsiasi altro agente che parli l’Agent Client Protocol — Goose o Kimi CLI, per esempio — si può aggiungere come ACP agent: Impostazioni › Provider di IA prende il suo Comando dell’agente ACP e i suoi Argomenti dell’agente ACP, come li indica la sua documentazione. L’app non installa nulla per lui e non lo collega a nessun account: fai l’accesso come dice la sua documentazione, e Collega verifica che risponda. Se si rifiuta di avviare una sessione, il messaggio riporta il motivo e il suo consiglio: Goose, per esempio, dice di eseguire goose configure.

Permessi

Gli agenti chiedono prima di fare ciò che non hai approvato in anticipo. Impostazioni › Permessi ha tre preimpostazioni — rigorosa (sola lettura), bilanciata (leggere e modificare file, chiedere per tutto il resto) e yolo (anche eseguire comandi, usare il web e fare push) — più interruttori singoli per lettura, modifica, esecuzione di comandi, accesso al web, push ed eliminazione. Qualunque sia la preimpostazione, un agente non può mai eliminare senza chiedere, a meno che tu non lo attivi.

Quando arriva una richiesta, Approva e Nega rispondono una volta; Consenti sempre ricorda quello strumento per quel worktree, e la regola sparisce insieme al worktree.

Quando un agente chiede più cose insieme, le richieste si mettono in coda sulla scheda della sessione e nella casella — 1 di 3 — e tu rispondi nell’ordine. Impostazioni › Permessi › Regole consentite elenca ogni «Consenti sempre» per worktree, con la data in cui è stata aggiunta; Revoca ha effetto subito, anche in una sessione in corso. Nega automaticamente dopo (minuti, disattivato di default) rifiuta una richiesta a cui nessuno risponde e dice all’agente perché. Codex e Gemini CLI non possono chiedere, quindi la loro barra dell’agente mostra la modalità sandbox che gli danno i tuoi interruttori; un clic lì apre Impostazioni › Permessi.

Sandbox. Impostazioni › Permessi › Sandbox decide dove possono scrivere i comandi degli agenti. Worktree tiene le loro scritture dentro il worktree; Senza rete li stacca anche dalla rete e spegne l’accesso al web e i push. La preimpostazione rigorosa usa Senza rete, yolo usa Worktree e bilanciata la lascia spenta. Gli agenti con una sandbox propria vi tengono i loro comandi; gli altri non eseguono comandi, o chiedono prima di ognuno, e la barra dell’agente dice quale dei due. Sotto la sandbox Claude Code può comunque fare commit in un worktree collegato; Codex no, quindi fai il commit dall’app. La sandbox tiene anche gli agenti lontani dalle parti di .git che dirotterebbero il git dell’app stessa, e dallo stato di un rebase: per questo il git rebase, il cherry-pick e il revert di un agente lì falliscono. Fai il rebase dall’app, con Aggiorna dalla base. Per lo stesso motivo il git dell’app non parte in un worktree principale il cui .git contiene un file commondir, che git lì non scrive mai: cancellalo se non ce l’hai messo tu.

Alcuni comandi vengono sempre ricordati solo esattamente come sono scritti — eliminare risorse di un cluster, operazioni cloud che aprono accessi o eseguono codice, istruzioni SQL — così approvarne uno non approva mai il successivo. Altri non vengono mai ricordati e chiedono ogni volta: terraform, tofu o terragrunt apply o destroy con -auto-approve, e qualsiasi comando kubectl, oc, aws, docker o helm le cui opzioni nominano un kubeconfig, un certificato o un file di configurazione. La loro richiesta non offre Consenti sempre e spiega perché in una riga sotto i pulsanti. Le opzioni davanti a un comando — docker --context …, per esempio — non nascondono cosa fa.

Notifiche, casella e budget

Impostazioni › Notifiche sceglie quando l’app ti avvisa: quando una sessione è in attesa, quando una finisce e quando cambia una pull request — controlli conclusi, approvata, modifiche richieste, unita. Le pull request di tutti i worktree sono seguite in background, quindi lo sai entro circa cinque minuti anche per un worktree che non stai guardando; un merge scoperto così mantiene la proposta di rimuovere il worktree finché non rispondi. Le notifiche compaiono solo mentre la finestra non è in primo piano, un clic su una porta alla sessione, e il badge nel Dock o nella barra delle applicazioni può contare le sessioni in attesa.

La casella nell’intestazione ha due schede. Richiede input sono le sessioni che aspettano te. Attività è tutto ciò che l’app ti ha detto — turni conclusi, cambi nelle pull request, errori con l’output completo di git, gli avvisi che ti sono sfuggiti — e un clic su una riga ti porta alla sua sessione o al suo worktree. Le righe non lette vengono contate, Segna tutto come letto le azzera, e le 200 più recenti restano tra un riavvio e l’altro.

La barra del budget in fondo al pannello di sinistra è la spesa di oggi su tutte le sessioni. Quando un agente riporta il proprio costo, quella è la cifra; altrimenti i suoi token sono valutati al prezzo di listino del modello, e le tariffe in Impostazioni › Budget servono solo per i modelli che non ne hanno uno. Il riquadro dell’utilizzo e il suggerimento sul costo di una sessione dicono quale dei casi è. Impostazioni › Budget fissa anche un limite giornaliero e uno per sessione e una soglia di avviso; con Metti in pausa le sessioni al limite attivo, raggiungere il limite giornaliero ferma anche i turni ancora in corso, e un avviso dice quanti.

Impostazioni

Le Impostazioni (⌘,) sono raggruppate per argomento. Aspetto imposta tema, colore di accento, densità e caratteri; Lingua cambia l’interfaccia tra inglese, spagnolo, italiano, polacco, francese, tedesco e turco. Diverse sezioni portano l’etichetta per repo: con un repository selezionato in alto puoi sovrascriverle solo per quel repository. Date, orari, numeri e costi seguono la lingua che scegli, non quella del sistema.

Tutto si salva automaticamente in settings.json, nella cartella dell’app dentro la tua cartella personale; Apri settings.json modifica il file grezzo con validazione, e l’intestazione mostra quando è stato scritto l’ultima volta. Il file indica il suo schema, così un editor come VS Code lo completa e lo controlla quando lo modifichi a mano. Ogni salvataggio conserva il file precedente come settings.json.bak; se il file si danneggia, l’app usa quella copia e te lo dice. Una versione più vecchia dell’app non sovrascrive mai un file scritto da una più nuova: usa i valori predefiniti e rifiuta di salvare le impostazioni finché non aggiorni di nuovo. Workspace, casella ed elenchi delle sessioni sono conservati allo stesso modo.

Cerca nelle impostazioni, in alto, trova qualsiasi riga dal nome o da quello che fa: scrivi «limite budget» e si apre Budget con il cursore in Limite giornaliero; anche ⌘K trova le impostazioni. Una riga che hai cambiato mostra un punto e il suo Ripristina. I campi numerici rifiutano un valore che l’app non potrebbe usare, dicono perché e tengono quello salvato.

Esporta profilo impostazioni, in Impostazioni › Informazioni e aggiornamenti, scrive in un solo file le tue impostazioni, quelle per repository e per spazio di lavoro e i tuoi spazi di lavoro, mostrandotelo prima di salvarlo, per configurare un altro computer allo stesso modo; Importa profilo impostazioni lo rilegge. Variabili del worktree, segreti dei server MCP e regole «Consenti sempre» restano fuori a meno che tu non li spunti. Prima che un’importazione attivi le correzioni automatiche della CI, o cambi i limiti di budget o le tariffe di un agente, te lo chiede.

Impostazioni › Aspetto

Finestre piccole e tastiera

Finestre piccole. La finestra scende fino a 900 × 680, così l’app sta accanto a un editor su un portatile da 13 o 14 pollici. Sotto i 1.180 pixel circa di larghezza il pannello delle sessioni si riduce a una barra sottile, e sotto i 1.000 circa lo fa anche l’elenco dei worktree. Fai clic sulla barra per aprire il suo pannello sopra il centro; Esc, o un clic accanto, lo richiude. La disposizione salvata non viene toccata: allarga la finestra e i pannelli tornano com’erano.

Dalla tastiera. Ogni elenco — worktree, sessioni, schede del terminale, sezioni delle Impostazioni, repository recenti — è una sola fermata del Tab. ↑ e ↓ (← e → sulle schede del terminale), Home e Fine si muovono lungo l’elenco, Invio o Spazio scelgono una riga, il tasto Menu o Maiusc+F10 apre il suo menu, e F2 rinomina una scheda del terminale.

Le domande sono dell’app. Tutto ciò che richiede un sì — scartare, eliminare uno stash, unire una pull request — chiede in una finestra dell’app stessa, nella tua lingua, con l’azione scritta sul pulsante; Esc vuol dire no. Clona, Passa la sessione e Remoti chiedono prima di buttare via quello che vi hai scritto.

Layout. Il pulsante in fondo alle schede del terminale aggancia il terminale sotto il diff, così un’esecuzione dei test resta in vista mentre metti in stage. La tavolozza dei comandi passa da un layout all’altro — Revisione per un diff grande, Agente per una trascrizione grande, oppure i pannelli predefiniti — e Modalità concentrazione (⌘.) nasconde tutto tranne il centro. Una trascrizione può anche aprirsi in una finestra tutta sua — Apri in una finestra a sé, nel menu del clic destro di una sessione —, dove alla richiesta di uno strumento si risponde con Approva o Nega; si riapre dove l’hai chiusa l’ultima volta.

Accessibilità. Impostazioni › Accessibilità ha Scala dell’interfaccia (fino al 150%), Contrasto elevato, Riduci movimento, Mostra sempre l’anello di focus e Annuncia ai lettori di schermo. Vengono seguite anche le impostazioni di contrasto e movimento del sistema.

Aggiornamenti

Poco dopo l’avvio, e ogni sei ore finché resta aperta, l’app controlla le versioni pubblicate su questo sito e ti avvisa quando ce n’è una nuova. Un clic la scarica; con Impostazioni › Informazioni e aggiornamenti › Scarica gli aggiornamenti automaticamente attivo, si scarica appena viene trovata. Non si installa nulla finché non scegli: Riavvia e aggiorna subito, Riavvia più tardi — allora si installa quando esci — oppure Scarta.

Un aggiornamento si installa solo se i checksum firmati della versione lo elencano, verificati con il certificato incluso nell’app. Altrimenti l’app dice che l’aggiornamento non è firmato dal progetto e non installa nulla. Impostazioni › Informazioni e aggiornamenti ha anche Proponi gli aggiornamenti, che spegne i controlli, e Cerca aggiornamenti con l’ora dell’ultimo controllo.

Il primo avvio dopo un aggiornamento dice che versione hai, e il suo Novità apre le note di rilascio dentro l’app. Le aprono anche Impostazioni › Informazioni e aggiornamenti e la palette dei comandi.

Impostazioni › Informazioni e aggiornamenti › Canale degli aggiornamenti si può impostare su Beta per ricevere le versioni preliminari prima di tutti gli altri; sono firmate e verificate come qualsiasi aggiornamento. Tornare a Stabile non installa mai una versione più vecchia: resti sulla beta finché una versione stabile non è più recente.

Dal terminale: ygd

Installa lo strumento da riga di comando… — nel menu dell’app su macOS, nel menu File su Windows e Linux — mette il comando ygd nel tuo PATH. ygd open [folder] apre un repository nell’app. ygd run --task "…" avvia un agente su un compito in un nuovo worktree; --agent, --model, --try 2 e --plan funzionano come nella finestra Nuovo worktree. ygd doctor riporta lo stato di git, del PATH e delle CLI degli agenti senza aprire una finestra. Con l’app chiusa, open e run la avviano.

I link ygd:// fanno lo stesso da un browser o da uno script. Per un repository che l’app non ha mai aperto, prima ti viene chiesto, e gli agenti in sandbox non possono avviare ygd run da soli. Dall’AppImage il comando non si può installare; per quello usa il pacchetto Debian / Ubuntu.

Scorciatoie da tastiera

⌘OApri repository
⇧⌘CClona repository
⌘NNuovo worktree
⌘KTavolozza dei comandi
⌘,Impostazioni
⌘↵Invia messaggio
⌘FCerca nel terminale
⌘⇧] ⌘⇧[Terminale successivo / precedente
⇧NProssimo file non visto
⌘⇧OCentro di controllo
⌘⇧BBacheca delle attività
⌘⇧TRiordina i commit
⌘.Modalità concentrazione

Su Windows e Linux leggi ⌘ come Ctrl, tranne nel terminale: lì la ricerca è Ctrl+Maiusc+F e Ctrl+PagGiù / Ctrl+PagSu cambiano terminale. La maggior parte delle scorciatoie si cambia in Impostazioni › Scorciatoie da tastiera.

Quando qualcosa va storto

macOS dice che non è stato possibile verificare l’app (Sposta nel Cestino / Fine). Fai clic su Fine, poi Impostazioni di Sistema › Privacy e sicurezza › scorri fino a Sicurezza › Apri comunque, e conferma con la tua password. Su macOS 14 o precedente, clic destro › Apri lo fa in un passaggio. Se si rifiuta ancora, nel Terminale: xattr -d com.apple.quarantine /Applications/ygd-editor.app. Se dice che l’app è danneggiata, il download si è corrotto: scaricala di nuovo e confrontala con SHA256SUMS.txt.

Evitare del tutto l’avviso. Installala dal Terminale: curl -fsSL https://mhguitarte.github.io/ygd-editor/install.sh | bash. Controlla il download come avrebbe fatto macOS e mette l’app in Applicazioni; vedi la pagina di download.

Windows blocca l’installer. SmartScreen › Ulteriori informazioni › Esegui comunque. L’autore deve risultare ygd-editor release signing.

L’AppImage non si avvia. Eseguilo con --appimage-extract-and-run, oppure installa libfuse2.

Un provider risulta «Non installato». Codex e Gemini CLI si scaricano su richiesta: premi Scarica sulla scheda; se il download fallisce, la scheda dice perché (offline, oppure un file che non corrispondeva al suo checksum ed è stato scartato). Per Claude Code, fai clic su Installa Claude Code nel suo riquadro; se lo hai installato tu, apri un terminale, verifica che claude --version funzioni, poi Impostazioni › Provider di IA › Ripeti la ricerca.

Qualcosa non va con git, il PATH o un agente. Se hai installato il comando ygd, ygd doctor in un terminale dice cosa vede l’app, anche quando l’app non si avvia.

Errori di git. L’app spiega quelli più comuni in una frase — credenziali, un remoto andato avanti, un file di lock, un albero con modifiche, conflitti — e conserva l’output completo nel terminale del worktree.

Non compare nessun aggiornamento. Controlla Impostazioni › Informazioni e aggiornamenti › Proponi gli aggiornamenti, poi Cerca aggiornamenti; l’app deve poter raggiungere github.com.

Un aggiornamento è stato rifiutato perché non firmato dal progetto. Non è stato installato nulla. Scarica l’installer da Tutte le versioni e verificalo come spiega Il mio download è autentico?.

Le impostazioni non si salvano dopo essere tornati a una versione precedente. L’app più vecchia lascia stare i file scritti da quella più nuova, usa i valori predefiniti e dice di quale file si tratta. Aggiorna di nuovo e ritrovi tutto com’era.

Segnalare un problema. Impostazioni › Diagnostica mostra ciò che serve a una segnalazione: le versioni dell’app, di git e di ogni CLI degli agenti, il PATH che ricevono gli agenti, i processi degli agenti in corso e un log in tempo reale che puoi filtrare. Livelli di log stabilisce quanto registrare — info, git=debug registra git nei dettagli. Prepara pacchetto… raccoglie tutto in uno zip ed elenca ogni file perché tu lo legga prima di Salva zip…: token e chiavi API sono mascherati, ciò che hai scritto ad agenti e terminali resta fuori, e la tua cartella home appare come ~. Allegalo a una issue raccontando cosa hai fatto, cosa ti aspettavi e cosa è successo.

L’app si è chiusa di colpo. Ne resta traccia sul tuo computer, e non viene caricato nulla. L’avvio successivo te lo dice, e Segnala un bug… nel menu Aiuto apre una nuova issue nel browser con la versione dell’app, il tuo sistema e l’ultimo arresto anomalo già compilati — nessun percorso, prompt, impostazione o token. Tu la leggi e decidi se inviarla.

Disinstallare

Prima di rimuoverla — entrambe le cose sono facoltative. Se c’è un worktree corrente in quello predefinito, fai clic su Termina, così il worktree predefinito riavrà il suo branch e le sue modifiche. Per uscire da un provider, usa Scollega sul suo riquadro in Impostazioni › Provider di IA: gli accessi appartengono a Claude Code, Codex e Gemini CLI, non all’app, quindi rimuovere l’app non li chiude. Se hai installato il comando ygd, usa Rimuovi in Impostazioni › Riga di comando. Poi esci da ygd-editor.

macOS. Trascina ygd-editor da Applicazioni al Cestino — da ~/Applications se l’installazione dal Terminale l’ha messa lì.

Windows. Impostazioni › App › App installate › ygd-editor › Disinstalla, oppure Pannello di controllo › Programmi e funzionalità.

Linux. Elimina il file AppImage. Per il pacchetto Debian / Ubuntu: sudo apt remove ygd-editor.

Cosa resta. Le impostazioni, gli spazi di lavoro, la cronologia delle sessioni e i download di Codex e Gemini CLI stanno nella cartella .ygd-editor della tua cartella personale, e la disinstallazione li conserva: reinstallando riprendi da dove avevi lasciato. Per eliminarli, insieme alle cache dell’app, esegui questo dopo la disinstallazione:

macOS:

rm -rf ~/.ygd-editor ~/Library/Application\ Support/ygd-editor ~/Library/Caches/ygd-editor-updater ~/Library/Caches/com.mhguitarte.ygd-editor* ~/Library/HTTPStorages/com.mhguitarte.ygd-editor ~/Library/Preferences/com.mhguitarte.ygd-editor.plist

Windows (PowerShell):

Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:USERPROFILE\.ygd-editor", "$env:APPDATA\ygd-editor", "$env:LOCALAPPDATA\ygd-editor-updater"

Linux:

rm -rf ~/.ygd-editor ~/.config/ygd-editor ~/.cache/ygd-editor-updater

Cosa non viene mai toccato. I tuoi repository e i worktree che hai creato sono normali cartelle git e restano dove sono; git worktree remove <cartella> ne rimuove uno. Se l’app ha installato Claude Code per te, resta nella tua cartella personale: la documentazione di Anthropic spiega come rimuoverlo.

Privacy e sicurezza

Tutto gira sul tuo computer. L’app in sé si collega a internet per due cose: controllare le versioni pubblicate su questo sito in cerca di aggiornamenti e, una volta al giorno, scaricare da models.dev l’elenco pubblico dei modelli e dei loro prezzi. Gli agenti parlano con i loro provider con i tuoi account; git parla con i tuoi remoti con le tue credenziali. I token dei provider che l’app conserva stanno nel portachiavi del sistema operativo. L’interfaccia gira in una sandbox, ogni richiesta che nomina un percorso viene verificata rispetto ai repository che hai davvero aperto, e nessun comando viene mai costruito a partire da una stringa di shell. Il pacchetto di diagnostica e i rapporti sugli arresti anomali vengono salvati sul tuo computer e non vengono inviati da nessuna parte. Le notifiche sul telefono, quando le attivi, inviano solo quale agente ha bisogno di te e su quale branch, o di quale pull request sono falliti i check.

Per verificare che un download sia davvero nostro, vedi Il mio download è autentico? nella pagina di download.