Salt la conținutul principal
Fluxurile de lucru le permit utilizatorilor să definească o serie de pași pentru a ghida Cascade printr-un set repetitiv de sarcini, precum distribuirea unui serviciu sau răspunsul la comentarii din PR-uri. Aceste fluxuri de lucru sunt salvate ca fișiere Markdown, oferind utilizatorilor și echipelor lor o modalitate ușor de reprodus pentru a rula procese esențiale. După salvare, fluxurile de lucru pot fi lansate în Cascade printr-o comandă slash, în formatul /[name-of-workflow]

Cum funcționează

Regulile oferă, în general, modelelor de limbaj de mari dimensiuni îndrumare, prin furnizarea unui context persistent și reutilizabil la nivel de prompt. Workflows extind acest concept printr-o succesiune structurată de pași sau prompturi la nivel de traiectorie, ghidând modelul printr-o serie de sarcini sau acțiuni interconectate.
Pentru a executa un Workflow, utilizatorii îl declanșează în Cascade folosind comanda /[workflow-name].
Poți apela alte Workflows din interiorul unui Workflow!

De exemplu, /workflow-1 poate include instrucțiuni precum „Call /workflow-2” și „Call /workflow-3”.
La rulare, Cascade procesează pe rând fiecare pas definit în Workflow, efectuând acțiuni sau generând răspunsuri conform specificațiilor.

Cum să creezi un Workflow

Pentru a începe să folosești Workflows, dă clic pe pictograma Customizations din meniul glisant din dreapta sus din Cascade, apoi navighează la panoul Workflows. Aici poți face clic pe butonul + Workflow pentru a crea un nou Workflow. Workflows sunt salvate ca fișiere Markdown în directoarele .windsurf/workflows/ și conțin un titlu, o descriere și o serie de pași cu instrucțiuni specifice pe care Cascade să le urmeze.

Descoperirea fluxurilor de lucru

Windsurf descoperă automat fluxuri de lucru din mai multe locații pentru o organizare flexibilă:
  • Workspace-ul curent și subdirectoarele: Toate directoarele .windsurf/workflows/ din workspace-ul tău curent și din subdirectoarele acestuia
  • Structura repository-ului Git: Pentru repository-urile Git, Windsurf caută, de asemenea, până la directorul rădăcină al repository-ului pentru a găsi fluxuri de lucru în directoarele părinte
  • Suport pentru multiple workspace-uri: Când sunt deschise mai multe foldere în același workspace, fluxurile de lucru sunt deduplicate și afișate cu cea mai scurtă cale relativă

Locații de stocare pentru fluxuri de lucru

Fluxurile de lucru pot fi stocate în oricare dintre aceste locații:
  • .windsurf/workflows/ în directorul workspace-ului curent
  • .windsurf/workflows/ în orice subdirector al workspace-ului
  • .windsurf/workflows/ în directoarele părinte până la rădăcina repo‑ului Git (pentru depozitele Git)
Când creezi un flux de lucru nou, acesta va fi salvat în directorul .windsurf/workflows/ din workspace-ul curent, nu neapărat la rădăcina repo‑ului Git. Fiecare fișier de flux de lucru este limitat la 12.000 de caractere.

Generează un workflow cu Cascade

Poți, de asemenea, să-i ceri lui Cascade să-ți genereze workflow-uri! Acest lucru funcționează foarte bine pentru workflow-uri care implică o serie de pași într-un anumit instrument CLI.

Exemple de fluxuri de lucru

Există numeroase cazuri de utilizare pentru Workflows, precum:

/address-pr-comments

Acesta este un Workflow pe care echipa noastră îl folosește intern pentru a aborda comentariile dintr-un PR:
1. Fă checkout pe branch-ul PR-ului: `gh pr checkout [id]`

2. Obține comentariile din 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. Pentru FIECARE comentariu, fă următoarele. Ține minte: abordează câte un comentariu pe rând.
 a. Afișează: „(index). De la [user] pe [file]:[lines] — [body]”
 b. Analizează fișierul și intervalul de linii.
 c. Dacă nu înțelegi comentariul, nu face nicio schimbare. Cere-mi clarificări sau să îl implementez eu.
 d. Dacă crezi că poți face schimbarea, fă-o ÎNAINTE de a trece la comentariul următor.

4. După ce toate comentariile au fost procesate, rezumă ce ai făcut și care comentarii necesită atenția UTILIZATORULUI.

/git-workflows

Fă commit folosind formate predefinite și creează pull request-uri cu titluri și descrieri standardizate, utilizând comenzile CLI potrivite.

/dependency-management

Automatizează instalarea sau actualizarea dependențelor proiectului pe baza unui fișier de configurare (de ex.: requirements.txt, package.json).

/code-formatting

Rulează automat formatare de cod (precum Prettier, Black) și lintere (precum ESLint, Flake8) la salvarea fișierelor sau înainte de commit, pentru a menține stilul de cod și a prinde erorile din timp.

/run-tests-and-fix

Rulează sau adaugă teste unitare ori end-to-end și corectează automat erorile pentru a asigura calitatea codului înainte de commit, merge sau deploy.

/deployment

Automatizează pașii pentru a-ți livra (deploy) aplicația în diverse medii (development, staging, production), inclusiv verificările necesare pre-deploy și verificările ulterioare.

/security-scan

Integrează și declanșează scanări de vulnerabilități de securitate pe baza de cod ca parte a pipeline-ului CI/CD sau la cerere.
I