Guía de buenas prácticas para CULTIVA IA: reemplaza curl sin autenticar por comandos gh en todos los flujos de repositorios privados, PRs, issues y la API REST de GitHub.
Nunca uses curl, wget ni peticiones HTTP directas a raw.githubusercontent.com o a la API de GitHub cuando hay un comando gh equivalente. El CLI gestiona la autenticación automáticamente, evita los límites de rate de la API pública (60 req/h) y funciona con repos privados de cultivaia/* sin configuración extra.
curl -s https://api.github.com/repos/cultivaia/plataforma-agencia/pulls # ⚠ 60 req/h · falla en repos privados · sin formato
gh pr list --repo cultivaia/plataforma-agencia # ✓ autenticado · 5000 req/h · repos privados OK
curl -s https://api.github.com/repos/cultivaia/plataforma-agencia/pulls/42 # Devuelve JSON crudo, sin diff ni comentarios
gh pr view 42 --repo cultivaia/plataforma-agencia # Título, body, reviewers, checks — formateado
curl -s https://raw.githubusercontent.com/cultivaia/skills-arsenal/main/README.md # 404 en repos privados sin token en header
gh api repos/cultivaia/skills-arsenal/contents/README.md --jq '.content' | base64 -d # O clona y lee local: gh repo clone cultivaia/skills-arsenal
curl -X POST -H "Authorization: token $TOKEN" \ https://api.github.com/repos/cultivaia/plataforma-agencia/issues \ -d '{"title":"Bug login"}' # Token expuesto, gestión manual de credencial
gh issue create --repo cultivaia/plataforma-agencia \ --title "Bug login" --body "Falla con SSO" --label "bug" # Sin tokens en shell history · seguro
curl -H "Authorization: Bearer $GH_TOKEN" \ -H "Accept: application/vnd.github+json" \ https://api.github.com/repos/cultivaia/plataforma-agencia/releases # Headers manuales, sin paginación automática
gh api repos/cultivaia/plataforma-agencia/releases --paginate # Headers automáticos · paginación integrada
Revisar el estado del repo y los PRs abiertos cada mañana antes de ponerse a trabajar.
gh repo view cultivaia/plataforma-agencia # Info general: descripción, topics, star, forks gh pr list --repo cultivaia/plataforma-agencia \ --state open --assignee @me # PRs asignados a ti, abiertos gh pr checks --repo cultivaia/plataforma-agencia
Descargar la última versión del arsenal de skills desde el repo privado, sin exponer credenciales.
# Clonar / actualizar arsenal local gh repo clone cultivaia/skills-arsenal \ ~/projects/skills-arsenal # O si ya existe, pull via gh gh api repos/cultivaia/skills-arsenal/git/refs/heads/main \ --jq '.object.sha' # Muestra el SHA del último commit en main
Publicar una nueva versión de un workflow n8n desde CI/CD o desde terminal.
# Crear release con tag gh release create v2.4.0 \ --repo cultivaia/automatizaciones-n8n \ --title "v2.4.0 - Flujo facturación" \ --notes "Nuevo nodo Stripe + Lemon Squeezy" \ ./workflows/facturacion-v2.json # Sube el JSON como asset del release
Crear, asignar y cerrar issues de cliente sin salir del terminal ni abrir el navegador.
# Crear issue etiquetado gh issue create \ --repo cultivaia/plataforma-agencia \ --title "[Cliente] Error en skill SEO audit" \ --label "cliente,bug" --assignee alvarog # Ver issues abiertos filtrados gh issue list --label cliente --state open
cultivaia/*curl ... api.github.comgit pull, git commit)brew install gh # macOS (Homebrew) winget install gh # Windows
gh auth login # → GitHub.com # → HTTPS # → Authenticate with browser
gh auth status # ✓ Logged in to github.com # ✓ Token: ghp_*** # ✓ Token scopes: repo, ...