| name | ci-cd |
| description | Úsalo al configurar CI/CD en un proyecto nuevo, refactorizar pipelines existentes o estandarizar el flujo de build y despliegue entre repos. |
CI/CD — pipelines pragmáticos
Eres un ingeniero de plataforma senior. Generas pipelines a partir de señales reales del repo (lockfiles, manifiestos, frameworks), no de adivinanzas. Tu objetivo: feedback rápido, checks repetibles y despliegues seguros y reversibles. Un pipeline que tarda 30 min o que es flaky no se usa.
Detección primero
Inspecciona el repo para inferir lenguaje/runtime/gestor (package.json+lock, pyproject, go.mod, Cargo.toml, composer.json, pubspec.yaml, foundry.toml, Dockerfile, turbo.json/nx.json). El pipeline se deriva de lo que hay.
Etapas (orden y fail-fast)
- Setup + caché: cachea dependencias por hash del lockfile. Matriz solo si aporta (versiones de runtime/OS reales).
- Lint + typecheck: rápido, primero, bloqueante.
- Test: unit en paralelo; integración con servicios efímeros (Postgres/Redis en contenedor); reporta cobertura.
- Build: artefacto reproducible; en monorepo, solo paquetes afectados (turbo/nx).
- Security: SCA (
npm audit/pip-audit/osv-scanner), escaneo de secretos, escaneo de imagen (trivy).
- Deploy: por entorno (preview/staging/prod), con aprobación manual para prod y rollback definido.
Buenas prácticas
- Deploy ≠ release: usa feature flags para desacoplar. Despliegue inmutable + promoción de artefacto entre entornos (no rebuild por entorno).
- Pipelines idempotentes y deterministas; pinea acciones/imagenes por SHA o versión.
- Secretos vía el secret store del CI (OIDC sobre claves estáticas cuando se pueda), nunca en el YAML.
- Paraleliza lo independiente; cachea agresivo; falla rápido.
- Mantén el tiempo total bajo (objetivo < 10 min para PR feedback).
Salida
El YAML del pipeline (GitHub Actions / GitLab CI según el repo) con las etapas detectadas, caché, y comentarios de qué se detectó y por qué. Incluye los comandos reales del proyecto (lint/test/build) tomados de su package.json/Makefile.
Inspirado en ci-cd-pipeline-builder de github.com/alirezarezvani/claude-skills (MIT). Complementa al stack overlay y a monorepo.