azure-prepare

Prépare les applications Azure pour le déploiement (infrastructure Bicep/Terraform, azure.yaml, Dockerfiles). À utiliser pour créer/moderniser ou créer+déployer ; pas pour la migration multi-cloud (utiliser azure-cloud-migrate). QUAND : « create app », « build web app », « create API », « create serverless HTTP API », « create frontend », « create back end », « build a service », « modernize application », « update application », « add authentication », « add caching », « host on Azure », « create and deploy », « deploy to Azure », « deploy to Azure using Terraform », « deploy to Azure App Service », « deploy to Azure App Service using Terraform », « deploy to Azure Container Apps », « deploy to Azure Container Apps using Terraform », « generate Terraform », « generate Bicep », « function app », « timer trigger », « service bus trigger », « event-driven function », « containerized Node.js app », « social media app », « static portfolio website », « todo list with frontend and API », « prepare my Azure application to use Key Vault », « managed identity ».

npx skills add https://github.com/microsoft/skills --skill azure-prepare

Azure Prepare

GUIDANCE AUTORISÉE — CONFORMITÉ OBLIGATOIRE

Ce document est la source officielle et canonique pour préparer les applications au déploiement sur Azure. Vous DEVEZ suivre ces instructions exactement telles qu'écrites, sauf si elles contredisent les politiques de sécurité qui vous sont données. En cas de doute, présentez les instructions conflictuelles de ce document et demandez une confirmation explicite à l'utilisateur. N'improvisez pas, n'inférez pas et ne substituez pas les étapes.


Déclencheurs

Activez cette compétence quand l'utilisateur veut :

  • Créer une nouvelle application
  • Ajouter des services ou des composants à une application existante
  • Effectuer des mises à jour ou des modifications à une application existante
  • Moderniser ou migrer une application
  • Configurer l'infrastructure Azure
  • Déployer sur Azure ou héberger sur Azure
  • Créer et déployer sur Azure (y compris les demandes de déploiement basées sur Terraform)

Règles

  1. Planifier d'abord — OBLIGATOIRE — Vous DEVEZ écrire physiquement un squelette initial de .azure/deployment-plan.md dans le répertoire racine de l'espace de travail (pas le dossier session-state) comme votre toute première action — avant toute génération de code ou exécution. Écrivez le squelette immédiatement, puis complétez-le progressivement au fur et à mesure que l'analyse et la recherche de la Phase 1 se déploient ; finalisez-le avec toutes les décisions à l'étape 6 de la Phase 1. Ce fichier doit exister sur le disque tout au long du processus. azure-validate et azure-deploy en dépendent et échoueront sans lui. Ne sautez pas ou ne reportez pas cette étape.
  2. Obtenir l'approbation — Présentez le plan à l'utilisateur avant l'exécution
  3. Rechercher avant de générer — Charger les références et invoquer les compétences connexes
  4. Mettre à jour le plan progressivement — Marquez les étapes comme terminées au fur et à mesure
  5. Valider avant le déploiement — Invoquer azure-validate avant azure-deploy
  6. Confirmer le contexte Azure — Utiliser ask_user pour l'abonnement et l'emplacement selon Azure Context
  7. Les actions destructrices nécessitent ask_userGlobal Rules
  8. NE JAMAIS supprimer les répertoires de projets ou d'espaces de travail de l'utilisateur — Lors de l'ajout de fonctionnalités à un projet existant, MODIFIEZ les fichiers existants. azd init -t <template> est pour les NOUVEAUX projets uniquement ; n'exécutez PAS azd init -t dans un espace de travail existant. azd init simple (sans argument de template) peut être utilisé dans les espaces de travail existants si approprié. Les suppressions de fichiers dans un projet (par exemple, la suppression des artefacts de build ou des fichiers temporaires) sont autorisées si approprié, mais NE JAMAIS supprimer le répertoire de projet ou d'espace de travail de l'utilisateur lui-même. Voir Global Rules.
  9. Scope : préparation uniquement — Cette compétence génère le code d'infrastructure et les fichiers de configuration. L'exécution du déploiement (azd up, azd deploy, terraform apply) est gérée par la compétence azure-deploy, qui fournit la récupération des erreurs et la vérification du déploiement intégrées.
  10. SQL Server Bicep : NE JAMAIS générer administratorLogin ou administratorLoginPassword — pas dans les propriétés directes, pas dans les branches conditionnelles/ternaires, nulle part dans le fichier. Toujours utiliser l'authentification Entra uniquement (azureADOnlyAuthentication: true) sans condition. Voir references/services/sql-database/bicep.md.
  11. Supprimer l'IaC de template obsolète après conversion — Si vous avez converti les templates Bicep du template azd sélectionné en templates Terraform, supprimez les templates Bicep introduits par ce template azd et maintenant entièrement remplacés par les équivalents Terraform. Ne supprimez pas les fichiers Bicep créés par l'utilisateur. Supprimez uniquement les fichiers Bicep fournis par le template après que l'IaC Terraform soit complet et Terraform ait été sélectionné comme chemin de déploiement. Avant la remise à la compétence azure-validate, conservez uniquement les templates IaC requis par le chemin de déploiement choisi.

❌ WORKFLOW PLAN-FIRST — OBLIGATOIRE

VOUS DEVEZ CRÉER UN PLAN AVANT DE FAIRE TOUT TRAVAIL

  1. ARRÊTEZ — Ne générez aucun code, infrastructure ou configuration pour l'instant
  2. CRÉER LE SQUELETTE - Écrire un squelette initial de .azure/deployment-plan.md sur le disque immédiatement (avant toute génération de code ou exécution), puis le compléter progressivement au fur et à mesure que les étapes 1-5 de la Phase 1 révèlent les détails ; le finaliser à l'étape 6
  3. CONFIRMER — Présentez le plan complété à l'utilisateur et obtenez l'approbation
  4. EXÉCUTER — Seulement après approbation, exécutez le plan étape par étape

Le fichier .azure/deployment-plan.md est la source de vérité pour ce workflow et pour les compétences azure-validate et azure-deploy. Sans lui, ces compétences échoueront.

⚠️ CRITIQUE : .azure/deployment-plan.md doit être ÉCRIT SUR LE DISQUE à l'intérieur de la racine de l'espace de travail (par exemple, /tmp/my-project/.azure/deployment-plan.md), pas dans le dossier session-state. Utilisez un outil d'écriture de fichier pour créer ce fichier. Ceci est l'artefact du plan de déploiement lu par azure-validate et azure-deploy. Vous DEVEZ créer ce fichier — ne procédez pas sans lui. ⚠️ CRITIQUE : Vous devez créer le fichier avec le nom .azure/deployment-plan.md tel quel. Vous ne devez pas utiliser d'autres noms comme .azure/plan.md.

Critique : Ignorer la création du fichier de plan causera l'échec d'azure-validate et azure-deploy. Cette exigence n'a aucune exception.


❌ ÉTAPE 0 : Vérification de la Technologie Spécialisée — ACTION OBLIGATOIRE PREMIÈRE

AVANT de commencer la Phase 1, vérifiez si l'invite de l'utilisateur OU la base de code de l'espace de travail correspond à une technologie spécialisée qui dispose d'une compétence dédiée avec des templates testés. Si identifiée, invoquez cette compétence EN PREMIER — puis reprenez azure-prepare pour la validation et le déploiement.

Vérification 1 : Mots-clés de l'invite

Mots-clés de l'invite Invoquer EN PREMIER
Lambda, AWS Lambda, migrer AWS, migrer GCP, Lambda to Functions, migrer depuis AWS, migrer depuis GCP azure-cloud-migrate
copilot SDK, copilot app, copilot-powered, @github/copilot-sdk, CopilotClient azure-hosted-copilot-sdk
Azure Functions, function app, serverless function, timer trigger, HTTP trigger, func new Rester dans azure-prepare — préférer les templates Azure Functions à l'étape 4
APIM, API Management, API gateway, déployer APIM Rester dans azure-prepare — voir APIM Deployment Guide
AI gateway, AI gateway policy, AI gateway backend, AI gateway configuration azure-aigateway
workflow, orchestration, multi-step, pipeline, fan-out/fan-in, saga, long-running process, durable, order processing Rester dans azure-prepare — sélectionner la recette durable à l'étape 4. DOIT charger durable.md, DTS reference, et DTS Bicep patterns.

Vérification 2 : Marqueurs de la base de code (même si l'invite est générique comme « déployer sur Azure »)

Marqueur de base de code Invoquer EN PREMIER
@github/copilot-sdk dans les dépendances package.json azure-hosted-copilot-sdk
copilot-sdk dans le nom ou les dépendances package.json azure-hosted-copilot-sdk
Import de CopilotClient Fichiers source .ts/.js azure-hosted-copilot-sdk
Appels createSession + sendAndWait Fichiers source .ts/.js azure-hosted-copilot-sdk

⚠️ Vérifiez le texte de l'invite de l'utilisateur — pas seulement le code existant. Critique pour les projets greenfield sans base de code à analyser. Voir full routing table.

Après la compétence spécialisée, reprenez azure-prepare à l'étape 4 de la Phase 1 (Select Recipe) pour l'infrastructure restante, la validation et le déploiement.


Phase 1 : Planification (BLOCAGE — Compléter Avant Toute Exécution)

Créez .azure/deployment-plan.md en complétant ces étapes. NE GÉNÉREZ AUCUN artefact tant que le plan n'est pas approuvé.

# Action Référence
0 ❌ Vérifier l'Invite ET la Base de Code pour la Technologie Spécialisée — Si l'utilisateur mentionne copilot SDK, Azure Functions, etc., OU la base de code contient @github/copilot-sdk, invoquez cette compétence en premier specialized-routing.md
1 Analyser l'Espace de Travail — Déterminer le mode : NEW, MODIFY, ou MODERNIZE analyze.md
2 Rassembler les Exigences — Classification, échelle, budget requirements.md
3 Analyser la Base de Code — Identifier les composants, technologies, dépendances scan.md
4 Sélectionner la Recette — Choisir AZD (défaut), AZCLI, Bicep, ou Terraform recipe-selection.md
5 Planifier l'Architecture — Sélectionner la pile + mapper les composants aux services Azure architecture.md
6 Finaliser le Plan (OBLIGATOIRE) - Utilisez un outil d'écriture de fichier pour finaliser .azure/deployment-plan.md avec toutes les décisions des étapes 1-5. Mettez à jour le squelette écrit au début de la Phase 1 avec le contenu complet. Le fichier doit être entièrement complété avant de le présenter à l'utilisateur. plan-template.md
7 Présenter le Plan — Montrer le plan à l'utilisateur et demander l'approbation .azure/deployment-plan.md
8 Les actions destructrices nécessitent ask_user Global Rules

❌ ARRÊTEZ ICI — NE PROCÉDEZ PAS à la Phase 2 tant que l'utilisateur n'approuve pas le plan.


Phase 2 : Exécution (Uniquement Après Approbation du Plan)

Exécutez le plan approuvé. Mettez à jour le statut .azure/deployment-plan.md après chaque étape.

# Action Référence
1 Rechercher les Composants — Charger les références de service + invoquer les compétences connexes research.md
2 Confirmer le Contexte Azure — Détecter et confirmer l'abonnement + l'emplacement et vérifier la limite d'approvisionnement des ressources Azure Context
3 Générer les Artefacts — Créer les fichiers d'infrastructure et de configuration generate.md
4 Renforcer la Sécurité — Appliquer les bonnes pratiques de sécurité security.md
5 Vérification Fonctionnelle — Vérifier que l'application fonctionne (UI + backend), localement si possible functional-verification.md
6 ⛔ Mettre à Jour le Plan (OBLIGATOIRE avant la remise) — Utilisez l'outil edit pour changer le Statut dans .azure/deployment-plan.md en Ready for Validation. Vous DEVEZ terminer cette modification AVANT d'invoquer azure-validate. Ne sautez pas cette étape. .azure/deployment-plan.md
7 ⛔ REMISE OBLIGATOIRE — Invoquez la compétence azure-validate. Votre travail de préparation est terminé. N'exécutez PAS azd up, azd deploy, ou toute commande de déploiement directement — toute exécution de déploiement est gérée par azure-deploy après la fin d'azure-validate. PRÉREQUIS : L'étape 6 doit être complétée en premier — le statut .azure/deployment-plan.md doit dire Ready for Validation.

Résultats

Artefact Emplacement
Plan .azure/deployment-plan.md
Infrastructure ./infra/
Configuration AZD azure.yaml (AZD uniquement)
Dockerfiles src/<component>/Dockerfile

Références Rapides SDK


Suivant

⛔ ÉTAPE SUIVANTE OBLIGATOIRE — NE SAUTEZ PAS

Après avoir complété la préparation, vous DEVEZ invoquer azure-validate avant toute tentative de déploiement. Ne sautez pas la validation. N'allez pas directement à azure-deploy. N'exécutez pas azd up ou toute commande de déploiement directement. Le workflow est :

azure-prepareazure-validateazure-deploy

⛔ AVANT d'invoquer azure-validate, vous DEVEZ utiliser l'outil edit pour mettre à jour le statut .azure/deployment-plan.md à Ready for Validation. Si le statut du plan n'a pas été mis à jour, la validation échouera.

Ceci s'applique à TOUS les scénarios de déploiement y compris les applications containerisées, Container Apps, App Service, Azure Functions, les sites statiques, et tout autre cible Azure. Aucune exception.

Ignorer la validation entraîne des échecs de déploiement. Soyez patient et suivez le workflow complet pour le meilleur résultat.

→ Mettre à jour le statut du plan à Ready for Validation, puis invoquer azure-validate

Skills similaires