Communitygithub.com

socai-io/socai

Déployer, configurer, diagnostiquer et vérifier le site web marketing/téléchargement socai sur Vercel. Utilisé pour les déploiements de socai.io, les paramètres du projet Vercel, les vérifications de domaine/redirection, la configuration des aperçus Git, la validation des redirections /download et /github, et les runbooks de déploiement du site/application Astro.

Qu'est-ce que socai ?

Cette compétence agit comme le runbook de déploiement officiel pour le site web socai.io hébergé sur Vercel. Elle fournit toutes les instructions nécessaires pour déployer l'application Astro statique située dans le répertoire `site/`, gérer la configuration du projet Vercel (`socai-site` dans l'équipe `socai-d83824c8`), et vérifier le bon fonctionnement des domaines, redirections et routes clés. Elle supporte aussi bien les déploiements automatiques via l'intégration Git (branche `main`) que les déploiements manuels d'urgence en CLI, avec une procédure spécifique pour contourner les problèmes de répertoire racine. La compétence inclut des commandes pour inspecter l'état Vercel, effectuer une validation locale (construction, tests JSON/XML), vérifier les URLs avec des requêtes HEAD, et diagnostiquer les problèmes courants comme les builds ignorés, les erreurs de répertoire racine, ou les redirections incorrectes. Elle est particulièrement utile pour les développeurs qui doivent déployer ou dépanner le site socai.io.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/socai-io/socai/tree/HEAD/.claude/skills/socai-site-deployment

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 du site socai

Utilisez cette compétence dès que la tâche implique le déploiement du site web socai, la configuration Vercel, socai.io, www.socai.io, /download, /github, ou les déploiements d'aperçu de PR.

Cette compétence est le runbook de déploiement faisant autorité. ../../../docs/website-deployment.md reste intentionnellement bref et renvoie ici pour éviter la dérive d'instructions en double.

Contexte du projet

  • Source du site : site/
  • Framework : Site statique Astro
  • Équipe/scope Vercel : socai-d83824c8 (socai)
  • Projet Vercel : socai-site
  • Domaine de production : https://socai.io
  • Route de documentation : https://socai.io/docs/ (pages Starlight construites avec le site Astro)
  • Hôte canonique : socai.io
  • Comportement www : https://www.socai.io/* doit rediriger (308) vers https://socai.io/*
  • Route de téléchargement : https://socai.io/download redirige vers le dernier DMG macOS universel sur le miroir de publication OSS de socai
  • Route GitHub : https://socai.io/github redirige vers https://github.com/socai-io/socai

Paramètres attendus du projet Vercel :

ParamètreValeur
Préréglage frameworkAstro
Répertoire racinesite
Commande d'installationpnpm install
Commande de constructionpnpm build
Répertoire de sortiedist
Version Node.js24.x

Règles de sécurité

  • Utilisez le scope socai-d83824c8 pour toutes les commandes de projet/domaine Vercel.
  • Ne déployez pas depuis la mauvaise équipe Vercel ou un projet personnel.
  • Ne commitez pas site/.vercel/, site/dist/, site/.astro/, ou site/node_modules/.
  • N'activez pas les analyses sauf si l'utilisateur l'approuve explicitement.
  • Ne modifiez pas les assets de publication de l'application pendant le travail de déploiement du site.
  • Gardez le travail sur une branche dédiée et ouvrez/mettez à jour une PR pour les modifications du dépôt.
  • Si vous modifiez temporairement les paramètres du projet Vercel pour un déploiement manuel, restaurez-les avant de terminer.

Validation locale

Avant de déployer ou d'ouvrir une PR pour du code/configuration lié au déploiement :

cd site
pnpm install
pnpm build

Validez la configuration JSON/XML lorsqu'elle est modifiée :

python3 -m json.tool site/vercel.json >/dev/null
python3 -m json.tool site/public/site.webmanifest >/dev/null
python3 - <<'PY'
import xml.etree.ElementTree as ET
ET.parse('site/dist/sitemap-index.xml')
ET.parse('site/dist/sitemap-0.xml')
PY

Inspecter l'état Vercel

vercel whoami
vercel teams ls
vercel projects ls --scope socai-d83824c8
vercel project inspect socai-site --scope socai-d83824c8 --yes
vercel domains inspect socai.io --scope socai-d83824c8
vercel domains inspect www.socai.io --scope socai-d83824c8

Confirmez que les paramètres du projet affichent le répertoire racine site, le framework Astro, la commande de construction pnpm build, la sortie dist, l'installation pnpm install.

Déploiement de production préféré

Le chemin préféré après activation de l'intégration Git :

  1. Fusionnez les modifications du site dans main.
  2. Laissez Vercel construire le projet socai-site depuis le répertoire racine site.
  3. Vérifiez les URLs de production avec les commandes ci-dessous.

Les aperçus de PR nécessitent également que l'intégration Git soit connectée dans le tableau de bord Vercel.

Déploiement d'urgence/manuel en CLI

Étant donné que le projet Vercel est configuré avec le répertoire racine site, un déploiement local direct depuis site/ peut échouer avec des erreurs de répertoire racine site/site. Si l'intégration Git n'est pas disponible et qu'un déploiement CLI est nécessaire, utilisez cette solution de contournement avec répertoire racine temporaire et restaurez le répertoire racine par la suite.

set -euo pipefail

cat > /tmp/vercel-root-null.json <<'EOF'
{
  "rootDirectory": null
}
EOF
cat > /tmp/vercel-root-site.json <<'EOF'
{
  "rootDirectory": "site"
}
EOF

restore_root() {
  vercel api /v10/projects/socai-site \
    --scope socai-d83824c8 \
    -X PATCH \
    --input /tmp/vercel-root-site.json \
    --silent || true
}
trap restore_root EXIT

vercel api /v10/projects/socai-site \
  --scope socai-d83824c8 \
  -X PATCH \
  --input /tmp/vercel-root-null.json \
  --silent

cd site
vercel deploy --prod --scope socai-d83824c8 --project socai-site --yes

Après le déploiement, confirmez que le répertoire racine a été restauré :

vercel project inspect socai-site --scope socai-d83824c8 --yes

Ne laissez pas le projet avec Root Directory . ou null ; les aperçus Git dépendent de site.

Vérification des URLs

Utilisez d'abord des vérifications HEAD :

curl -I https://socai.io/
curl -I https://socai.io/docs/
curl -I https://socai.io/docs/quickstart/
curl -I https://www.socai.io/
curl -I https://socai.io/sitemap.xml
curl -I https://socai.io/sitemap-index.xml
curl -I https://socai.io/download
curl -I https://socai.io/github

Comportement attendu au premier saut :

  • https://socai.io/ retourne 200.
  • https://socai.io/docs/ retourne 200, et une page imbriquée comme /docs/quickstart/ retourne 200.
  • https://www.socai.io/ retourne 308 avec location: https://socai.io/.
  • https://socai.io/sitemap.xml redirige de manière permanente vers /sitemap-index.xml, qui retourne 200.
  • https://socai.io/download retourne une redirection Vercel (307) vers le dernier DMG macOS universel sur le miroir de publication OSS configuré.
  • https://socai.io/github retourne une redirection Vercel (307) vers https://github.com/socai-io/socai.

Utilisez -L uniquement lorsque vous souhaitez suivre la chaîne :

curl -I -L --max-time 30 -o /dev/null -w 'code=%{http_code}\nfinal=%{url_effective}\n' https://socai.io/download

Configuration de l'aperçu Git

Essayez :

cd site
vercel link --yes --scope socai-d83824c8 --project socai-site
vercel git connect https://github.com/socai-io/socai --scope socai-d83824c8

Si Vercel retourne :

Échec de la liaison de socai-io/socai. Vous devez d'abord ajouter une connexion de connexion à votre compte GitHub.

alors un propriétaire du compte Vercel/GitHub doit connecter la connexion/intégration GitHub dans le tableau de bord Vercel, puis connecter socai-site à socai-io/socai avec le répertoire racine site.

Dépannage

Modifications du site ignorées après un push multi-commits

L'étape de construction ignorée dans site/vercel.json doit comparer HEAD par rapport à VERCEL_GIT_PREVIOUS_SHA (le dernier déploiement réussi pour ce projet et cette branche), pas HEAD^. Le commit final d'un push peut modifier uniquement du code Rust tandis que les commits précédents modifient le site. Si le SHA du déploiement précédent est manquant ou indisponible dans le clone superficiel, construisez plutôt que d'ignorer. La sortie avec le code 0 ignore une construction ; la sortie avec le code 1 procède.

Le répertoire racine "site" n'existe pas

Cela se produit généralement lors d'un déploiement CLI local depuis site/ alors que le projet distant a également le répertoire racine site. Utilisez la solution de contournement de déploiement manuel/urgence ci-dessus, ou préférez les déploiements Git.

Trop de fichiers téléchargés

Déployer depuis la racine du dépôt peut inclure des artefacts de build Rust/Python et dépasser le nombre de fichiers de Vercel. Ne déployez pas directement la racine du dépôt sauf si vous avez une stratégie d'ignorement/archivage testée. Préférez les déploiements Git ou le déploiement manuel/urgence depuis site/ avec réinitialisation temporaire du répertoire racine.

www.socai.io répond 200 au lieu de rediriger

Assurez-vous que le dernier déploiement de production inclut la redirection d'hôte dans site/vercel.json, puis redéployez. Vérifiez avec :

curl -I https://www.socai.io/

Les métadonnées de la dernière version GitHub sont indisponibles

Le site doit toujours afficher un contenu générique non obsolète (dernière version) et /download doit toujours rediriger vers l'asset de la dernière version de GitHub.

Rapport

Lors du compte rendu d'une tâche de déploiement, incluez :

  • Branche/PR si des fichiers du dépôt ont été modifiés
  • Paramètres du projet Vercel confirmés
  • URL de déploiement et domaine de production
  • Commandes exécutées
  • Résumé de la vérification de sortie pour /, /docs/, /docs/quickstart/, www, /download, et /github
  • Tout blocage manuel restant, en particulier l'intégration Git / les aperçus de PR

Skills associés