Communitygithub.com

socai-io/socai

Despliega, configura, soluciona problemas y verifica el sitio web de marketing/descarga de socai en Vercel. Útil para despliegues de socai.io, configuración de proyectos de Vercel, comprobaciones de dominios/redirecciones, configuración de previsualizaciones Git, validación de redirecciones /download y /github, y manuales de despliegue del sitio/aplicación Astro.

¿Qué es socai?

Esta habilidad está diseñada para gestionar el ciclo de vida completo del despliegue del sitio web de marketing y descarga de socai en Vercel. Proporciona un manual de despliegue autorizado para el proyecto `socai-site`, que utiliza el framework Astro y se despliega desde el directorio raíz `site`. Incluye reglas de seguridad, validación local, comandos para inspeccionar y configurar el proyecto de Vercel, dos rutas de despliegue (preferida mediante integración Git y manual de emergencia), y un conjunto completo de comprobaciones de verificación de URLs para dominios de producción como `socai.io`, `www.socai.io`, `/download` y `/github`. También cubre la configuración de previsualizaciones Git, la resolución de problemas comunes (como redirecciones incorrectas y errores de directorio raíz) y pautas para informar sobre el resultado de los despliegues. Funciona exclusivamente con el ámbito `socai-d83824c8` de Vercel.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Despliegue del sitio socai

Utiliza esta habilidad cada vez que la tarea involucre el despliegue del sitio web de socai, la configuración de Vercel, socai.io, www.socai.io, /download, /github o las previsualizaciones de PR.

Esta habilidad es el manual de despliegue fuente de verdad. ../../../docs/website-deployment.md permanece intencionadamente breve y redirige aquí para evitar la duplicación de instrucciones.

Contexto del proyecto

  • Código fuente del sitio: site/
  • Framework: Sitio estático Astro
  • Equipo/ámbito de Vercel: socai-d83824c8 (socai)
  • Proyecto de Vercel: socai-site
  • Dominio de producción: https://socai.io
  • Ruta de documentación: https://socai.io/docs/ (páginas de Starlight construidas con el sitio Astro)
  • Host canónico: socai.io
  • Comportamiento de www: https://www.socai.io/* debe redirigir (308) a https://socai.io/*
  • Ruta de descarga: https://socai.io/download redirige al último DMG universal para macOS en el espejo de lanzamiento OSS de socai
  • Ruta de GitHub: https://socai.io/github redirige a https://github.com/socai-io/socai

Configuración esperada del proyecto de Vercel:

ConfiguraciónValor
Preajuste de frameworkAstro
Directorio raízsite
Comando de instalaciónpnpm install
Comando de compilaciónpnpm build
Directorio de salidadist
Versión de Node.js24.x

Reglas de seguridad

  • Usa el ámbito socai-d83824c8 para todos los comandos de proyecto/dominio de Vercel.
  • No despliegues desde el equipo de Vercel incorrecto ni desde un proyecto personal.
  • No subas site/.vercel/, site/dist/, site/.astro/ o site/node_modules/.
  • No habilites análisis a menos que el usuario lo apruebe explícitamente.
  • No edites los activos de lanzamiento de la aplicación mientras trabajas en el despliegue del sitio web.
  • Mantén el trabajo de incidencias en una rama dedicada y abre/actualiza un PR para los cambios en el repositorio.
  • Si cambias temporalmente la configuración del proyecto de Vercel para un despliegue manual, restáurala antes de finalizar.

Validación local

Antes de desplegar o abrir un PR para código/configuración relacionado con el despliegue:

cd site
pnpm install
pnpm build

Valida la configuración JSON/XML cuando se haya modificado:

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

Inspeccionar el estado de 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

Confirma que la configuración del proyecto muestre el directorio raíz site, framework Astro, comando de compilación pnpm build, salida dist, instalación pnpm install.

Despliegue de producción preferido

La ruta preferida, una vez habilitada la integración Git:

  1. Fusiona los cambios del sitio web en main.
  2. Deja que Vercel compile el proyecto socai-site desde el directorio raíz site.
  3. Verifica las URLs de producción con los comandos siguientes.

Las previsualizaciones de PR también requieren que la integración Git esté conectada en el panel de control de Vercel.

Despliegue de producción de emergencia/manual mediante CLI

Debido a que el proyecto de Vercel está configurado con el directorio raíz site, un despliegue local directo desde site/ puede fallar con errores de directorio raíz site/site. Si la integración Git no está disponible y se requiere un despliegue mediante CLI, usa esta solución temporal de directorio raíz y restaura el directorio raíz después.

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

Después del despliegue, confirma que el directorio raíz se haya restaurado:

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

No dejes el proyecto con Root Directory . o null; las previsualizaciones Git dependen de site.

Verificación de URLs

Usa primero comprobaciones 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

Comportamiento esperado en el primer salto:

  • https://socai.io/ devuelve 200.
  • https://socai.io/docs/ devuelve 200, y una página anidada como /docs/quickstart/ devuelve 200.
  • https://www.socai.io/ devuelve 308 con location: https://socai.io/.
  • https://socai.io/sitemap.xml redirige permanentemente a /sitemap-index.xml, que devuelve 200.
  • https://socai.io/download devuelve una redirección de Vercel (307) al último DMG universal para macOS en el espejo de lanzamiento OSS configurado.
  • https://socai.io/github devuelve una redirección de Vercel (307) a https://github.com/socai-io/socai.

Usa -L solo cuando quieras seguir la cadena:

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

Configuración de previsualización Git

Intenta:

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 devuelve:

Failed to link socai-io/socai. You need to add a Login Connection to your GitHub account first.

entonces el propietario de la cuenta de Vercel/GitHub debe conectar el inicio de sesión/integración de GitHub en el panel de control de Vercel y luego conectar socai-site a socai-io/socai con el directorio raíz site.

Solución de problemas

Cambios en el sitio web omitidos después de un push con múltiples commits

El paso de compilación ignorado en site/vercel.json debe comparar HEAD con VERCEL_GIT_PREVIOUS_SHA (el último despliegue exitoso para este proyecto y rama), no con HEAD^. El commit final en un push puede cambiar solo código Rust mientras que los commits anteriores cambian el sitio web. Si el SHA del despliegue anterior falta o no está disponible en el clon superficial, compila en lugar de omitir. Salir con 0 omite una compilación; salir con 1 procede.

El directorio raíz "site" no existe

Esto suele ocurrir cuando se ejecuta un despliegue CLI local desde site/ mientras que el proyecto remoto también tiene el directorio raíz site. Usa la solución temporal de despliegue manual/emergencia anterior, o prefiere los despliegues Git.

Demasiados archivos subidos

Desplegar desde la raíz del repositorio puede incluir artefactos de compilación de Rust/Python y superar el límite de archivos de Vercel. No despliegues la raíz del repositorio directamente a menos que tengas una estrategia probada de ignorar/archivar. Prefiere los despliegues Git o el despliegue manual/emergencia desde site/ con el restablecimiento temporal del directorio raíz.

www.socai.io sirve 200 en lugar de redirigir

Asegúrate de que el último despliegue de producción incluya la redirección del host en site/vercel.json, luego redepliega. Verifica con:

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

Los metadatos de la última versión de GitHub no están disponibles

El sitio web aún debe mostrar una copia genérica no obsoleta (latest release) y /download debe seguir redirigiendo al activo de la última versión de GitHub.

Informe

Al informar sobre una tarea de despliegue, incluye:

  • Rama/PR si se modificaron archivos del repositorio
  • Configuración del proyecto de Vercel confirmada
  • URL de despliegue y dominio de producción
  • Comandos ejecutados
  • Resumen de salida de verificación para /, /docs/, /docs/quickstart/, www, /download y /github
  • Cualquier bloqueo manual restante, especialmente la integración Git / previsualizaciones de PR

Skills relacionados