Începe cu pluginul Power Pages pentru GitHub Copilot CLI și Claude Code

Pluginul Power Pages pentru GitHub Copilot CLI și Claude Code oferă un flux de lucru asistat de AI pentru crearea, implementarea și gestionarea site-urilor moderne single-page (SPA) pe Power Pages. În loc de a susține manual proiectele, a scrie cod API standard și a configura permisiunile, descrie ce vrei în limbaj natural, iar plugin-ul se ocupă de implementare.

Pluginul susține întregul ciclu de viață al dezvoltării site-ului prin abilități conversaționale, de la structurarea unui nou site până la implementarea acestuia, configurarea modelelor de date Dataverse și configurarea autentificării.

Important

  • Un agent generativ de codare AI, cum ar fi GitHub Copilot CLI sau Claude Code, folosește abilitățile și fluxurile de lucru ale acestui plugin pentru a finaliza sarcini specifice Power Pages.
  • Codul și configurațiile generate de agentul de codare AI pot fi inexacte. Revizuiește, testează și validează tot conținutul generat înainte de a-l aproba sau implementa. Verifică întotdeauna propunerile agenților înainte de a le aproba.

Cerințe preliminare

Înainte să începi, verifică dacă ai software-ul și permisiunile necesare.

Cerințe de software

Componentă Versiune minimă Mai multe informații
Node.js 18.0 sau mai târziu Descarcă Node.js
Power Platform CLI (PAC CLI) 2.6.3 sau mai târziu (necesar pentru logica serverului) Instalează CLI PAC
Azure CLI Cele mai recente actualizări Instalează Azure CLI
GitHub Copilot CLI sau Claude Code Cele mai recente actualizări GitHub Copilot CLI sau Claude Code
Visual Studio Code și extensia Power Platform Tools (Opțional) Cele mai recente actualizări Descarcă VS Code și instalează instrumentele Power Platform

De asemenea, ai nevoie de:

  • Un mediu Power Platform cu Power Pages activat.
  • O sesiune PAC CLI autentificată conectată la mediul țintă. Fugi pac auth create dacă nu te-ai conectat încă.
  • O sesiune Azure CLI s-a conectat la același tenant. Rulează az login --allow-no-subscriptions pentru a autentifica.

Verifică autentificarea:

Verifică dacă ești autentificat folosind comanda.pac auth list

pac auth list           # Should show authenticated profile

Dacă nu ești autentificat, rulează această comandă:

pac auth create --environment <Instance url>        # Authenticate to Power Platform

Sfat

Pentru a obține URL-ul instanței, mergi la Power Pages home, selectează pictograma Settings din colțul din dreapta sus, apoi selectează Detalii sesiune.

Instalează pluginul

Instalează pluginul Power Pages din marketplace. Dacă folosești GitHub Copilot CLI, consultă documentația extensiilor CLI Copilot pentru pași echivalent de instalare. Următoarele comenzi folosesc sintaxa Claude Code.

Rulează instalatorul pentru a configura toate pluginurile cu autoupdate activat:

Windows (PowerShell):

iwr https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js

macOS/Linux/Windows (cmd):

curl -fsSL https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js | node

Instalatorul automat:

  • Instalează pac CLI dacă nu este deja instalat.
  • Detectează uneltele disponibile, cum ar fi Claude Code și GitHub Copilot CLI.
  • Înregistrează piața pluginurilor și instalează toate pluginurile listate.
  • Activează actualizarea automată astfel încât pluginurile să rămână actualizate.

După instalare, repornește Claude Code sau GitHub Copilot CLI pentru a accesa abilitățile pluginului ca comenzi slash în sesiunea agentului.

Instalează din marketplace

  1. Deschide Codul Claude în terminalul tău.

  2. Adaugă piața Microsoft:

    /plugin marketplace add microsoft/power-platform-skills
    
  3. Instalează pluginul Power Pages:

    /plugin install power-pages@power-platform-skills
    

După ce instalezi pluginul, repornește Claude Code sau GitHub Copilot CLI pentru a accesa abilitățile pluginului ca comenzi slash în sesiunea agentului.

Sfat

Pentru a primi automat actualizări pentru piață și competențe, activează actualizarea automată. Folosește comanda /plugin , mergi la Piețe, alege piața și activează actualizarea automată.

Prezentare generală a abilităților

Pluginul oferă abilități care acoperă întregul ciclu de viață al unui site Power Pages. Invocă fiecare abilitate conversațional, fie ca o comandă de tăiere, fie descriind ce vrei to do.

Competență Command Ce face
Creați site-ul /create-site Structurează un site, aplică direcția ta de design și construiește pagini și componente
Locația de desfășurare /deploy-site Construiește proiectul și îl încarcă în Power Pages folosind CLI PAC
Activează site-ul /activate-site Furnizează un record de site web și atribuie un URL public
Configurarea modelului de date /setup-datamodel Creează tabele, coloane și relații Dataverse
Adaugă date de probă (opțional) /add-sample-data Completează tabelele Dataverse cu înregistrări realiste de testare
Integrează Web API /integrate-webapi Generează cod client API tipizat, servicii și permisiuni de tabel
Adaugă rezumate AI /add-ai-webapi Integrează API-urile de rezumare generative AI (rezumat de căutare și sumar de date) în paginile tale. Generează un serviciu de rezumat tastat cu gestionare anti-falsificare a token-urilor, wrapper-uri specifice cadrului, site-uri de apeluri prin cablu și setările site-ului corespunzător Summarization
Configurarea autentificării /setup-auth Adaugă log-in, log-out și control de acces bazat pe roluri. Suportă Microsoft Entra ID, ID extern Microsoft Entra, OpenID Connect, SAML 2.0, WS-Federation, cont Microsoft, Facebook, Google și autentificare locală pentru nume de utilizator și parolă, inclusiv configurații multi-provider
Creează roluri web /create-webroles Generează fișiere YAML pentru rol web pentru gestionarea accesului utilizatorilor
Logica serverului Adaugă /add-server-logic Generează endpoint-uri JavaScript securizate pe partea de server pentru validare, apeluri API externe, management al secretelor și operațiuni de date
Adaugă flux de nori /add-cloud-flow Integrează fluxurile existente de cloud Power Automate în site-ul tău pentru fluxurile de lucru de aprobare, notificări și automatizări programate
Integrat backend-ul /integrate-backend Analizează prototipul tău, determină abordarea corectă (Web API, Server Logic sau flux cloud) pentru fiecare funcționalitate și orchestrează întreaga secvență de construcție
Adaugă SEO /add-seo Generează robots.txt, sitemap.xml, și metatag-uri
Rulează revizuirea securității /security-review Orchestrează abilitățile de securitate concentrate și consolidează fiecare descoperire într-un singur raport HTML. Acoperă cod, dependențe, scanarea site-ului implementat, antete de browser, firewall-ul aplicațiilor web, permisiuni de tabel și configurarea autentificării
Scanarea codului sursă /scan-code Rulează analiză statică și scanare a dependențelor pe fișiere sursă locale; scoate la iveală descoperiri în tipare de cod, pachete vulnerabile, secrete hardcodate și probleme de licență
Locația desfășurată de scanare /scan-site Pornește o scanare de securitate pe partea serverului pentru site-ul live, preia cel mai recent raport și grupează constatările după severitate
Gestionează antetele de securitate ale browserului /manage-headers Inspectează și configurează antetele de securitate HTTP pe care site-ul le trimite browserelor — Politica de Securitate a Conținutului, protecție împotriva cadrelor și a clickjacking-ului, partajarea cross-origin, comportamentul cookie-urilor și setările aferente site-ului
Gestionarea firewall-ului aplicațiilor web /manage-firewall Inspectează și configurează firewall-ul aplicației web (WAF) pe un site de producție: activează protecția, adaugă sau elimină blocuri IP, blocuri de țări, blocuri de traseu și limite de rată
Permisiuni pentru tabelele de audit /audit-permissions Auditează permisiunile tabelelor existente în funcție de codul site-ului și metadatele Dataverse; produce un raport HTML grupat după severitate cu soluțiile sugerate
Implementarea planului /plan-alm Detectează starea proiectului, adună strategia ta de promovare, redă un plan vizual și orchestrează celelalte abilități de management al ciclului de viață al aplicațiilor (ALM) în ordinea corectă
Soluția autorului /setup-solution Creează un publisher și o soluție, adaugă componente Power Pages, clasifică setările site-ului și propune variabile de mediu și secretele Azure Key Vault
Configurarea gazdei pipeline-ului /ensure-pipelines-host Furnizează sau detectează un mediu gazdă pentru Power Platform Pipelines
Configurarea pipeline-ului /setup-pipeline Înregistrează o definiție a pipeline-ului în Dataverse și leagă etapele de promovare de mediile țintă
Implementare prin pipeline /deploy-pipeline Declanșează o implementare a pipeline-ului pentru o etapă țintă cu suprascrieri de variabile de mediu pe etapă
Mediul legăturii de forță /force-link-environment Realocează un mediu țintă către o nouă gazdă Power Platform Pipelines atunci când un conflict de gazdă blochează implementarea
Exportul soluției /export-solution Exportă soluția ca un zip gestionat sau neadministrat, cu o verificare a completității înainte de export
Importul unei soluții /import-solution Importul unei soluții zip pe un mediu țintă, fie etapizat sau direct
Locul testării /test-site Verifică un site implementat printr-un test bazat pe browser: scanarea paginilor, verificări de acces bazate pe roluri și verificarea API-ului web
Diagnosticarea implementării /diagnose-deployment Compară eșecurile de implementare cu un catalog de erori cunoscute și propune o soluție

Fluxul de lucru tipic

Un flux de lucru comun de la un capăt la altul urmează această secvență:

  1. /create-site : Pagini de schelă, proiectare și construcție
  2. /deploy-site : Încarcă în mediul tău Power Pages
  3. /activate-site : Setează un URL public
  4. /setup-datamodel : Creează tabele Dataverse
  5. /add-sample-data : Completează tabelele cu înregistrări de test
  6. /integrate-webapi : Generează codul client API și configurează permisiunile
  7. /create-webroles : Definește rolurile access
  8. /setup-auth : Adaugă log-in, log-out și interfață bazată pe rol
  9. /add-server-logic : Adaugă endpoint-uri securizate pe partea serverului
  10. /add-cloud-flow : Integrați fluxurile de Power Automate existente
  11. /add-seo : Optimizare pentru motoarele de căutare
  12. /deploy-site : Implementează modificările finale live
  13. /security-review : Efectuează o revizuire de securitate de la un capăt la altul înainte de a trece la producție
  14. /plan-alm : Promovează-ți site-ul în medii de testare și producție

Sfat

  • Nu trebuie să urmezi exact această ordine. Fiecare abilitate își verifică propriile condiții și îți spune dacă lipsește ceva. De exemplu, poți rula /setup-auth înainte /integrate-webapi dacă site-ul tău are nevoie de autentificare mai întâi.
  • Dacă nu ești sigur ce abordare să folosești pentru fiecare funcționalitate, folosește /integrate-backend în loc pașii 4 până la 10 individual. Analizează prototipul tău, determină dacă fiecare funcționalitate are nevoie de Web API, Server Logic sau de un flux cloud și orchestrează abilitățile în ordinea corectă.
  • Pentru a adăuga rezumate de căutare și înregistrări generate de AI, rulați /add-ai-webapi după /integrate-webapi. Reutilizează permisiunile tabelului și setările site-ului care /integrate-webapi se configurează, așa că rulează-l odată ce integrarea API web este implementată.

Construiește-ți site-ul Power Pages

Această prezentare acoperă întregul ciclu de viață al construirii unui site Power Pages cu pluginul, de la schelă până la implementare. Fiecare pas descrie ce spui și ce face pluginul ca răspuns.

Pasul 1: Creează-ți site-ul

Descrie site-ul pe care îl dorești în limbaj natural: pentru ce este folosit, ce pagini are nevoie și orice preferințe de design, cum ar fi schema de culori, stilul de layout sau fonturile. Rulează /create-site sau doar descrie site-ul și pluginul recunoaște intenția.

Dacă nu specifici un framework, pluginul îți cere să alegi unul (React, Vue, Angular sau Astro), apoi:

  1. Scaffoldează proiectul dintr-un șablon și aplică numele site-ului, culorile și jetoanele de design.
  2. Instalează dependențe, pornește un server de dezvoltare și deschide o previzualizare live a browserului.
  3. Construiește fiecare pagină, componentă și traseu cerut cu imagini relevante.
  4. Creează commit-uri git la repere semnificative, astfel încât să ai istoric de rollback integrat.

Pasul 2: Implementează-ți site-ul

Rulează /deploy-site pentru a-ți încărca site-ul pe Power Pages. Pluginul:

  1. Verifică că PAC CLI este instalat și că sesiunea ta de autentificare este activă.
  2. Confirmă mediul țintă cu tine înainte de a continua.
  3. Rulează o versiune de producție și încarcă ieșirea compilată.
  4. Creează un director de artefacte de implementare dacă nu există deja unul.

Notă

Dacă mediul tău blochează anumite atașamente, pluginul detectează problema și oferă instrucțiuni pentru a o rezolva.

Pasul 3: Activează-ți site-ul

Aleargă /activate-site pentru a face site-ul accesibil publicului. Pluginul:

  1. Sugerează un subdomeniu bazat pe numele site-ului tău și îți permite să-l personalizezi.
  2. Furnizează un registru de site web prin Power Platform API.
  3. Sondaje până când site-ul devine activ și returnează URL-ul public.

În acest moment, ai un site funcțional cu un URL public. Pașii rămași adaugă date, autentificare și SEO. Sari peste orice pași care nu se aplică site-ului tău.

Pasul 4: Configurează modelul tău de date

Aleargă /setup-datamodel pentru a crea tabelele Dataverse de care are nevoie site-ul tău. Dacă ai deja o diagramă ER sau o schemă specifică, oferă-o direct în loc să lași agentul să analizeze codul tău.

Pluginul generează un agent Data Model Architect care:

  1. Analizează codul site-ului tău pentru a determina ce date necesită paginile și componentele.
  2. Interoghează mediul tău Dataverse pentru tabele existente pentru a evita duplicatele.
  3. Propune un model de date cu tabele, coloane, tipuri de date și relații, vizualizat ca o diagramă ER.

Tu revizuiești și aprobi propunerea. Pluginul nu creează nimic până nu confirmi. După aprobare, pluginul creează tabelele și coloanele prin apeluri API și salvează un fișier manifest folosit de Pașii 5 și 6.

Pasul 5: Adaugă date de probă (Opțional)

Aleargă /add-sample-data să umplă tabelele cu înregistrări de test. Acest pas necesită modelul de date de la Pasul 4.

Pluginul execută următoarele acțiuni:

  1. Citește manifestul pentru a înțelege tabelele, coloanele și relațiile tale.
  2. Generează valori contextual adecvate pentru fiecare tip de coloană, cum ar fi emailuri realiste, date plauzibile și sume de monedă formatate.
  3. Inserează înregistrări în ordinea dependențelor (tabele părinte înaintea tabelelor copil) și reîmprospătează automat tokenurile de autentificare în timpul inserțiilor în masă.

Pasul 6: Integrează cu API-ul web Dataverse

Rulează /integrate-webapi pentru a înlocui datele simulate cu interogări Dataverse live. Acest pas necesită modelul de date de la Pasul 4.

Pluginul execută următoarele acțiuni:

  1. Scanează baza ta de cod pentru componente care folosesc date simulate, apeluri de preluare sau matrice hardcoded. Acesta mapează aceste componente la tabelele tale Dataverse.
  2. Generează un agent de integrare Web API pentru fiecare tabel care generează:
    • Un client API partajat cu gestionare anti-falsificare a token-urilor și logică de reîncercare.
    • Tipuri de entități TypeScript și mappe de domenii.
    • Un strat de servicii CRUD.
    • Modele specifice framework-ului, cum ar fi hook-urile React, compoziabilele Vue sau serviciile Angular.
  3. Generează un agent Arhitect de Permisiuni care propune permisiuni pentru tabele și setări ale site-ului.

Tu revizuiești și aprobi propunerea de permisiuni. Pluginul nu creează niciun fișier de configurare până nu confirmi.

Adaugă rezumate generate de AI (Opțional)

Rulează /add-ai-webapi pentru a suprapune rezumate AI generative peste integrarea ta cu API-ul web. Abilitatea conectează două API-uri de rezumare de previzualizare la paginile tale de detaliu și listă:

  • API-ul de rezumat al căutării: returnează un rezumat condensat AI al rezultatelor căutării, cu citări.
  • API-ul de rezumare a datelor: returnează un rezumat pe fiecare înregistrare sau informații la nivel de listă pentru un tabel Dataverse.

Acest pas se bazează pe modelul de date de la Pasul 4 și pe integrarea API-ului Web de la Pasul 6. Pluginul execută următoarele acțiuni:

  1. Scanează codul pentru puncte de integrare sumare și confirmă paginile țintă, tabelele și API-urile pe care să le folosești.
  2. Delegă orice prerechizite lipsă ale API-ului web — permisiuni de tabele, liste de coloane și roluri web — la /integrate-webapi și /create-webroles, astfel încât să existe o singură sursă de adevăr pentru permisiuni.
  3. Generează un agent AI Web API Integration care generează un serviciu de rezumat tipărit (aiSummaryService.ts) cu gestionare anti-falsificare a token-urilor, wrappers specifici cadrului (hook-uri React, composabile Vue sau servicii Angular) și site-uri de apel cu fir pe paginile țintă.
  4. Generează un agent AI Web API Settings Architect care creează setările Summarization site-ului pentru prompturi și limite de conținut.

Tu revizuiești și aprobi propunerile. Pluginul nu generează cod și nu creează setări până nu confirmi.

Notă

API-urile de rezumare sunt în previzualizare și depind de activarea controlelor administrative și la nivel de site. Dacă rezumatele nu apar după implementare, confirmă că funcția este activată prin setările relevante ale site-ului și controalele de administrator. Pentru mai multe informații, consultați Rezumatizare a datelor și căutarea Power Pages cu generative AI.

Pasul 7: Creează roluri web

Rulează /create-webroles pentru a defini rolurile access utilizatorilor. Pluginul:

  1. Interoghează mediul tău pentru roluri web existente pentru a evita duplicatele.
  2. Generează definiții de rol cu identificatori unici.
  3. Impune ca fiecare site să aibă cel mult un rol anonim și unul autentificat.

Pasul 8: Configurarea autentificării

Rulează /setup-auth pentru a adăuga log-in, log-out și control de acces bazat pe roluri pe site-ul tău. Pluginul suportă următorii furnizori de identitate și poți configura un furnizor sau mai mulți în același timp.

Provider Cel mai bun pentru
ID extern Microsoft Entra (recomandat pentru site-urile destinate clienților) Site-uri publice și portaluri pentru clienți cu înscriere self-service.
ID Microsoft Entra Portaluri interne pentru angajați sau site-uri parteneri business-to-business (B2B). Power Pages configurează automat tenant-ul părinte al site-ului, astfel încât să nu fie nevoie să introduci informații despre chiriaș.
Microsoft, Facebook, Google Autentificare socială pentru publicul consumatorilor.
Autentificare locală Autentificarea nume de utilizator și parolă. Nu este recomandat și este configurat doar când îl soliciti explicit.

Pentru mai multe informații despre furnizorii suportați, inclusiv protocoale și considerente de configurare, consultați Prezentare generală a autentificării în Power Pages.

Pluginul:

  1. Analizează site-ul tău (scopul, paginile, audiența) și propune un standard rezonabil. De exemplu, pluginul propune ID extern Microsoft Entra cu înregistrare deschisă pentru un site destinat clientului sau Microsoft Entra ID cu înregistrare doar pe bază de invitație pentru un portal intern. Accepți recomandarea sau îți alegi propriul furnizor.
  2. Pentru fiecare furnizor, te ghidează prin fiecare pas prealabil în centrul de administrare al furnizorului de identitate, cum ar fi crearea de chiriași, înregistrarea aplicațiilor, crearea fluxurilor de utilizator și capturarea ID-urilor clienților și URI-urilor de redirecționare. Pluginul validează fiecare valoare pe care o lipești înapoi în conversație și calculează exact URI-ul de redirecționare pentru site-ul tău, astfel încât valoarea lipită în înregistrarea aplicației să corespundă valorii scrise în setările site-ului.
  3. Întreabă cum ar trebui să circule datele profilului utilizatorului de la furnizorul de identitate în înregistrarea de contact Dataverse (maparea revendicărilor), dacă trebuie sincronizat la fiecare autentificare sau doar la prima autentificare și dacă se leagă automat autentificările externe către contactele existente prin email.
  4. Generează serviciul de autentificare, declarațiile de tip, utilitare de autorizare bazate pe roluri (hasRole, RequireAuth, RequireRole), un hook pentru keepalive de sesiune care previne expirarea silențioasă a sesiunilor SPA și o componentă UI de conectare/deconectare, integrată cu layout-ul site-ului tău. Pluginul folosește tiparele framework-ului tău pe tot parcursul, cum ar fi hook-urile React, compoziabilele Vue, serviciile Angular sau componentele Astro.
  5. Când mai mulți furnizori sunt configurați, generează o /login pagină redată în layout-ul ales: rând orizontal, stivă verticală, spotlight principal sau tab.
  6. Scrie setările site-ului potrivit pentru fiecare .powerpages-site/site-settings/ furnizor, modul de înregistrare, maparea cererilor și funcția opțională.

Pluginul configurează, de asemenea, următoarele funcții opționale când le activezi:

  • Termeni și condiții: O pagină SPA pe care /terms utilizatorii trebuie să o accepte înainte de a finaliza autentificarea, plus setările site-ului corespunzător și fragmentele de conținut.
  • pagina de profil utilizator: O pagină SPA /user-profile unde utilizatorii autentificați își editează informațiile de contact prin API-ul web Power Pages.
  • Deconectare federată: De asemenea, deconectarea utilizatorului la furnizorul de identitate atunci când se deconectează de pe site, pentru dispozitive partajate sau scenarii reglementate.

Sfat

Pentru a adăuga un al doilea furnizor de identitate pe un site existent, rulează /setup-auth din nou. Pluginul detectează ce este deja configurat și oferă adăugarea unui furnizor nou fără a suprascrie pe cei existenti. Această abordare este utilă pentru scenarii incrementale, cum ar fi începerea cu ID extern Microsoft Entra și adăugarea ulterioară a Google pentru autentificarea socială.

Notă

Autorizarea pe partea clientului (RequireAuth, RequireRole, hasRole) este doar pentru experiența utilizatorului. Controlează ceea ce vede utilizatorul. Permisiunile pe mesele de pe server, configurate de aceasta /integrate-webapi , impun securitatea reală.

Pasul 9: Adaugă logică de server

Rulează /add-server-logic pentru a adăuga endpoint-uri securizate pe partea serverului pe site-ul tău. Folosește Server Logic atunci când site-ul tău are nevoie de logică care nu poate rula în browser, cum ar fi apeluri API externe, validare pe partea de server, management secret sau operațiuni de date între entități.

Important

Suportul logicii serverului necesită PAC CLI versiunea 2.6.3 sau ulterioară. Folosește scriptul de instalare rapidă pentru a actualiza la cea mai recentă versiune.

Descrie ce ai nevoie în limbaj simplu și pluginul:

  1. Generează un agent Server Logic Architect care analizează cazul tău de utilizare și clasifică complexitatea acestuia.
  2. Propune un design al endpoint-ului, o configurație de securitate și orice permisiuni necesare pentru tabele pentru revizuire.
  3. După ce aprobați, generează punctul final JavaScript de pe partea serverului la /_api/serverlogics/<name>.
  4. Creează un serviciu tastat pe partea clientului pentru a invoca endpoint-ul din componentele tale.
  5. Îți actualizează componentele pentru a chema noul serviciu.
  6. Configurează atribuțiile rolurilor web și permisiunile tabelelor pentru endpoint.

Tu revizuiești și aprobi propunerea. Nu se generează niciun cod până nu confirmi.

Cazuri de utilizare comune:

Notă

Rulează /add-server-logic o dată pentru fiecare caz de utilizare. De exemplu, dacă site-ul tău are nevoie atât de un endpoint de validare a inventarului, cât și de un endpoint global de căutare, rulează abilitatea de două ori.

Pasul 10: Integrarea fluxurilor de nori

Rulează /add-cloud-flow pentru a integra fluxurile existente de Power Automate cloud în site-ul tău. Această abilitate conectează site-ul tău Power Pages la fluxurile pe care le-ai creat deja în Power Automate. Nu creează noi fluxuri de nori.

Pluginul:

  1. Înregistrează fluxul cloud existent pe site-ul tău.
  2. Generează cod pe partea clientului pentru a declanșa fluxul paginilor tale.
  3. Gestionează starea asincron a fluxului de lucru și modelele de callback.
  4. Facilitează schimbul de date între pagină și flux.

Folosește /add-cloud-flow pentru fluxuri de lucru de aprobare, notificări pe email, joburi programate și automatizări bazate pe evenimente, care sunt gestionate mai bine de Power Automate decât de endpoint-urile de pe server.

Alternativă: Folosește /integrate-backend pentru a planifica stratul complet de servicii

Dacă nu ești sigur ce funcționalități necesită Web API, Server Logic sau un flux cloud, rulează /integrate-backend în loc să rulezi manual pașii 4 până la 10. Această abilitate acționează ca un orchestrator care:

  1. Analizează prototipul pentru a identifica toate caracteristicile care au nevoie de un strat de serviciu.
  2. Clasifică fiecare funcționalitate în abordarea corectă: API web pentru CRUD standard, Server Logic pentru validarea serverului și API-uri externe, sau flux cloud pentru fluxuri de lucru de aprobare și automatizare.
  3. Propune un plan de execuție secvențial cu toate abilitățile, dependențele și configurațiile.
  4. După ce aprobi, orchestrează abilitățile în ordinea corectă.

Planul este persistent, reluabil și editabil. Oprește-te după orice pas pentru a revizui codul generat sau a testa site-ul și reia de unde ai rămas rulând din nou /integrate-backend .

Pasul 11: Adaugă SEO

Aleargă /add-seo pentru a-ți optimiza site-ul pentru motoarele de căutare. Pluginul:

  1. Descoperă rutele din configurația routerului framework-ului tău.
  2. Generează directive pentru motoarele de căutare și o hartă a site-ului pentru toate rutele descoperite.
  3. Adaugă metatag-uri: viewport, caractre, descriere, Open Graph, Twitter Card și referințe favicon.

Pasul 12: Desfășurarea locației finale

Dacă faci pași opționali, rulează /deploy-site din nou pentru a trimite schimbările live. Pluginul rulează o compilație de producție și încarcă site-ul împreună cu toate artefactele de implementare (permisiuni de tabel, setări site, roluri web, fișiere logice de server) în mediul tău Power Pages.

Pasul 13: Efectuează o revizuire a securității

Aleargă /security-review pentru a efectua o revizuire completă de securitate a site-ului tău înainte de a trece la producție. Această abilitate orchestrează abilitățile de securitate concentrate și consolidează fiecare descoperire într-un singur raport HTML la docs/security-review-<timestamp>.html.

Pluginul pune o întrebare în limbaj simplu despre scopul tău și alege setul corespunzător de abilități concentrate:

Goal Ce verifică
Cod și configurație Codul sursă, dependențele, permisiunile tabelelor și configurația autentificării. Funcționează doar pe fișiere locale - nu e nevoie de implementare.
Pregătirea pentru eliberare (recomandată) Recenzie completă înainte de publicare. Rulează toate abilitățile specializate: cod și dependențe, scanare a site-ului implementat, antete de securitate a browserului, firewall pentru aplicații web, permisiuni de tabel și autentificare.
Locația desfășurată Doar scanare live la fața locului desfășurat. Util pentru monitorizarea continuă a unui site publicat.

După ce confirmi, pluginul rulează abilitățile axate pe potrivire în paralel și scrie concluziile lor într-un singur raport:

  • /scan-code: Rulează analiză statică (opengrep) și scanarea dependențelor (trivy) pe fișierele sursă locale. Modele de cod Surface, pachete vulnerabile, secrete hardcode și probleme de licență. Dacă niciunul dintre unelte nu este instalat, abilitatea oferă o revizuire manuală a codului ca soluție de rezervă.
  • /scan-site: Pornește o scanare de securitate pe partea de server a site-ului live și preia cel mai recent raport. Durata scanării depinde de mărimea locației – siturile mici se termină în câteva minute, cele mari pot dura ore. Constatările sunt grupate pe severitate. Necesită un site desfășurat.
  • /manage-headers: Inspectează antetele de securitate HTTP configurate sub .powerpages-site/site-settings/: Content Security Policy, X-Frame-Options, CORS, cookie SameSite și setări conexe. Identifică valorile lipsă sau slabe și propune valori implicite recomandate.
  • /manage-firewall: Inspectează firewall-ul aplicației web (WAF) pentru site-ul de producție, inclusiv starea regulilor gestionate și regulile personalizate (blocuri IP, blocuri de țări, blocuri de drum, limite de viteză). Disponibil doar pe siturile de producție din regiunile suportate; Abilitatea detectează și raportează problemele de eligibilitate.
  • /audit-permissions: Auditează permisiunile existente ale tabelelor în funcție de codul site-ului și metadatele Dataverse. Suprafețe fără permisiuni, roluri excesiv de permisive, permisiuni neutilizate și probleme cu schema YAML.

Raportul consolidat grupează concluziile pe secțiuni, se deschide în browserul tău implicit și include ghiduri de remediere în limbaj simplu. Din chat, pluginul oferă apoi să parcurgă soluțiile – alege o descoperire și pluginul invocă interactiv abilitatea axată pe potrivire pentru a aplica schimbarea.

Notă

Revizuirea de securitate nu aplică niciodată modificări automat. Fiecare abilitate specializată rulează în modul de revizuire doar pentru citire în timpul repartizării consolidate. Pentru a aplica o soluție, pluginul invocă interactiv abilitatea de potrivire după ce alegi acțiunea.

Sfat

Poți folosi orice abilitate specializată separată:

  • Rulează /scan-code în timpul dezvoltării pentru a detecta problemele la nivel de cod din timp.
  • Aleargă /manage-headers pentru a corecta o eroare specifică a Politicii de Securitate a Conținutului sau configurează CORS.
  • Rulează /manage-firewall pentru a adăuga o limită de rată pe pagina de autentificare sau blochează traficul pe țări.
  • Rulează /audit-permissions după ce schimbi permisiunile tabelelor pentru a verifica dacă încă corespund codului site-ului.
  • Rerulează /security-review cu obiectivul locației desfășurate pentru a monitoriza un sit de producție în timp.

Verifică-ți site-ul

După ce finalizezi abilitățile, verifică dacă site-ul tău Power Pages funcționează corect.

  1. Mergi la Power Pages.
  2. Localizează-ți site-ul în lista de site-uri active .
  3. Previzualizează site-ul tău pe desktop folosind opțiunea Previzualizare .
  4. Testează funcționalitatea.

Promovează-ți site-ul în diverse medii

După ce site-ul tău funcționează în mediul de dezvoltare, folosește abilitățile de management al ciclului de viață al aplicațiilor (ALM) pentru a-l promova în mediile de testare și producție. Pluginul împachetează site-ul tău ca o soluție Power Platform, identifică valori care variază între medii și implementează soluția prin Power Platform Pipelines sau prin export și import manual.

Pentru a folosi abilitățile ALM, ai nevoie și de cel puțin un mediu Power Platform țintă (test, producție sau ambele). Pentru a folosi fluxul opțional Azure Key Vault pentru secrete, ai nevoie și de permisiune pentru a crea un key vault în abonamentul tău Azure.

Planificați implementarea

Aleargă /plan-alm să începi. /plan-alm este punctul de intrare pentru ALM și orchestrează celelalte abilități ALM, deci de obicei nu le rulezi direct. Pluginul:

  1. Detectează starea actuală a proiectului, soluției și mediilor țintă.
  2. Întreabă despre strategia ta de promovare (Power Platform Pipelines sau export și import manual), etapele țintă și orice constrângeri de aplicat.
  3. Generează un plan vizual care docs/alm-plan.html arată fiecare acțiune pe care intenționează să o întreprindă.
  4. Așteaptă aprobarea ta înainte de a folosi orice abilitate în aval.

Planul persistă pe disc, astfel încât fiecare abilitate ulterioară citește și scrie pe același plan persistent. Dacă o fază eșuează, rulează /plan-alm din nou și reia de unde s-a oprit.

Autorul soluției

Aleargă /setup-solution pentru a-ți împacheta site-ul ca o soluție Power Platform. Pluginul:

  1. Creează un publisher și o soluție, apoi adaugă componentele tale Power Pages: site-ul, rolurile web, endpoint-urile logice ale serverului, înregistrările fluxului cloud și setările furnizorului OAuth.
  2. Clasifică fiecare mediu de amplasament după sensibilitate și propune variabile de mediu pentru valori care variază între medii.
  3. Oferă furnizarea unui Azure Key Vault și stocarea valorilor de tip credențial, cum ar fi șiruri de conexiune și chei API, în acesta.
  4. Rulează în modul sincronizat atunci când există deja o soluție pentru site-ul tău, pentru a reconcilia componentele fără a crea o soluție nouă.

Tu revizuiești și aprobi propunerea. Pluginul nu creează nicio configurație până nu confirmi.

Sfat

Dacă soluția ta este prea mare sau încâlcită pentru a fi implementată fiabil, pluginul recomandă o împărțire și propune unde să o împărți. Confirmă divizarea înainte ca modificările să se aplice.

Implementare cu Power Platform Pipelines

Dacă ai ales Power Platform Pipelines ca strategie de promovare, pluginul rulează următoarele abilități:

  1. /ensure-pipelines-host prevede sau detectează un mediu gazdă pentru Power Platform Pipelines. Abilitatea alege cea mai ieftină opțiune disponibilă pentru chiriașul tău: o platformă gratuită, aplicația Pipelines pe un mediu existent sau o gazdă personalizată.
  2. /setup-pipeline înregistrează o definiție a pipeline-ului în Dataverse, configurează etapele alese și leagă fiecare etapă de un mediu țintă.
  3. /deploy-pipeline declanșează o implementare pentru o etapă, aplică suprascrieri de variabile de mediu pe etapă prin deploymentSettings.json, și urmărește starea într-un registru de implementare.

Dacă o implementare eșuează deoarece mediul țintă este deja legat de o altă gazdă Power Platform Pipelines, pluginul poate rula /force-link-environment pentru a-l reatribui. Acțiunea necesită consimțământul tău explicit și este reversibilă.

Implementare cu export și import manual

Dacă alegi calea manuală, pluginul rulează astfel:

  1. /export-solution pentru a exporta soluția ca ZIP gestionat sau neadministrat, cu o verificare a completității înainte de export.
  2. /import-solution pentru a importa ZIP-ul în mediul țintă, fie etapizat pentru a verifica mai întâi dependențele, fie direct.

Activează și validează site-ul implementat

După o implementare reușită în mediul țintă, pluginul:

  1. Rulează /activate-site pentru a aproviziona URL-ul public în mediul țintă.
  2. Rulează /test-site pentru a verifica implementarea. Pluginul folosește un browser pentru a căuta pagini reprezentative, a rula verificări de acces bazate pe roluri, a verifica /_api/ apelurile și a captura forme de răspuns de la /_api/serverlogics/ endpoint-uri. Abilitatea raportează rezultatul ca PASS, WARNINGS, sau FAIL, cu detalii pentru fiecare cec legate din plan.

Dacă un pas eșuează, pluginul rulează /diagnose-deployment. Abilitatea compară eșecul cu un catalog de erori de implementare cunoscute, cum ar fi un manifest învechit, dependențe lipsă, conflicte de gazdă, JavaScript blocat sau autentificare expirată, și propune o soluție concretă. Pluginul nu aplică niciodată o soluție fără consimțământul tău.

Notă

Fiecare abilitate ALM citește și scrie pe artefacte de pe disc: manifestul soluției, datele planului, registrul pipeline, registrul de implementare și rezultatele testelor. Orchestrația este reluabilă și auditabilă. Pentru a vedea ce s-a întâmplat la fiecare pas, inspectează artefactele.

Sfaturi și bune practici

Următoarele sfaturi te ajută să profiți la maximum de plugin și de agentul de codare AI atunci când construiești site-uri Power Pages.

Urmărește ieșirea terminalului pentru unelte lipsă la prima rulare

Pluginul oferă abilitățile și fluxurile de lucru, dar agentul de codare AI - GitHub Copilot CLI sau Claude Code - execută comenzile efective pe calculatorul tău. Când folosești aceste instrumente pentru prima dată, urmărește cu atenție ieșirea terminalului. Agentul de codare AI rulează comenzi și scripturi în culise, iar unele dintre aceste comenzi depind de unelte care poate nu sunt instalate pe calculatorul tău. Dacă un pas eșuează, ieșirea terminalului arată de obicei ce unealtă sau comandă nu a găsit.

Dacă observi o eroare precum command not found sau is not recognized, instalează unealta lipsă și declanșează din nou fluxul de lucru. Agentul de codare AI continuă de unde a rămas după ce instrumentul este disponibil.

Revizuiește propunerile agenților înainte de a le aproba

Agentul de codare AI prezintă propuneri, cum ar fi cele ale Data Model Architect și Permissions Architect, înainte de a face modificări. Codul și configurația generate de agentul de codare AI pot fi inexacte, așa că revizuiește, testează și validează fiecare propunere și tot codul generat înainte de a-l aproba sau implementa.

  • Propuneri de modele de date: Verifică dacă numele tabelelor, tipurile de coloane și relațiile corespund cerințelor afacerii tale. Este mai ușor să ajustezi o propunere decât să redenumești coloane după ce datele sunt deja introduse.
  • : Verificați dacă fiecare rol are nivelul corect de access (creare, citire, actualizare, ștergere) pentru fiecare tabel. Permisiunile excesiv de permisive ale tabelelor reprezintă un risc comun de securitate.
  • Cod generat: Citește codul generat și testează site-ul local înainte de a implementa. Codul generat de AI poate conține erori sau probleme de securitate.

Lipiți erorile direct cu contextul

Când ceva eșuează, fie că este o eroare de compilare, un eșec de implementare sau o excepție la runtime în browser, copiază întreaga eroare ieșită. Lipește împreună cu o scurtă descriere a ceea ce făceai. Cu cât oferi mai mult context, cu atât remedierea este mai rapidă.

Exemplu: Eroare de construcție

I ran npm run build and got this error. Fix it.

error TS2339: Property 'jobTitle' does not exist on type 'JobPosting'.

  src/components/JobCard.tsx:24:31
    24   <Text>{posting.jobTitle}</Text>
                                 

Sfat

Include numele fișierului, comanda pe care ai rulat-o și ce te așteptai să se întâmple. Pluginul folosește acest context pentru a localiza problema și a aplica o soluție țintită, în loc să ghicească.

Partajează erorile API-ului web cu URL-ul complet al cererii

O problemă frecventă după implementare este o eroare 403 de la API-ul web Power Pages atunci când o coloană nu este activată pentru acces la API. Când întâlnești această eroare, lipiți URL-ul complet al API-ului și răspunsul complet la eroarea JSON. Mesajul de eroare îți spune exact ce tabel și coloană trebuie reparate, iar pluginul poate actualiza permisiunea tabelului, YAML și setările site-ului pentru tine.

Exemplu: Coloană neactivată pentru Web API (403)

I'm getting a 403 error when the documents page loads. Here's the API call and the response. Fix the issue so this API works.

URL:
https://my-site.powerappsportals.com/_api/crd50_documents?$select=crd50_documentid,crd50_name,crd50_documentcategory,crd50_filetype,crd50_filesize,crd50_updateddate,crd50_description,_crd50_propertyid_value

Response:
{
  "error": {
    "code": "90040101",
    "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
    "innererror": {
      "code": "90040101",
      "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
      "type": "AttributePermissionIsMissing"
    }
  }
}

Această eroare (AttributePermissionIsMissing) înseamnă că coloana _crd50_propertyid_value de căutare există în tabelul Dataverse, dar nu este listată în configurația permisiunilor tabelului pentru Web API. Pluginul rezolvă această eroare adăugând coloana lipsă în tabelul permisiunii YAML .powerpages-site/table-permissions/ și redistribuindu-l.

Notă

Power Pages Web API solicită ca fiecare coloană returnată de un apel API să fie listată explicit în tabelul de permisiuni. Proprietățile de căutare (prefixate cu _ și sufixate cu _value) sunt ușor de ratat deoarece numele API-ului lor diferă de numele logic al coloanei în Dataverse. Când vezi AttributePermissionIsMissing, adaugă întotdeauna acea coloană la permisiunea tabelului. Nu schimba interogarea API-ului.

Fii specific în privința a ceea ce vrei

Cereri vagi produc rezultate vagi. Spune pluginului exact ce ai nevoie, inclusiv preferințele de layout, câmpurile de date și comportamentul.

În loc de Încercați
"Fă o pagină pentru locuri de muncă" "Creează o pagină de anunțuri de joburi cu o bară de căutare în partea de sus, filtrează cipurile după locație și departament, și o grilă de carduri care arată titlul, compania, intervalul salarial și o dată postată pentru fiecare job"
"Repară stilul" "Fișele de joburi se stivuiesc vertical pe desktop. Fă-le afișate într-o grilă de trei coloane cu un spațiu de 16px pe ecrane mai late decât 768px"
"Adaugă niște date" "Adaugă 20 de anunțuri de joburi exemplu în patru departamente (Inginerie, Marketing, Vânzări, HR) cu titluri realiste, salarii între 60.000 și 180.000 $ și date postate în ultimele 30 de zile"
"Configurează API-ul" "Conectează componenta JobListings la tabelul cr_jobposting Dataverse. Înlocuiește array-ul hardcodat cu un apel API real care să preia titlul, departamentul, salariul și data postării"
"Adaugă autentificare" "Configurați autentificarea ID extern Microsoft Entra cu înregistrare deschisă, plus Google ca al doilea furnizor. Afișează-le ca rând orizontal pe pagina de autentificare."

Folosește capturi de ecran pentru probleme vizuale

Când site-ul nu arată corect în browser, fă o captură de ecran și lipește-o direct în conversație sau oferă o cale a fișierului. Contextul vizual ajută la identificarea problemelor de layout, spațiere și stilizare greu de descris în text.

The header overlaps the hero section on mobile. Here's a screenshot:

[paste screenshot or provide path to screenshot file]

Fix the header so it doesn't overlap. It should be a fixed header with the content starting below it.

Iterați în pași mici

În loc să descrii un întreg site într-un singur prompt, construiește incremental. Începe cu structura și layout-ul, apoi adaugă caracteristici una câte una. Această abordare îți oferă șansa să revizuiești și să corectezi cursul la fiecare pas.

Step 1: /create-site → Get the basic scaffold and layout right
Step 2: "Add a hero section to the home page with a search bar"
Step 3: "Add a job listings page with filter and sort"
Step 4: "Add a job detail page that shows full description"
Step 5: /setup-datamodel → Create tables now that you know the data shape
Step 6: /integrate-webapi → Wire up real data

Sfat

După fiecare pas, verifică previzualizarea browserului. Dacă ceva nu este în regulă, repară-l înainte să mergi mai departe. Este mai ușor să rezolvi problemele într-un singur component decât să le descurci pe întregul site.

Cere o explicație înainte de a aproba

Când nu ești sigur de o modificare propusă, mai ales pentru permisiuni, modificări ale modelului de date sau configurație de autentificare, cere pluginului să explice ce intenționează to do și de ce înainte de a aproba.

Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.

Rulează abilitățile independent pentru a te recupera după probleme

Dacă o abilitate eșuează pe parcurs, nu trebuie să o iei de la capăt. Fiecare abilitate rulează independent și poate continua de unde a rămas. De exemplu, dacă /integrate-webapi eșuează pe a treia tabelă, o poți relua și detectează munca deja finalizată.

/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.