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.

Workflows la nivel de sistem (Enterprise)

Organizațiile Enterprise pot implementa workflows la nivel de sistem care sunt disponibile la nivel global în toate workspace-urile și nu pot fi modificate de utilizatorii finali fără permisiuni de administrator. Acest lucru este ideal pentru aplicarea unitară a proceselor de dezvoltare la nivelul întregii organizații, a procedurilor de deployment și a workflows-urilor de conformitate. Workflows la nivel de sistem sunt încărcate din directoare specifice sistemului de operare: macOS:
/Library/Application Support/Windsurf/workflows/*.md
Linux/WSL:
/etc/windsurf/workflows/*.md
Windows:
C:\ProgramData\Windsurf\workflows\*.md
Plasați fișierele de workflow (fișiere .md) în directorul corespunzător sistemului dvs. de operare. Sistemul va încărca automat toate fișierele .md din aceste directoare.

Prioritatea workflow-urilor

Atunci când workflow-uri cu același nume există la mai multe niveluri, workflow-urile la nivel de sistem au cea mai mare prioritate:
  1. Sistem (prioritate maximă) - Workflow-uri la nivel de întreaga organizație, implementate de echipa IT
  2. Workspace - Workflow-uri specifice proiectului, în .windsurf/workflows/
  3. Global - Workflow-uri definite de utilizator
  4. Integrat - Workflow-uri implicite furnizate de Windsurf
Asta înseamnă că, dacă o organizație implementează un workflow la nivel de sistem cu un anumit nume, acesta va înlocui orice workflow de tip workspace, global sau integrat cu același nume. În interfața Cascade, workflow-urile la nivel de sistem sunt afișate cu eticheta „System” și nu pot fi șterse de utilizatorii finali.
Important: Workflow-urile la nivel de sistem ar trebui să fie administrate de echipa dumneavoastră de IT sau de securitate. Asigurați-vă că echipele interne se ocupă de implementare, actualizări și conformitate, respectând politicile organizației dumneavoastră. Puteți utiliza instrumente și workflow-uri standard, cum ar fi Mobile Device Management (MDM) sau Configuration Management, pentru a face acest lucru.