Ahtesham-Latif/Tie-Breaker-App

Un moteur de décision déterministe propulsé par Azure AI et React. Génère des matrices structurées, des profils SWOT et des verdicts contextuels pour tout dilemme A vs B.

Qu'est-ce que Tie-Breaker-App ?

Ce skill, nommé 'Tie-Breaker App', est un moteur de décision déterministe conçu pour aider les développeurs et les utilisateurs d'agents IA à résoudre des dilemmes binaires (A vs B) de manière structurée et reproductible. Il combine Azure AI Foundry pour l'analyse contextuelle avancée et React pour une interface utilisateur interactive. Le skill est capable de générer des matrices de décision, des profils SWOT complets et des verdicts justifiés, en s'appuyant sur des données d'entrée claires. Il prend en charge le déploiement sur Azure App Service (Linux) avec Node.js, en utilisant Managed Identity pour une authentification sécurisée et sans mot de passe. La documentation inclut des pratiques exemplaires pour l'infrastructure cloud, la gestion des variables d'environnement (frontend vs backend) et un pipeline CI/CD GitHub Actions optimisé pour éviter les conflits de construction.

Compatible avec~Claude Code✓Codex CLI~Cursor
npx skills add Ahtesham-Latif/Tie-Breaker-App

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Déploiement d'Azure App Service (Node.js)

Cette compétence décrit la voie exemplaire et optimale pour déployer une application Node.js sur Azure App Service (Linux) tout en se connectant de manière sécurisée à un agent Azure AI Foundry via Managed Identity.

1. Configuration de l'infrastructure cloud

  • Plan App Service : Choisissez toujours un niveau dédié (par exemple, Basic B1) pour la production. Les niveaux Gratuit (F1) ont des quotas CPU quotidiens stricts de 60 minutes qui arrêteront de force l'application (entraînant une erreur 403 Stopped).

2. Authentification & Managed Identity (Sans mot de passe)

  1. Code : Utilisez DefaultAzureCredential de @azure/identity dans le backend Node.js.
  2. Activer l'identité : Dans le portail Azure App Service, allez dans Paramètres > Identité et activez Attribuée par le système.
  3. Autorisations IAM : Dans le projet Azure AI cible, allez dans Contrôle d'accès (IAM) et attribuez le rôle Azure AI Developer à l'identité managée de l'App Service. (Remarque : Cognitive Services OpenAI User n'est pas suffisant pour les agents d'orchestration Azure Foundry).

3. Variables d'environnement (Le piège Frontend vs Backend)

Lors du déploiement d'une application full-stack (React/Vite + Node.js) via GitHub Actions, les variables d'environnement doivent être réparties logiquement :

Le Frontend (Vite)

  • Les variables préfixées par VITE_ (par exemple, les clés Supabase) sont intégrées dans le HTML/JS statique au moment de la construction.
  • Où les définir : Elles DOIVENT être stockées dans les Secrets GitHub et explicitement mappées dans votre fichier .github/workflows sous le bloc env: pour l'étape npm run build.
  • Danger : Si elles ne sont que dans Azure et pas dans GitHub Actions, Vite construira le frontend avec des variables vides.

Le Backend (Node.js)

  • Le fichier server.js en cours d'exécution lit les variables d'environnement à l'exécution depuis le conteneur cloud.
  • Où les définir : Configurez les variables (par exemple, les points de terminaison Azure AI, les clés Supabase backend) directement dans le portail Azure sous Paramètres > Variables d'environnement.
  • Danger : Le backend Azure App Service n'hérite PAS des secrets de votre GitHub Actions. Vous devez les définir manuellement dans le portail Azure.
  • Crucial : Les variables sont chargées en mémoire une seule fois au démarrage du processus Node.js. Si une variable est ajoutée ou modifiée, vous devez cliquer explicitement sur Redémarrer sur la page de présentation de l'App Service.
  • Pour approuver l'équilibreur de charge Azure (nécessaire pour express-rate-limit), assurez-vous que l'application Express inclut app.set('trust proxy', 1);.

4. Pipeline CI/CD GitHub Actions

La stratégie de déploiement la plus sûre évite les moteurs de construction conflictuels (GitHub vs. Azure Oryx). Laissez GitHub effectuer 100 % de la construction et du packaging.

Bonnes pratiques du workflow :

  1. GitHub exécute npm install et la construction du frontend (npm run build).
  2. GitHub télécharge un artefact contenant la sortie compilée (dist), les fichiers backend (server.js), et crucialement, le dossier node_modules.
    • Pourquoi ? Si node_modules est omis, le moteur Oryx d'Azure tente de construire l'application elle-même en exécutant npm run build, ce qui échouera car les fichiers sources bruts (index.html) n'ont pas été téléchargés.
  3. Utilisez azure/webapps-deploy@v3 avec un profil de publication stocké comme secret GitHub.

Skills associés