Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O plugin Power Pages para GitHub Copilot CLI e Claude Code fornece um fluxo de trabalho assistido por IA para criar, implementar e gerir sites modernos de aplicações de página única (SPA) em Power Pages. Em vez de estruturar projetos manualmente, escrever código de API 'boilerplate' e configurar permissões, descreva o que deseja em linguagem natural, e o plugin se encarrega da implementação.
O plugin suporta todo o ciclo de vida do desenvolvimento do site através de competências conversacionais, desde a estruturação de um novo site até à sua implementação, configuração de modelos de dados Dataverse e configuração da autenticação.
Importante
- Um agente de programação de IA generativa, como o GitHub Copilot CLI ou o Claude Code, utiliza as competências e fluxos de trabalho deste plugin para realizar tarefas específicas do Power Pages.
- O código e a configuração gerados pelo agente de codificação de IA podem ser imprecisos. Revê, teste e valide todo o conteúdo gerado antes de o aprovar ou implementar. Analise sempre as propostas dos agentes antes de as aprovar.
Pré-requisitos
Antes de começar, verifique se tem o software e as permissões necessárias.
Requisitos de software
| Componente | Versão mínima | Mais informações |
|---|---|---|
| Node.js | 18.0 ou mais tarde | Baixar Node.js |
| Power Platform CLI (PAC CLI) | 2.6.3 ou posterior (necessário para lógica de servidor) | Instalar PAC CLI |
| CLI do Azure | Latest | Instalar CLI do Azure |
| GitHub Copilot CLI ou Claude Code | Latest | GitHub Copilot CLI ou Claude Code |
| Visual Studio Code e a extensão Power Platform Tools (Opcional) | Latest | Descarregue VS Code e Instale as Ferramentas da Power Platform |
Você também precisa:
- Um ambiente do Power Platform com os Power Pages ativados.
- Uma sessão PAC CLI autenticada ligada ao seu ambiente alvo. Execute
pac auth createse ainda não te conectaste. - Uma sessão da CLI do Azure com sessão iniciada no mesmo inquilino. Executa
az login --allow-no-subscriptionspara autenticar.
Verificar autenticação:
Verifica se estás autenticado usando o pac auth list comando.
pac auth list # Should show authenticated profile
Se não estiver autenticado, execute este comando:
pac auth create --environment <Instance url> # Authenticate to Power Platform
Tip
Para obter o URL da instância, vá a Power Pages home, selecione o ícone Settings no canto superior direito e depois selecione Detalhes da sessão.
Instala o plugin
Instala o plug-in Power Pages na loja de aplicativos. Se usares GitHub Copilot CLI, consulta a documentação das extensões do Copilot CLI para os passos de instalação equivalentes. Os seguintes comandos utilizam a sintaxe Claude Code.
Instalação rápida (recomendado)
Executa o instalador para configurar todos os plugins com a atualização automática ativada:
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
O instalador automaticamente:
- Instala o
pacCLI se ainda não estiver instalado. - Detecta ferramentas disponíveis, como Claude Code e GitHub Copilot CLI.
- Regista o marketplace de plugins e instala todos os plugins listados.
- Ativa a atualização automática para que os plugins se mantenham atualizados.
Após a instalação, reinicie o Claude Code ou o GitHub Copilot CLI para aceder às competências do plugin como comandos de barra na sua sessão de agente.
Instalar a partir do marketplace
Abre o Claude Code no teu terminal.
Adicione o marketplace da Microsoft:
/plugin marketplace add microsoft/power-platform-skillsInstale o plugin Power Pages:
/plugin install power-pages@power-platform-skills
Depois de instalares o plugin, reinicia o Claude Code ou o GitHub Copilot CLI para aceder às competências do plugin como comandos de barra na tua sessão de agente.
Tip
Para receber automaticamente atualizações do mercado e das competências, ative a atualização automática. Usa o /plugin comando, vai aos Mercados, escolhe o mercado e ativa a atualização automática.
Visão geral das competências
O plugin fornece competências que cobrem todo o ciclo de vida de um site Power Pages. Invoque cada capacidade de forma conversacional, como um comando com barra ou descrevendo o que pretende fazer.
| Competência | Command | O que faz |
|---|---|---|
| Criar site | /create-site |
Estrutura um site, aplica a sua direção de design e constrói páginas e componentes |
| Local de implantação | /deploy-site |
Constrói o projeto e carrega-o para o Power Pages utilizando o PAC CLI. |
| Ativar site | /activate-site |
Fornece um registo de site e atribui uma URL pública |
| Configuração do modelo de dados | /setup-datamodel |
Cria tabelas, colunas e relações Dataverse |
| Adicionar dados de amostra (opcional) | /add-sample-data |
Preenche tabelas Dataverse com registos de teste realistas |
| Integrar Web API | /integrate-webapi |
Gera código cliente API tipado, serviços e permissões de tabela |
| Adicionar resumos de IA | /add-ai-webapi |
Integra as APIs de sumarização com IA generativa (resumo da pesquisa e sumarização de dados) nas suas páginas. Gera um serviço de resumo tipado com processamento de tokens antifalsificação, wrappers específicos da estrutura, sites de chamada já configurados e as definições de site Summarization correspondentes |
| Configurar a autenticação | /setup-auth |
Adiciona login, desconexão e controlo de acesso baseado em funções. Suporta Microsoft Entra ID, ID externo Microsoft Entra, OpenID Connect, SAML 2.0, WS-Federation, conta Microsoft, Facebook, Google e autenticação local de nomes de utilizador e palavras-passe, incluindo configurações multi-provider |
| Criar funções web | /create-webroles |
Gera ficheiros YAML de função web para gestão de acessos de utilizadores |
| Adicionar lógica do servidor | /add-server-logic |
Gera endpoints JavaScript seguros do lado do servidor para validação, chamadas de API externas, gestão de segredos e operações de dados |
| Adicionar fluxo de nuvens | /add-cloud-flow |
Integra os fluxos cloud existentes do Power Automate no seu site para fluxos de trabalho de aprovação, notificações e automação agendada |
| Integrar backend | /integrate-backend |
Analisa o seu protótipo, determina a abordagem correta (Web API, Server Logic ou fluxo cloud) para cada funcionalidade e orquestra toda a sequência de construção |
| Adicionar SEO | /add-seo |
Gera robots.txt, sitemap.xml e meta tags |
| Executar revisão de segurança | /security-review |
Orquestra as competências de segurança focadas e consolida cada achado num único relatório HTML. Abrange código, dependências, varredura do site implementado, cabeçalhos do navegador, firewall de aplicações web, permissões de tabelas e configuração de autenticação |
| Analisar código-fonte | /scan-code |
Executa análise estática e varredura de dependências em ficheiros fonte-fonte locais; Revela descobertas em padrões de código, pacotes vulneráveis, segredos codificados fixamente e questões de licença |
| Analisar site implementado | /scan-site |
Inicia uma análise de segurança do lado do servidor contra o site ativo, recolhe o relatório mais recente e agrupa as conclusões por gravidade |
| Gerir cabeçalhos de segurança do navegador | /manage-headers |
Inspeciona e configura os cabeçalhos de segurança HTTP que um site envia para os navegadores — Política de Segurança de Conteúdo, proteção contra frames e clickjacking, partilha entre origens, comportamento dos cookies e outras definições relacionadas do site |
| Gerir firewall de aplicações web | /manage-firewall |
Inspeciona e configura o firewall de aplicações web (WAF) num site de produção: ativa a proteção, adiciona ou remove blocos IP, blocos de países, blocos de caminho e limites de taxa |
| Permissões para tabelas de auditoria | /audit-permissions |
Audita permissões de tabelas existentes contra o código do site e metadados do Dataverse; produz um relatório HTML agrupado por gravidade com correções sugeridas |
| Planejar a implantação | /plan-alm |
Detetar o estado do projeto, reunir a sua estratégia de promoção, apresentar um plano visual e orquestrar as outras competências de gestão do ciclo de vida (ALM) da aplicação na ordem correta |
| Solução do autor | /setup-solution |
Cria um editor e uma solução, adiciona componentes do Power Pages, classifica as definições do site e propõe variáveis de ambiente e segredos do Azure Key Vault |
| Configurar o host do pipeline | /ensure-pipelines-host |
Aprovisiona ou deteta um ambiente de alojamento para Power Platform Pipelines |
| Configurar pipeline | /setup-pipeline |
Regista uma definição de pipeline no Dataverse e associa as fases de promoção aos ambientes-alvo |
| Implementar através de pipeline | /deploy-pipeline |
Aciona uma implementação de um pipeline para uma fase de destino com substituições de variáveis de ambiente por fase |
| Ambiente de ligação forçada | /force-link-environment |
Reatribui um ambiente alvo a um novo host do Power Platform Pipelines quando um conflito de host bloqueia a implementação |
| Exportar solução | /export-solution |
Exporta a solução como um zip gerido ou não gerido, com uma verificação de completude antes da exportação |
| Importar solução | /import-solution |
Importa uma solução zip num ambiente alvo, seja por etapas ou diretamente |
| Local de testes | /test-site |
Verifica um site implementado com um teste baseado em navegador: rastreamento de páginas, verificações de acesso baseadas em funções e verificação da Web API |
| Diagnosticar a implementação | /diagnose-deployment |
Compara falhas de implementação com um catálogo de erros conhecidos e propõe uma correção |
Fluxo de trabalho típico
Um fluxo de trabalho comum de ponta a ponta segue esta sequência:
- /create-site : Estruturar, desenhar e construir páginas
- /deploy-site : Faça upload para o seu ambiente de Power Pages
- /activate-site : Configurar um URL público
- /setup-datamodel : Criar tabelas Dataverse
- /add-sample-data : Preencher tabelas com registos de teste
- /integrate-webapi : Gerar código cliente API e configurar permissões
- /create-webroles : Definir funções de acesso
- /setup-auth : Adicionar log-in, log-out e interface baseada em funções
- /add-server-logic : Adicionar endpoints seguros do lado do servidor
- /add-cloud-flow : Integrar fluxos de Power Automate existentes
- /add-seo : Otimização para motores de busca
- /deploy-site : Envia as alterações finais em direto
- /security-review : Faça uma revisão de segurança de ponta a ponta antes de passar para produção
- /plan-alm : Promova o seu site em ambientes de teste e produção
Tip
- Não precisas de seguir exatamente esta ordem. Cada habilidade verifica os seus próprios pré-requisitos e diz-te se falta alguma coisa. Por exemplo, pode correr
/setup-authantes/integrate-webapise o seu site precisar de autenticação primeiro. - Se não tiveres a certeza de qual abordagem usar para cada funcionalidade, executa
/integrate-backendem vez dos passos 4 a 10 individualmente. Analisa o seu protótipo, determina se cada funcionalidade precisa de Web API, Server Logic ou um fluxo cloud, e orquestra as competências na ordem correta. - Para adicionar resumos de pesquisa e registo gerados por IA, execute
/add-ai-webapiapós/integrate-webapi. Reutiliza as permissões da tabela e as definições do site que/integrate-webapiconfigura, por isso executa-o depois de a integração da Web API estar implementada.
Constrói o teu site Power Pages
Esta guia cobre todo o ciclo de vida da construção de um site Power Pages com o plugin, desde a estrutura até à implementação. Cada passo descreve o que dizes e o que o plugin faz em resposta.
Passo 1: Crie o seu site
Descreva o site que quer em linguagem natural: para que serve, que páginas precisa e quaisquer preferências de design como esquema de cores, estilo de layout ou fontes. Executa /create-site ou simplesmente descreve o teu site e o plugin reconhece a intenção.
Se não especificares um framework, o plugin pede-te para escolheres um (React, Vue, Angular ou Astro), então:
- Estrutura o projeto a partir de um modelo e aplica o nome do seu site, cores e tokens de design.
- Instala dependências, inicia um servidor de desenvolvimento e abre uma pré-visualização ao vivo do navegador.
- Constrói cada página, componente e rota que solicitaste com imagens relevantes.
- Cria commits Git em marcos significativos para que tenha um histórico de reversão incorporado.
Passo 2: Implemente o seu site
Execute /deploy-site para carregar o seu site no Power Pages. O plug-in:
- Verifica que o PAC CLI está instalado e que a tua sessão de autenticação está ativa.
- Confirma o ambiente alvo contigo antes de avançar.
- Executa uma build de produção e carrega a saída compilada.
- Cria um diretório de artefactos de implantação, caso ainda não exista um.
Observação
Se o seu ambiente bloquear certos anexos de ficheiros, o plugin deteta o problema e fornece instruções para o resolver.
Passo 3: Ative o seu site
Executar /activate-site para disponibilizar o site publicamente. O plug-in:
- Sugere um subdomínio com base no nome do seu site e permite-lhe personalizá-lo.
- Fornece um registo de website através da API da Power Platform.
- Faz sondagens até o site estar ativo e devolve o URL público.
Neste ponto, tens um site funcional com uma URL pública. Os passos restantes acrescentam dados, autenticação e SEO. Ignora quaisquer passos que não se apliquem ao teu site.
Passo 4: Configure o seu modelo de dados
Corra /setup-datamodel para criar as tabelas Dataverse que o seu site precisa. Se já tens um diagrama ER ou esquema específico, fornece-o diretamente em vez de o agente analisar o teu código.
O plugin gera um agente Data Model Architect que:
- Analisa o código do seu site para determinar que dados as páginas e componentes necessitam.
- Consulta o seu ambiente Dataverse para verificar as tabelas existentes e evitar duplicados.
- Propõe um modelo de dados com tabelas, colunas, tipos de dados e relações, visualizado como um diagrama ER.
Tu analisas e aprovas a proposta. O plugin não cria nada até confirmares. Após a aprovação, o plugin cria as tabelas e colunas através de chamadas de API e guarda um ficheiro manifesto que os Passos 5 e 6 utilizam.
Passo 5: Adicionar dados de exemplo (Opcional)
Execute /add-sample-data para preencher as suas tabelas com registos de teste. Este passo requer o modelo de dados do Passo 4.
O plugin executa as seguintes ações:
- Lê o manifesto para compreender as suas tabelas, colunas e relações.
- Gera valores contextualmente apropriados para cada tipo de coluna, como emails realistas, datas plausíveis e valores monetários formatados.
- Insere registos por ordem de dependência (tabelas pais antes das tabelas filhas) e atualiza automaticamente os tokens de autenticação durante inserções em massa.
Passo 6: Integrar com a API Web do Dataverse
Executar /integrate-webapi para substituir dados simulados por consultas em tempo real do Dataverse. Este passo requer o modelo de dados do Passo 4.
O plugin executa as seguintes ações:
- Analisa a sua base de código à procura de componentes que usem dados simulados, chamadas de busca provisórias ou arrays codificados fixamente. Ele mapeia estes componentes para as suas tabelas Dataverse.
- Gera um agente de Integração Web API para cada tabela que gera:
- Um cliente de API partilhado com gestão de tokens antifalsificação e lógica de repetição.
- Tipos de entidade TypeScript e mapeadores de domínio.
- Uma camada de serviço CRUD.
- Padrões específicos de frameworks, como hooks do React, composables do Vue ou serviços do Angular.
- Gera um agente Permissions Architect que propõe permissões de tabelas e definições de site.
Tu analisas e aprovas a proposta de permissões. O plugin não cria ficheiros de configuração até confirmares.
Adicionar resumos gerados por IA (Opcional)
Execute /add-ai-webapi para sobrepor resumos de IA generativa à sua integração da API Web. A funcionalidade associa duas APIs de resumo em pré-visualização às suas páginas de detalhe do registo e de lista:
- API de resumo de pesquisa: Devolve um resumo condensado por IA dos resultados da pesquisa, com citações.
- API de sumarização de dados: Devolve um resumo por registo ou insights ao nível de lista para uma tabela Dataverse.
Esta etapa baseia-se no modelo de dados do Passo 4 e na integração da Web API do Passo 6. O plugin executa as seguintes ações:
- Analisa o seu código à procura de pontos de integração resumidos e confirma as páginas-alvo, tabelas e quais as APIs a usar.
- Delega quaisquer pré-requisitos em falta para a API Web — permissões de tabelas, listas de colunas e funções Web — a
/integrate-webapie/create-webroles, para que exista uma fonte única de referência para as permissões. - Gera um agente de Integração de API Web de IA que gera um serviço de resumo tipado (
aiSummaryService.ts) com processamento de tokens antifalsificação, wrappers específicos da estrutura (hooks do React, composables do Vue ou serviços do Angular) e sites de chamada já configurados nas páginas de destino. - Gera um agente AI Web API Settings Architect que cria as
Summarizationdefinições do site para prompts e limites de conteúdo.
Vocês analisam e aprovam as propostas. O plugin não gera código nem cria definições até confirmares.
Observação
As APIs de sumarização estão em pré-visualização e dependem da ativação dos controlos administrativos e ao nível do site. Se os resumos não aparecerem após a implementação, confirme que a funcionalidade está ativada através das definições relevantes do site e dos controlos administrativos. Para mais informações, consulte resumo da API de resumo de dados e pesquisa Power Pages com IA generativa.
Passo 7: Criar funções web
Execute /create-webroles para definir as funções de acesso dos utilizadores. O plug-in:
- Consulta o seu ambiente para funções Web existentes para evitar duplicados.
- Gera definições de funções com identificadores únicos.
- Impõe que cada site tenha, no máximo, um papel anónimo e um papel autenticado.
Passo 8: Configurar autenticação
Execute /setup-auth para adicionar log-in, log-out e controlo de acesso baseado em funções no seu site. O plugin suporta os seguintes fornecedores de identidade, podendo configurar um ou vários ao mesmo tempo.
| Provider | Melhor para |
|---|---|
| ID externo Microsoft Entra (recomendado para sites voltados para clientes) | Sites públicos e portais de clientes com inscrição em autoatendimento. |
| Microsoft Entra ID | Portais internos de colaboradores ou sites parceiros business-to-business (B2B). O Power Pages configura automaticamente o tenant principal do site, pelo que não precisa de introduzir as informações do tenant. |
| Microsoft, Facebook, Google | Login social para audiências consumidoras. |
| Autenticação local | Login por nome de utilizador e palavra-passe. Não é recomendado e só é configurado quando o solicitar explicitamente. |
Para mais informações sobre fornecedores suportados, incluindo protocolos e considerações de configuração, consulte Visão geral da autenticação em Power Pages.
O plug-in:
- Analisa o seu site (propósito, páginas, audiência) e propõe um padrão sensato. Por exemplo, o plugin propõe o ID externo Microsoft Entra com registo aberto para um site dirigido ao cliente, ou o Microsoft Entra ID com registo apenas por convite para um portal interno. Aceita a recomendação ou escolhe os seus próprios fornecedores.
- Para cada fornecedor, orienta-o ao longo de todos os passos necessários no centro de administração do fornecedor de identidade, como a criação de inquilinos, o registo de aplicações, a criação de fluxos de utilizadores e a captura de IDs de cliente e URIs de redirecionamento. O plugin valida cada valor que colas de volta na conversa e calcula o URI exato de redirecionamento para o teu site, de modo a que o valor colado no registo da app corresponda ao valor escrito nas definições do site.
- Pergunta como os dados do perfil do utilizador devem fluir do fornecedor de identidade para o registo de contactos do Dataverse (mapeamento de sinistros), se deve sincronizar em cada login ou apenas no primeiro login, e se deve ligar automaticamente os logins externos aos contactos existentes por email.
- Gera o serviço de autenticação, as declarações de tipos, os utilitários de autorização baseados em funções (
hasRole,RequireAuth,RequireRole), um hook de manutenção ativa da sessão que impede que sessões SPA expirem silenciosamente e um componente de IU para iniciar/terminar sessão integrado no esquema do site. O plug-in utiliza, de forma consistente, os padrões da sua estrutura, como hooks do React, composables do Vue, serviços do Angular ou componentes do Astro. - Quando está configurado mais do que um fornecedor, gera uma página
/logincomposta no esquema escolhido: linha horizontal, pilha vertical, destaque principal ou com separadores. - Escreve, em
.powerpages-site/site-settings/, as definições correspondentes do site para cada fornecedor, modo de registo, mapeamento de declarações e funcionalidade opcional.
O plugin também configura as seguintes funcionalidades opcionais quando os ativas:
-
Termos e condições: Uma página SPA que
/termsos utilizadores devem aceitar antes de completar o login, além das definições do site correspondentes e excertos de conteúdo. -
Página de perfil de utilizador: Uma página SPA
/user-profileonde utilizadores iniciados podem editar as suas informações de contacto através da API Web Power Pages. - Fim de sessão federado: também termina a sessão do utilizador no fornecedor de identidade quando este termina sessão no site, para cenários de dispositivos partilhados ou regulamentados.
Tip
Para adicionar um segundo fornecedor de identidade a um site existente, execute /setup-auth novamente. O plugin deteta o que já está configurado e oferece adicionar um novo fornecedor sem sobrescrever os existentes. Esta abordagem é útil para cenários incrementais, como começar com o ID externo Microsoft Entra e depois adicionar o Google para login social.
Observação
A autorização do lado do cliente (RequireAuth, RequireRole, hasRole) destina-se apenas à experiência do utilizador. Controla o que o utilizador vê. As permissões de tabela no servidor configuradas por /integrate-webapi garantem a segurança efetiva.
Passo 9: Adicionar lógica do servidor
Execute /add-server-logic para adicionar endpoints seguros do lado do servidor ao seu site. Use a Lógica do Servidor quando o seu site precisa de lógica que não pode correr no navegador, como chamadas de API externas, validação do lado do servidor, gestão de segredos ou operações de dados entre entidades.
Importante
O suporte à lógica do servidor requer PAC CLI versão 2.6.3 ou posterior. Usa o script de instalação rápida para atualizar para a versão mais recente.
Descreve o que precisas em linguagem simples e o plugin:
- Gera um agente de Arquiteto de Lógica de Servidor que analisa o teu caso de uso e classifica a sua complexidade.
- Propõe um design de ponto final, uma configuração de segurança e quaisquer permissões de tabela necessárias para a sua revisão.
- Depois de aprovar, gera o endpoint JavaScript do lado do servidor em
/_api/serverlogics/<name>. - Cria um serviço do lado do cliente com tipagem para invocar o ponto final a partir dos seus componentes.
- Atualiza os seus componentes para que chamem o novo serviço.
- Configura atribuições de função da Web e permissões de tabela para o ponto final.
Tu analisas e aprovas a proposta. Não é gerado código até confirmares.
Casos de uso comuns:
- Liga-te a serviços externos. Chame APIs REST, Funções do Azure ou serviços de terceiros sem expor credenciais. (Tutorial: interagir com serviços externos)
- Realizar operações de dados seguros. Consultar, atualizar ou eliminar registos do Dataverse com validação consistente do lado do servidor. (Tutorial: interagir com tabelas Dataverse)
- Executa lógica personalizada. Agregar dados em tabelas, aplicar regras de negócio ou calcular valores derivados antes de devolver os resultados ao cliente.
- Gerenciar credenciais do lado do servidor. Armazena credenciais e chaves API no servidor, nunca em código cliente. (Tutorial: interagem com Microsoft Graph e SharePoint)
Observação
Executa /add-server-logic uma vez por caso de uso. Por exemplo, se o seu site precisar tanto de um endpoint de validação de inventário como de um endpoint global de pesquisa, execute a skill duas vezes.
Passo 10: Integrar os fluxos de cloud
Execute /add-cloud-flow para integrar fluxos cloud de Power Automate existentes no seu site. Esta competência liga o seu site Power Pages a fluxos que já criou no Power Automate. Não cria novos fluxos de nuvens.
O plug-in:
- Regista o fluxo de nuvem existente no seu site.
- Gera código do lado do cliente para desencadear o fluxo a partir das suas páginas.
- Gere o estado de fluxos de trabalho assíncronos e padrões de chamada de retorno.
- Estabelece a troca de dados entre a página e o fluxo.
Use /add-cloud-flow para fluxos de trabalho de aprovação, notificações por email, tarefas agendadas e automação orientada a eventos que são melhor geridas por Power Automate do que por endpoints do lado do servidor.
Alternativa: Usar /integrate-backend para planear a camada de serviço completo
Se não tiveres a certeza de que funcionalidades precisam de Web API, Server Logic ou um fluxo na cloud, executa /integrate-backend em vez de executar manualmente os passos 4 a 10. Esta habilidade atua como um orquestrador que:
- Analisa o seu protótipo para identificar todas as funcionalidades que precisam de uma camada de serviço.
- Classifica cada funcionalidade na abordagem correta: Web API para CRUD padrão, Server Logic para validação do lado do servidor e APIs externas, ou fluxo cloud para fluxos de trabalho de aprovação e automação.
- Propõe um plano de execução sequenciado com todas as competências, dependências e configurações.
- Após a sua aprovação, orquestra as capacidades pela ordem correta
O plano é persistente, retomável e editável. Pare após qualquer passo para rever o código gerado ou testar o site, e retome de onde ficou correndo /integrate-backend novamente.
Passo 11: Adicionar SEO
Execute /add-seo para otimizar o seu site para motores de busca. O plug-in:
- Deteta rotas a partir da configuração do router do seu framework.
- Gera diretivas para motores de busca e um sitemap para todas as rotas descobertas.
- Adiciona meta-tags: viewport, charset, description, Open Graph, Twitter Card e referências ao favicon.
Passo 12: Implantar o local final
Se realizares algum passo opcional, executa /deploy-site novamente para lançar as alterações em direto. O plugin executa uma build de produção e carrega o site juntamente com todos os artefactos de implementação (permissões de tabelas, definições do site, funções web, ficheiros lógicos do servidor) para o teu ambiente Power Pages.
Passo 13: Realizar uma revisão de segurança
Execute /security-review para realizar uma revisão de segurança completa do seu site antes de o colocar em produção. A competência orquestra as competências de segurança específicas e consolida todas as conclusões num único relatório HTML em docs/security-review-<timestamp>.html.
O plugin faz uma pergunta simples sobre o seu objetivo e escolhe o conjunto correspondente de competências focadas:
| Goal | O que verifica |
|---|---|
| Código e configuração | Código-fonte, dependências, permissões de tabela e configuração de autenticação. Funciona apenas em ficheiros locais - sem necessidade de implementação. |
| Prontidão para lançamento (recomendado) | Revisão completa antes de publicar. Executa todas as competências específicas: código e dependências, análise de sites implementados, cabeçalhos de segurança do browser, firewall de aplicações Web, permissões de tabelas e autenticação. |
| Local de implantação | Apenas análise do site implementado em produção. Útil para monitorização contínua de um site publicado. |
Depois de confirmar, o plug-in executa em paralelo as competências específicas correspondentes e escreve os respetivos resultados num único relatório:
-
/scan-code: Executa análise estática (opengrep) e varredura de dependências (trivy) em ficheiros de origem locais. Padrões de código da Surface, pacotes vulneráveis, segredos codificados fixamente e questões de licença. Se nenhuma das ferramentas estiver instalada, a habilidade oferece uma revisão manual de código como recurso B. -
/scan-site: inicia uma análise de segurança do lado do servidor ao site em produção e obtém o relatório mais recente. A duração da varredura depende do tamanho do local – os locais pequenos terminam em minutos, os grandes podem demorar horas. Os achados estão agrupados por gravidade. Requer um site implementado. -
/manage-headers: Inspeciona os cabeçalhos de segurança HTTP configurados em:.powerpages-site/site-settings/Política de Segurança de Conteúdo, X-Frame-Options, CORS, cookies SameSite e definições relacionadas. Identifica valores em falta ou fracos e propõe os padrões recomendados. -
/manage-firewall: Inspeciona o firewall da aplicação web (WAF) do local de produção, incluindo o estado das regras geridas e regras personalizadas (blocos IP, blocos de países, blocos de caminho, limites de taxa). Disponível apenas em locais de produção em regiões suportadas; A competência deteta e reporta questões de elegibilidade. -
/audit-permissions: Audita permissões de tabelas existentes com base no código do site e metadados do Dataverse. Identifica permissões em falta, atribuições excessivamente permissivas, permissões não utilizadas e problemas no esquema YAML.
O relatório consolidado agrupa as conclusões por secção, abre no seu navegador predefinido e inclui orientações de remediação em linguagem simples. A partir do chat, o plug-in propõe-se então a orientá-lo passo a passo pelas correções: selecione um resultado e o plug-in invoca interativamente a competência específica correspondente para aplicar a alteração.
Observação
A revisão de segurança nunca aplica alterações automaticamente. Cada competência específica é executada em modo de revisão só de leitura durante a execução consolidada. Para aplicar uma correção, o plug-in invoca interativamente a competência correspondente depois de selecionada a ação.
Tip
Também podes usar qualquer habilidade focada isoladamente:
- Executa
/scan-codedurante o desenvolvimento para detetar problemas ao nível do código cedo. - Execute
/manage-headerspara corrigir um erro específico na Política de Segurança de Conteúdo ou configurar o CORS. - Execute
/manage-firewallpara definir um limite de tentativas na página de início de sessão ou bloquear o tráfego com base no país. - Executa
/audit-permissionsdepois de mudar as permissões das tabelas para verificar se ainda correspondem ao código do site. - Volte a executar
/security-reviewcom o objetivo Site implementado para monitorizar um site em produção ao longo do tempo.
Verifique o seu site
Depois de completares as competências, verifica se o teu site Power Pages funciona corretamente.
- Vai a Power Pages.
- Localize o seu site na lista de Sites Ativos .
- Pré-visualize o seu site no ambiente de trabalho usando a opção Pré-visualização .
- Testa a funcionalidade.
Promova o seu site em vários ambientes
Depois de o seu site funcionar no ambiente de desenvolvimento, utilize as funcionalidades de gestão do ciclo de vida da aplicação (ALM) para promovê-lo para os ambientes de teste e produção. O plugin empacota o seu site como uma solução Power Platform, identifica valores que variam entre ambientes e implementa a solução através dos Power Platform Pipelines ou através de exportação e importação manual.
Para usar as competências ALM, também precisas de pelo menos um ambiente Power Platform alvo (teste, produção, ou ambos). Para usar o fluxo opcional Azure Key Vault para segredos, também precisa de permissão para criar um cofre de chaves na sua subscrição do Azure.
Planeie a implementação
Execute /plan-alm para começar.
/plan-alm é o ponto de entrada para o ALM e orquestra as outras funcionalidades do ALM, pelo que, normalmente, não as executa diretamente. O plug-in:
- Deteta o estado atual do seu projeto, solução e ambientes-alvo.
- Pergunta sobre a sua estratégia de promoção (Power Platform Pipelines ou exportação e importação manuais), as fases alvo e quaisquer restrições a aplicar.
- Gera um plano visual em
docs/alm-plan.htmlque mostra todas as ações que tenciona realizar. - Aguarda a sua aprovação antes de executar qualquer competência a jusante.
O plano é persistido em disco, pelo que cada competência a jusante lê e escreve no mesmo plano persistido. Se uma fase falhar, volta a correr /plan-alm e retoma do ponto onde parou.
Autor da solução
Execute /setup-solution para empacotar o seu site como uma solução Power Platform. O plug-in:
- Cria um publicador e uma solução e, em seguida, adiciona os seus componentes do Power Pages: o site, funções da Web, pontos finais da lógica do servidor, registos de fluxos na cloud e definições do fornecedor OAuth.
- Classifica cada cenário de local por sensibilidade e propõe variáveis ambientais para valores que variam entre ambientes.
- Oferece provisionar um Azure Key Vault e armazenar valores do tipo credencial, como strings de ligação e chaves API, nele.
- Funciona em modo sincronizado quando já existe uma solução para o seu site, para reconciliar componentes sem criar uma nova solução.
Tu analisas e aprovas a proposta. O plugin não cria qualquer configuração até confirmares.
Tip
Se a sua solução for demasiado grande ou emaranhada para ser implementada de forma fiável, o plugin recomenda uma divisão e propõe onde dividi-la. Confirme a separação antes de aplicar as alterações.
Implementar com Pipelines do Power Platform
Se escolheu o Power Platform Pipelines como estratégia de promoção, o plugin executa estas competências:
-
/ensure-pipelines-hostaprovisiona ou deteta um ambiente anfitrião para os Pipelines do Power Platform. A competência escolhe a opção de menor custo disponível para o seu inquilino: um alojamento gratuito na plataforma, a aplicação Pipelines num ambiente existente ou um alojamento personalizado. -
/setup-pipelineregista uma definição de pipeline no Dataverse, configura os estágios que escolheu e associa cada estágio a um ambiente de destino. -
/deploy-pipelineaciona uma implantação para uma fase, aplica redefinições de variáveis de ambiente por fase através dedeploymentSettings.jsone regista o estado num registo de implantações.
Se uma implementação falhar porque o ambiente de destino já está associado a outro anfitrião de Pipelines do Power Platform, o plug-in pode executar /force-link-environment para o reatribuir. A ação requer o seu consentimento explícito e é reversível.
Implementar com exportação e importação manual
Se escolheres o caminho manual, o plugin corre:
-
/export-solutionpara exportar a solução como um ZIP gerido ou não gerido, com uma verificação de completude antes da exportação. -
/import-solutionpara importar o ZIP para o ambiente de destino, quer de forma faseada para verificar primeiro as dependências, quer diretamente.
Ativar e validar o site implementado
Após uma implementação bem-sucedida no ambiente de destino, o plugin:
- Executa
/activate-sitepara provisionar a URL pública no ambiente de destino. - Executa
/test-sitepara verificar a implementação. O plug-in utiliza um browser para pesquisar páginas representativas, executar verificações de acesso baseadas em funções, verificar chamadas à/_api/e capturar formas de resposta dos pontos finais/_api/serverlogics/. A competência apresenta o resultado comoPASS,WARNINGSouFAIL, com detalhes por verificação ligados a partir do plano.
Se um passo falhar, o plugin executa /diagnose-deployment. A competência compara a falha com um catálogo de erros de implementação conhecidos, como manifestos obsoletos, dependências em falta, conflitos de host, JavaScript bloqueado ou autenticação expirada, e propõe uma solução concreta. O plugin nunca aplica uma correção sem o teu consentimento.
Observação
Cada competência de ALM lê e escreve em artefactos no disco: o manifesto da solução, os dados do plano, o registo de pipelines, o registo de implementações e os resultados dos testes. A orquestração é retomável e auditável. Para ver o que aconteceu em cada passo, inspecionar os artefactos.
Dicas e melhores práticas
As dicas seguintes ajudam-no a tirar o máximo proveito do plugin e do agente de programação de IA ao criar sites Power Pages.
Observar a saída do terminal para detetar ferramentas em falta na primeira execução
O plugin fornece as competências e fluxos de trabalho, mas o agente de programação de IA – GitHub Copilot CLI ou Claude Code – executa os comandos reais na sua máquina. Quando usar estas ferramentas pela primeira vez, observe atentamente a saída do terminal. O agente de programação IA executa comandos e scripts nos bastidores, e alguns desses comandos dependem de ferramentas que podem não estar instaladas na sua máquina. Se um passo falhar, a saída do terminal normalmente mostra qual ferramenta ou comando não conseguiu encontrar.
Se vires um erro como command not found ou is not recognized, instala a ferramenta em falta e reativa o fluxo de trabalho. O agente de codificação de IA retoma de onde parou depois de a ferramenta ser disponibilizada.
Analise propostas de agentes antes de aprovar
O agente de codificação de IA apresenta propostas, como as do Data Model Architect e do Permissions Architect, antes de fazer alterações. O código e a configuração gerados pelo agente de codificação de IA podem ser imprecisos, por isso revê, testa e valida cada proposta e todo o código gerado antes de o aprovar ou implementar.
- Propostas de modelos de dados: Verifique se os nomes das tabelas, tipos de colunas e relações correspondem aos requisitos do seu negócio. É mais fácil ajustar uma proposta do que renomear colunas depois de os dados já estarem inseridos.
- Propostas de permissões: Verifique se cada função tem o nível de acesso correto (criar, ler, atualizar, eliminar) para cada tabela. Permissões excessivamente permissivas em tabelas são um risco de segurança comum.
- Código gerado: Leia o código gerado e teste o site localmente antes de implementar. O código gerado por IA pode conter erros ou problemas de segurança.
Colar erros diretamente com contexto
Quando algo falha, seja um erro de compilação, uma falha de implementação ou uma exceção em tempo de execução no navegador, copie a saída completa do erro. Cole-a juntamente com uma breve descrição do que estava a fazer. Quanto mais contexto fornecer, mais rápido será corrigido.
Exemplo: Erro de construção
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>
Tip
Inclui o nome do ficheiro, o comando que executaste e o que esperavas que acontecesse. O plugin utiliza este contexto para localizar o problema e aplicar uma solução direcionada em vez de adivinhar.
Partilhar erros da Web API com o URL completo do pedido
Um problema comum após a implementação é um erro 403 da Power Pages Web API quando uma coluna não está ativada para acesso à API. Quando encontrar este erro, cole a URL completa da API e a resposta completa ao erro JSON. A mensagem de erro indica-te exatamente que tabela e coluna precisam de ser corrigidas, e o plugin pode atualizar o YAML de permissões da tabela e as definições do site por ti.
Exemplo: Coluna não ativada para 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"
}
}
}
Este erro (AttributePermissionIsMissing) significa que a coluna _crd50_propertyid_value de consulta existe na tabela Dataverse mas não está listada na configuração de permissões da tabela para a Web API. O plug-in resolve este erro adicionando a coluna em falta ao YAML de permissão de tabela em .powerpages-site/table-permissions/ e voltando a implementar.
Observação
A API Web do Power Pages exige que cada coluna devolvida por uma chamada de API esteja explicitamente listada na permissão da tabela.
Propriedades de pesquisa (prefixadas com _ e sufixas com _value) são fáceis de passar despercebidas porque o nome da API difere do nome lógico da coluna no Dataverse. Quando vires AttributePermissionIsMissing, adiciona sempre essa coluna às permissões da tabela. Não mudes a consulta da API.
Sê específico sobre o que queres
Pedidos vagos produzem resultados vagos. Diga ao plugin exatamente o que precisa, incluindo preferências de layout, campos de dados e comportamento.
| Em vez de | Experimentar |
|---|---|
| Cria uma página para vagas | "Cria uma página de anúncios de emprego com uma barra de pesquisa no topo, chips de filtro para localização e departamento, e uma grelha de cartões com título, empresa, intervalo salarial e data de publicação para cada emprego" |
| "Corrigir o estilo" | "Os cartões de tarefas empilham-se verticalmente no ambiente de trabalho. Faz com que sejam exibidos numa grelha de três colunas com um espaço de 16px em ecrãs mais largos que 768px" |
| "Adicionar alguns dados" | "Adicione 20 anúncios de emprego de exemplo em quatro departamentos (Engenharia, Marketing, Vendas, RH) com títulos realistas, salários entre $60k e $180k, e datas publicadas nos últimos 30 dias" |
| "Configurar a API" | "Liga o componente JobListings à tabela cr_jobposting Dataverse. Substitua o array codificado por uma chamada API real que obtenha o título, departamento, salário e data de publicação. |
| "Adicionar login" | "Configura o login do ID externo Microsoft Entra com registo aberto, além do Google como segundo fornecedor. Mostre-as como uma linha horizontal na página de iniciação de sessão." |
Use capturas de ecrã para problemas visuais
Quando o site não parecer correto no navegador, tira uma captura de ecrã e cola-a diretamente na conversa ou fornece um caminho de ficheiro. O contexto visual ajuda a identificar problemas de layout, espaçamento e estilo que são difíceis de descrever no texto.
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.
Iterar em pequenos passos
Em vez de descrever um site inteiro num único prompt, construa de forma incremental. Comece pela estrutura e disposição, depois adicione funcionalidades uma de cada vez. Esta abordagem dá-lhe a oportunidade de rever e corrigir o rumo em cada etapa.
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
Tip
Após cada passo, verifique a pré-visualização do navegador. Se algo não estiver certo, corrige antes de seguir em frente. É mais fácil resolver problemas num só componente do que desembaraçar problemas em todo o site.
Pede uma explicação antes de aprovar
Quando tiver dúvidas sobre uma alteração proposta, especialmente para permissões, modificações de modelos de dados ou configuração de autenticação, peça ao plugin para explicar o que pretende fazer e porquê antes de aprovar.
Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.
Executar capacidades de forma independente para recuperar de problemas
Se uma competência falhar a meio, não precisas de recomeçar. Cada habilidade funciona de forma independente e pode continuar de onde ficou. Por exemplo, se /integrate-webapi falhar na terceira tabela, pode voltar a executá-lo e este deteta o trabalho já concluído.
/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.
Conteúdo relacionado
- Crie e implemente uma aplicação de página única em Power Pages
- Configurar autenticação para um site Power Pages
- Visão geral da lógica do servidor
- Referência da API Web do Power Pages
- Resumo da API de sumarização de dados
- Power Pages pesquisa com IA generativa
- Referência de comandos das páginas do PAC CLI
- GitHub Copilot CLI
- Código Claude