# Flussi di lavoro plan-first (/it/docs/verdent-for-vscode/configuration/plan-workflows)

> Usare la pianificazione assistita dall'AI per attività complesse



I flussi di lavoro plan-first sfruttano **Plan Mode**, una modalità di esecuzione in sola lettura in cui Verdent analizza il codice, conduce ricerche e crea piani dettagliati prima di eseguire qualsiasi modifica. Questo flusso di lavoro separa la pianificazione strategica dall'implementazione, consentendo revisione e perfezionamento prima di procedere con le modifiche al codice.

### Quando usare Plan Mode [#quando-usare-plan-mode]

* Modifiche complesse su più file che richiedono coordinamento
* Incertezza sull'approccio di implementazione migliore
* Modifiche ad alto rischio su codice critico per la produzione
* Attività in codebase sconosciuti in cui serve esplorazione
* Necessità di pianificazione strategica che richiedono approvazione prima dell'esecuzione

***

## Suddivisione delle attività assistita dall'AI [#suddivisione-delle-attività-assistita-dallai]

Verdent scompone automaticamente le richieste complesse in passaggi gestibili e sequenziali tramite la suddivisione delle attività assistita dall'AI.

### Processo di suddivisione [#processo-di-suddivisione]

<Steps>
  <Step title="Analisi della richiesta">
    Verdent analizza la tua richiesta in linguaggio naturale per identificare:

    * Obiettivo principale e risultato desiderato
    * File, componenti o sistemi interessati
    * Operazioni tecniche e dipendenze necessarie
    * Potenziali fattori di complessità
  </Step>

  <Step title="Contesto del codebase">
    Verdent esamina la struttura del tuo progetto per comprendere:

    * Architettura esistente e pattern consolidati
    * Organizzazione dei file e stack tecnologico
    * Implementazioni attuali che richiedono modifiche
  </Step>

  <Step title="Decomposizione delle attività">
    Verdent suddivide la richiesta in sottoattività logiche:

    * Identifica i punti di interruzione naturali e le fasi di implementazione
    * Ordina le attività per dipendenza (prima le attività prerequisite)
    * Raggruppa le operazioni correlate
    * Stima l'ambito e la complessità di ogni sottoattività
  </Step>

  <Step title="Chiarimento interattivo">
    Verdent può porre domande per perfezionare la suddivisione:

    * "Devo modificare la validazione esistente o crearne una nuova?"
    * "Vuoi aggiornare i test per tutti i componenti interessati?"
    * "Questa modifica deve applicarsi sia ai componenti web che a quelli mobile?"
  </Step>
</Steps>

### Caratteristiche della suddivisione [#caratteristiche-della-suddivisione]

<Tabs>
  <Tab title="Granularità">
    * Attività dimensionate per 15-45 minuti di lavoro concentrato
    * Punti di interruzione naturali per test e validazione
    * Abbastanza complesse da essere significative, abbastanza semplici da eseguire
  </Tab>

  <Tab title="Sequenziamento">
    * Dipendenze rispettate (configurazione prima dell'implementazione)
    * Progressione logica (livello dati → logica di business → UI)
    * Passaggi di verifica dopo le fasi principali
  </Tab>

  <Tab title="Personalizzazione">
    Il formato della suddivisione del piano può essere personalizzato tramite `plan_rules.md` per controllare:

    * Livello di dettaglio (di alto livello vs granulare)
    * Struttura e sezioni del piano
    * Informazioni incluse (stime di tempo, rischi, dipendenze)
  </Tab>
</Tabs>

***

## Revisione e approvazione del piano [#revisione-e-approvazione-del-piano]

Dopo aver inviato una richiesta in Plan Mode, Verdent genera un piano strutturato mostrato nella Chat View per la tua revisione.

### Processo di revisione [#processo-di-revisione]

<Steps>
  <Step title="Ricevi un piano strutturato">
    Verdent genera un piano con sezioni chiare, passaggi numerati, file interessati e dipendenze identificate
  </Step>

  <Step title="Analizza la qualità del piano">
    Verifica:

    * **Correttezza:** l'approccio risolve il problema?
    * **Completezza:** sono inclusi tutti i passaggi necessari?
    * **Efficienza:** è il miglior approccio possibile?
    * **Rischio:** cosa potrebbe andare storto? Casi limite o problemi di sicurezza?
  </Step>

  <Step title="Poni domande di chiarimento">
    Richiedi informazioni aggiuntive se qualcosa non è chiaro:

    ```
    Can you explain step 3 in more detail?
    Why are we modifying both the service and controller?
    What happens if the API call fails in step 5?
    ```
  </Step>

  <Step title="Richiedi modifiche">
    Fornisci feedback per rivedere il piano:

    ```
    Let's use JWT tokens instead of OAuth2
    Can we break step 4 into smaller substeps?
    Add error handling considerations to the plan
    ```
  </Step>

  <Step title="Scegli l'azione successiva">
    Dopo che Verdent genera il piano, vengono presentate due opzioni:

    * **Edit**: richiedi modifiche, poni domande di chiarimento o perfeziona ulteriormente il piano
    * **Start Building**: passa a Agent Mode e inizia a eseguire il piano approvato
  </Step>
</Steps>

### Opzioni di interazione con il piano [#opzioni-di-interazione-con-il-piano]

Dopo aver rivisto il piano generato, Verdent presenta due opzioni:

**Edit:**

Scegli questa opzione per:

* Richiedere modifiche specifiche all'approccio del piano
* Porre domande di chiarimento sui dettagli di implementazione
* Aggiungere elementi o considerazioni mancanti
* Semplificare o ampliare determinati passaggi
* Esplorare approcci alternativi

Questo ti mantiene in Plan Mode per un perfezionamento iterativo senza eseguire alcuna modifica.

**Start Building:**

Scegli questa opzione per:

* Passare a Agent Mode e iniziare l'esecuzione
* Implementare il piano approvato con piena autonomia
* Apportare modifiche ai file ed eseguire comandi come pianificato

Puoi anche optare per:

* **Implementazione manuale**: rivedi il piano e implementa tu stesso le modifiche
* **Esecuzione incrementale**: chiedi a Verdent di implementare fasi specifiche con checkpoint di revisione tra uno stadio e l'altro

<Tip>
  Usa **Edit** per iterare sul piano tutte le volte necessarie. Scegli **Start Building** solo quando sei sicuro che l'approccio sia corretto e completo.
</Tip>

***

## Pianificazione iterativa [#pianificazione-iterativa]

Puoi modificare e iterare liberamente sui piani scegliendo **Edit** e fornendo feedback in forma di conversazione. Verdent tratta la generazione del piano come un processo interattivo e iterativo.

### Metodi di modifica [#metodi-di-modifica]

**Richiedere modifiche specifiche:**

```
Change step 3 to use Redux instead of Context API
Add input validation before the database insert
Swap the order of steps 4 and 5
```

**Aggiungere elementi mancanti:**

```
Add error handling for network failures
Include rollback procedures
Add performance optimization considerations
```

**Semplificare o ampliare:**

```
This is too complex - can we simplify the approach?
Break down step 5 into more detailed substeps
Give me more detail on the database schema changes
```

**Esplorare alternative:**

```
What if we used webhooks instead?
Show me an alternative plan using microservices architecture
Can we accomplish this without changing the database schema?
```

### Esempio di flusso di iterazione [#esempio-di-flusso-di-iterazione]

```
User: "Add user authentication to the API"

[Verdent generates initial plan with JWT tokens]

User: "Actually, let's use OAuth2 instead of JWT"

[Verdent revises plan to use OAuth2]

User: "Add step for migrating existing users"

[Verdent adds migration step to plan]

User: "Can you break down the migration step more?"

[Verdent expands migration with detailed substeps]

User: Chooses **Start Building**

[Verdent switches to Agent Mode and begins execution]
```

**Iterazioni illimitate:**

* Nessun limite al numero di revisioni
* Ogni iterazione mantiene il contesto della conversazione
* Le versioni precedenti sono conservate nella cronologia della chat
* Puoi fare riferimento a versioni precedenti del piano: "torna al primo approccio"

<Note>
  Il rifiuto di un piano è una parte naturale del processo di pianificazione iterativa. Garantisce che vengano eseguite solo strategie approvate e ben comprese, riducendo lo sforzo sprecato su implementazioni errate.
</Note>

***

## FAQ (Domande frequenti) [#faq-domande-frequenti]

<Accordion title="Plan Mode scrive effettivamente codice sui miei file?">
  **No.** Plan Mode è rigorosamente in sola lettura:

  * Verdent può leggere file, cercare nel codice e analizzare il tuo codebase
  * **Nessuna scrittura, modifica o eliminazione di file** avviene durante Plan Mode
  * I piani vengono mostrati solo nella Chat View
  * L'esecuzione del codice inizia solo dopo che approvi esplicitamente e passi a Agent Mode

  **Garanzia di sicurezza:** Plan Mode non può modificare accidentalmente il tuo codice. È progettato per un'esplorazione sicura e per lo sviluppo di strategie.
</Accordion>

<Accordion title="Posso eseguire un piano in modo incrementale invece che tutto insieme?">
  **Sì.** L'esecuzione incrementale è pienamente supportata:

  **Pattern di approvazione incrementale:**

  ```
  Let's start with Phase 1 first, then we'll review before continuing
  Implement steps 1-3, then stop for review
  Do the database migration first, I'll review before the API changes
  ```

  **Come funziona:**

  1. Verdent esegue i passaggi specificati
  2. Si ferma a un checkpoint di revisione
  3. Rivedi i risultati e fornisci feedback
  4. Continua con la fase successiva o modifica l'approccio
  5. Ripeti fino al completamento

  **Ideale per:** modifiche ad alto rischio, pattern sconosciuti, codice critico per la produzione dove un rilascio a fasi riduce il rischio.

  <Tip>
    L'esecuzione incrementale ti permette di approvare parti di un piano rimandandone altre, utile quando le priorità cambiano a metà attività.
  </Tip>
</Accordion>

<Accordion title="Cosa succede se rifiuto un piano?">
  **Il rifiuto di un piano è del tutto normale e previsto:**

  * Verdent genera un nuovo piano basato sul tuo feedback
  * Le versioni precedenti del piano restano nella cronologia della chat come riferimento
  * Non avviene alcuna modifica al codice (Plan Mode è in sola lettura)
  * Puoi iterare un numero illimitato di volte fino a essere soddisfatto

  **Motivi comuni di rifiuto:**

  * L'approccio è troppo complesso o troppo semplice
  * Casi limite o gestione degli errori mancanti
  * Esiste un'architettura alternativa migliore
  * Requisiti fraintesi

  **Consiglio pro:** il rifiuto fa parte del processo. È meglio perfezionare i piani in modo iterativo che sprecare sforzi eseguendo strategie errate.
</Accordion>

<Accordion title="Come passo da Plan Mode a Agent Mode?">
  **Il passaggio è immediato tramite l'Input Box:**

  **Per entrare in Plan Mode:**

  * Seleziona il pulsante **Switch Mode** nell'Input Box
  * Seleziona **Plan Mode** dal menu a discesa
  * OPPURE di': "Passa a Plan Mode"

  **Per uscire da Plan Mode:**

  * Seleziona il pulsante **Switch Mode** nell'Input Box
  * Seleziona **Agent Mode** dal menu a discesa
  * OPPURE scegli **Start Building** dopo aver rivisto un piano

  **Persistenza della modalità:**

  * La scelta della modalità persiste all'interno della sessione corrente
  * Le nuove sessioni partono nella modalità predefinita Agent Mode
  * Puoi cambiare modalità liberamente in qualsiasi momento

  **Flusso di lavoro tipico:** Plan Mode → revisione → Agent Mode → esecuzione → di nuovo a Plan Mode per la prossima funzionalità complessa.
</Accordion>

<Accordion title="Posso personalizzare il formato e il livello di dettaglio dei piani generati?">
  **Sì, usando `plan_rules.md`:**

  **Posizione:** `~/.verdent/plan_rules.md` (directory di configurazione globale)

  **Cosa puoi personalizzare:**

  * **Livello di dettaglio:** panoramica di alto livello vs passo-passo granulare
  * **Struttura del piano:** sezioni da includere (riepilogo, rischi, dipendenze, test)
  * **Informazioni incluse:** stime di tempo, percorsi dei file, passaggi di verifica
  * **Preferenze di formato:** elenchi numerati, fasi, categorizzazione

  **Esempio di plan\_rules.md:**

  ```markdown
  # Plan Rules

  ## Plan Structure
  - Start with a brief summary (2-3 sentences)
  - Include estimated time for each major step
  - List prerequisites before implementation steps
  - Identify potential risks and mitigation strategies

  ## Level of Detail
  - Break tasks into subtasks of 15-30 minutes
  - Include specific file paths for modifications
  - List functions or components to create/modify
  - Provide verification steps for each phase
  ```

  **Le modifiche si applicano immediatamente** alle nuove sessioni di Plan Mode.
</Accordion>

<Accordion title="Plan Mode usa lo stesso contesto di Agent Mode?">
  **No, Plan Mode ha una gestione del contesto separata:**

  * **Contesto di Plan Mode:** ottimizzato per analisi e pensiero strategico
  * **Contesto di Agent Mode:** ottimizzato per esecuzione e implementazione
  * **Vantaggio:** i piani non inquinano il contesto di esecuzione con ricerche esplorative

  **Perché la separazione è importante:**

  * Plan Mode può esplorare più approcci senza appesantire Agent Mode
  * I tentativi di piano rifiutati non consumano il contesto di Agent Mode
  * Una tabula rasa quando passi all'esecuzione

  **Reset del contesto:** il cambio di modalità fornisce un contesto pulito per il nuovo tipo di attività.
</Accordion>

<Accordion title="Cosa succede se Verdent pone domande di chiarimento durante la pianificazione?">
  **Le domande di chiarimento fanno parte del processo di suddivisione:**

  **Perché vengono poste domande:**

  * Requisiti ambigui che necessitano di chiarimenti
  * Esistono più approcci validi (sceglierne uno)
  * Casi limite o vincoli non ancora specificati
  * Preferenze non chiare dalla richiesta iniziale

  **Come rispondere:**

  * Rispondi direttamente in linguaggio conversazionale
  * Fornisci esempi se utile
  * Di' "scegli tu" se ti fidi del giudizio di Verdent
  * Poni controdomande se non sei sicuro

  **Esempio di scambio:**

  ```
  Verdent: "Should I modify the existing validation or create a new validator?"
  You: "Create a new validator - we'll deprecate the old one later"
  Verdent: [Updates plan with new validator approach]
  ```

  **Consiglio pro:** le domande aiutano Verdent a generare piani accurati e pertinenti, su misura per le tue esigenze specifiche.
</Accordion>

***

## Vedi anche [#vedi-anche]

<CardGroup cols="2">
  <Card title="Modalità di esecuzione" icon="sliders" href="/docs/verdent-for-vscode/execution-modes/overview">
    Scopri di più su Plan Mode e le altre modalità di esecuzione
  </Card>

  <Card title="Best practice: prompt" icon="message" href="/docs/verdent-for-vscode/best-practices/prompts">
    Scrivi prompt efficaci per Plan Mode
  </Card>
</CardGroup>
