Vai al contenuto principale

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

I flussi di lavoro consentono agli utenti di definire una serie di passaggi per guidare Cascade nell’esecuzione di attività ripetitive, come distribuire un servizio o rispondere ai commenti delle PR. Questi flussi di lavoro vengono salvati come file markdown, offrendo agli utenti e ai loro team un modo semplice e ripetibile per eseguire processi chiave. Una volta salvati, i flussi di lavoro possono essere invocati in Cascade tramite un comando slash nel formato /[name-of-workflow]

Come funziona

In genere, le Regole forniscono ai modelli linguistici di grandi dimensioni indicazioni tramite un contesto persistente e riutilizzabile a livello di prompt. I flussi di lavoro estendono questo concetto fornendo una sequenza strutturata di passaggi o prompt a livello di traiettoria, guidando il modello attraverso una serie di attività o azioni interconnesse.
Per eseguire un flusso di lavoro, gli utenti devono semplicemente invocarlo in Cascade con il comando /[workflow-name].
Puoi invocare altri flussi di lavoro dall’interno di un flusso di lavoro!

Ad esempio, /workflow-1 può includere istruzioni come “Invoca /workflow-2” e “Invoca /workflow-3”.
Una volta invocato, Cascade elabora in sequenza ogni passaggio definito nel flusso di lavoro, eseguendo azioni o generando risposte come specificato.

Come creare un flusso di lavoro

Per iniziare con i flussi di lavoro, fai clic sull’icona Customizations nel menu laterale a scomparsa in alto a destra di Cascade, quindi vai al pannello Workflows. Qui puoi fare clic sul pulsante + Workflow per creare un nuovo flusso di lavoro. I flussi di lavoro vengono salvati come file Markdown nelle directory .windsurf/workflows/ e contengono un titolo, una descrizione e una serie di passaggi con istruzioni specifiche da seguire per Cascade.

Rilevamento dei flussi di lavoro

Windsurf rileva automaticamente i flussi di lavoro da più posizioni per offrire un’organizzazione flessibile:
  • Workspace corrente e relative sottodirectory: tutte le directory .windsurf/workflows/ all’interno della workspace corrente e delle relative sottodirectory
  • Struttura del repository Git: per i repository Git, Windsurf risale anche fino alla directory radice del repository per trovare i flussi di lavoro nelle directory padre
  • Supporto per più workspace: quando sono aperte più cartelle nella stessa workspace, i flussi di lavoro vengono deduplicati e visualizzati con il percorso relativo più breve

Percorsi di archiviazione dei flussi di lavoro

I flussi di lavoro possono essere archiviati in una qualsiasi di queste posizioni:
  • .windsurf/workflows/ nella directory del workspace corrente
  • .windsurf/workflows/ in qualsiasi sottodirectory del workspace
  • .windsurf/workflows/ nelle directory principali fino alla root di git (per i repository git)
Quando crei un nuovo flusso di lavoro, questo verrà salvato nella directory .windsurf/workflows/ del workspace corrente, non necessariamente nella root di git. Ogni file di flusso di lavoro è limitato a 12000 caratteri.

Crea un flusso di lavoro con Cascade

Puoi anche chiedere a Cascade di creare flussi di lavoro per te. Funziona particolarmente bene per i flussi di lavoro che prevedono una serie di passaggi in uno specifico strumento CLI.

Flussi di lavoro di esempio

Esistono moltissimi casi d’uso per i flussi di lavoro, ad esempio:

/address-pr-comments

Questo è un flusso di lavoro che il nostro team usa internamente per gestire i commenti sulle PR:
1. Passa al branch della PR: `gh pr checkout [id]`

2. Recupera i commenti della PR

 bash
 gh api --paginate repos/[owner]/[repo]/pulls/[id]/comments | jq '.[] | {user: .user.login, body, path, line, original_line, created_at, in_reply_to_id, pull_request_review_id, commit_id}'

3. Per CIASCUN commento, procedi come segue. Ricorda di affrontare un commento alla volta.
 a. Stampa quanto segue: "(index). Da [user] su [file]:[lines] — [body]"
 b. Analizza il file e l'intervallo di righe.
 c. Se non capisci il commento, non apportare modifiche. Limitati a chiedermi un chiarimento oppure chiedimi di implementarlo io.
 d. Se ritieni di poter apportare la modifica, falla PRIMA di passare al commento successivo.

4. Una volta elaborati tutti i commenti, riepiloga cosa hai fatto e quali commenti richiedono l'attenzione dell'UTENTE.

/git-workflows

Esegui il commit usando formati predefiniti e crea pull request con titoli e descrizioni standardizzati usando i comandi CLI appropriati.

/dependency-management

Automatizza l’installazione o l’aggiornamento delle dipendenze del progetto in base a un file di configurazione (ad es. requirements.txt, package.json).

/code-formatting

Esegui automaticamente formatter di codice (come Prettier, Black) e linter (come ESLint, Flake8) al salvataggio del file o prima del commit per mantenere lo stile del codice e individuare gli errori tempestivamente.

/run-tests-and-fix

Esegui o aggiungi test unitari o end-to-end e correggi automaticamente gli errori per garantire la qualità del codice prima del commit, del merge o della distribuzione.

/deployment

Automatizza i passaggi necessari per distribuire la tua applicazione in vari ambienti (sviluppo, staging, produzione), incluse eventuali verifiche necessarie prima o dopo la distribuzione.

/security-scan

Integra e attiva scansioni delle vulnerabilità di sicurezza sul tuo codebase come parte della pipeline CI/CD o su richiesta.

Flussi di lavoro a livello di sistema (Enterprise)

Le organizzazioni Enterprise possono distribuire flussi di lavoro a livello di sistema, disponibili a livello globale in tutti i workspace, che gli utenti finali non possono modificare senza le autorizzazioni di amministratore. Questa soluzione è ideale per far rispettare processi di sviluppo validi per tutta l’organizzazione, procedure di distribuzione e flussi di lavoro di conformità. I flussi di lavoro a livello di sistema vengono caricati da directory specifiche del sistema operativo: macOS:
/Library/Application Support/Windsurf/workflows/*.md
Linux/WSL:
/etc/windsurf/workflows/*.md
Windows:
C:\ProgramData\Windsurf\workflows\*.md
Colloca i file del flusso di lavoro (come file .md) nella directory appropriata per il sistema operativo in uso. Il sistema caricherà automaticamente tutti i file .md da queste directory.

Precedenza dei flussi di lavoro

Quando esistono flussi di lavoro con lo stesso nome a più livelli, quelli a livello di sistema hanno la precedenza assoluta:
  1. Sistema (priorità massima) - Flussi di lavoro estesi all’intera organizzazione distribuiti dall’IT
  2. Workspace - Flussi di lavoro specifici del progetto in .windsurf/workflows/
  3. Globale - Flussi di lavoro definiti dall’utente
  4. Integrati - Flussi di lavoro predefiniti forniti da Windsurf
Ciò significa che, se un’organizzazione distribuisce un flusso di lavoro a livello di sistema con un nome specifico, questo farà override di qualsiasi flusso di lavoro del workspace, globale o integrato con lo stesso nome. Nella UI di Cascade, i flussi di lavoro a livello di sistema sono contrassegnati con l’etichetta “System” e non possono essere eliminati dagli utenti.
Importante: i flussi di lavoro a livello di sistema devono essere gestiti dal team IT o dal team di sicurezza della tua organizzazione. Assicurati che i team interni gestiscano distribuzione, aggiornamenti e conformità in base alle policy della tua organizzazione. Per farlo, puoi usare strumenti e flussi di lavoro standard come Mobile Device Management (MDM) o Configuration Management.