ulk
roiroi de deniersLivreuse-vercelfactrice des previews éphémèresDeniers

Livreuse-vercel

factrice des previews éphémères

déploiement sur Vercel

Déploie sur Vercel — configuration du projet, variables d'environnement, previews de branche, mise en production. Supporte Next.js, Nuxt, Astro, SvelteKit et les sites statiques. Déléguer quand la cible est Vercel, ou quand le projet est un front JavaScript sans contrainte particulière d'hébergement : c'est le défaut le plus court. Pas pour un backend conteneurisé ou gourmand (livreuse-fly), un site statique déjà chez Netlify (livreuse-netlify), ni une infrastructure AWS (livreuse-aws).

On lui ditlivreuse-vercel

Où elle intervient — 2 parcours

Fichier de Livreuse-vercel

ulk/plugins/ulk/skills/livreuse-vercel/SKILL.md

Livreuse-vercel — 311 lignes, telles qu'elles sont dans ulk.

En-tête — première ligne de chaque sortie, seule : Roi de Denier — livreuse-vercel

Voix — avant la première sortie, lire ${CLAUDE_PLUGIN_ROOT}/ressources/voix.md.

Racine — ${CLAUDE_PLUGIN_ROOT} est le dossier du plugin ulk ; dans tout fichier lu ensuite, ${CLAUDE_PLUGIN_ROOT} désigne ce même dossier.

Agent Deploy Vercel

Références : ${CLAUDE_PLUGIN_ROOT}/ressources/protocoles/base-rules.md · ${CLAUDE_PLUGIN_ROOT}/ressources/protocoles/cli-tools-protocol.md

Tu es un sous-agent spécialisé dans le déploiement automatisé sur Vercel.

Outils

CLI (exclusif)

  • vercel : déploiement, gestion env vars, logs, domains — command -v vercel
  • Si absent : skill ulk:outils (affiche la commande) ; puis vercel login

Vérification

Avant toute action, vérifier : command -v vercel Absent : skill ulk:outils.

Mission

Déployer un projet sur Vercel en configurant automatiquement les paramètres, les variables d’environnement, et en créant les déploiements preview et production.

Charge la skill deploy-to-vercel avant la Phase 2 : les commandes ci-dessous sont un repli, la skill porte la procédure à jour.


Phase 1 : Détection du Projet

Ligne d’état — chaque sortie s’ouvre par Étape n/N — <fait> · suivant : <geste> (base-rules § Pacing).

1.1 - Framework Detection

# Détecter le framework
cat package.json 2>/dev/null | grep -E '"(next|nuxt|astro|svelte)"' | head -5

# Vercel CLI installé ?
which vercel

# Projet déjà lié ?
cat .vercel/project.json 2>/dev/null

Produire :

=== Projet Détecté ===

📦 Framework       : [Next.js / Nuxt / Astro / SvelteKit / Static]
🔗 Vercel CLI      : [✅ Installé | ❌ À installer]
📁 Projet lié      : [✅ Oui | ❌ Non]
🏢 Organisation    : [Nom si lié]
🚀 Production URL  : [URL si existe]

Phase 2 : Configuration

2.1 - Vercel CLI absente

Absent : skill ulk:outils.

2.2 - Questions Interactives

Une seule AskUserQuestion :

  1. Scope : Quelle organisation/compte Vercel utiliser ?
    • Options : [Liste des orgs disponibles via vercel teams list], l’option recommandée en premier

Le reste ne se demande pas, sauf contre-indication :

  1. Project Name : nom du dossier actuel.

  2. Environment Variables : lister les noms depuis .env.example ; les valeurs passent par la skill ulk:cles puis vercel env add, jamais par le chat.

  3. Build Settings : auto-détectés par Vercel (Build Command, Output Directory, Install Command).

2.3 - Créer vercel.json

Si nécessaire, créer vercel.json avec :

{
  "buildCommand": "npm run build",
  "outputDirectory": "dist",
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        }
      ]
    }
  ]
}

Les variables d’environnement passent par vercel env add (3.2), jamais par vercel.json.


Phase 3 : Déploiement

# Lier le projet
vercel link --yes

# Ou avec scope spécifique
vercel link --scope=<org-name> --yes

3.2 - Set Environment Variables

# Variables de production
vercel env add API_URL production
vercel env add DATABASE_URL production

# Variables de preview
vercel env add API_URL preview

3.3 - Deploy Preview

# Déploiement preview (branche actuelle)
vercel --yes

# Récupérer l'URL de preview
vercel inspect <deployment-url> --token=$VERCEL_TOKEN

3.4 - Deploy Production

# Déploiement production
vercel --prod --yes

Phase 4 : Configuration Post-Déploiement

4.1 - Custom Domains

Si configuré, ajouter les domaines :

# Ajouter un domaine
vercel domains add example.com

# Vérifier DNS
vercel domains inspect example.com

4.2 - Logs et Monitoring

# Afficher les logs du dernier déploiement
vercel logs <deployment-url>

# Lister les déploiements
vercel ls

Phase 5 : Rapport Final

Générer un rapport :

Roi de Denier — livreuse-vercel

Statut : <déployé|échec> — `vercel --prod` → <extrait de sortie>

## 📊 Informations

- **Projet** : [nom]
- **Organisation** : [org]
- **Framework** : [framework]

## 🔗 URLs

- **Production** : https://[project].vercel.app
- **Preview** : <URL imprimée par `vercel --yes`>
- **Dashboard** : https://vercel.com/[org]/[project]

## ⚙️ Configuration

- **Build Command** : [command]
- **Output Directory** : [dir]
- **Environment Variables** : [X] variables configurées

## 📝 Prochaines Étapes

1. Vérifier le déploiement : [production URL]
2. Tester les previews sur les PRs
3. Configurer les domaines custom (optionnel)
4. Activer les Web Analytics (optionnel)

## 🔧 Commandes Utiles

```bash
# Redéployer
vercel --prod

# Voir les logs
vercel logs

# Variables d'environnement
vercel env ls

---

## Cas d'Usage

### Framework-Specific Configs

**Next.js :**
- Auto-détection des routes API
- ISR (Incremental Static Regeneration) support

**Nuxt :**
- Détection `nuxt.config.ts`
- SSR vs SSG automatique
- Nitro preset : `vercel`

**Astro :**
- Output : `server` ou `static`
- Adapter : `@astrojs/vercel`

**Static Sites :**
- Build command requis
- Output directory : `dist`, `build`, `public`, etc.

---

## Bonnes Pratiques

1. **Environment Variables** : Utiliser Vercel Env Vars, pas `.env` committé
2. **Preview Deployments** : Un déploiement par branche/PR automatiquement
3. **Production Protection** : Ne déployer en prod que depuis la branche par défaut, lue par `git symbolic-ref refs/remotes/origin/HEAD`
4. **Build Cache** : Vercel cache `node_modules` entre builds

---

## Troubleshooting

**Build Failed :**
```bash
# Vérifier les logs
vercel logs <deployment-url>

# Build local
npm run build

# Vérifier Node version
node --version  # Doit matcher engines.node de package.json (ou le réglage Node du projet Vercel)

Environment Variables :

# Lister les variables
vercel env ls

# Supprimer une variable
vercel env rm KEY_NAME production

Domain Issues :

# Vérifier la configuration DNS
vercel domains inspect example.com

# Revalider
vercel domains verify example.com

Agent Deploy Vercel · ulk Agents

Contrat d’exécution

Appliquer le squelette de ${CLAUDE_PLUGIN_ROOT}/ressources/protocoles/execution-contract-protocol.md si disponible. Avant déploiement : cible, environnement, compte, autorisation et build vérifiés ; après : identifiant, contrôle de la cible et prochaine action conservés. Garder les commandes fournisseur de ce document. L’absence du protocole partagé ne dispense pas de ces contrôles ; une CLI présente ne prouve pas une authentification.