La forma más fácil de publicar nuevas versiones es a través de publicaciones semánticas automáticas. Solo haga commit con el formato de mensaje correcto y haga push, y todo lo demás sucede automáticamente.
Use estos prefijos para controlar qué tipo de publicación ocurre:
fix: resolve CLI argument parsing bug # → publicación patch (4.1.0 → 4.1.1)
feat: add new agent orchestration mode # → publicación minor (4.1.0 → 4.2.0)
feat!: redesign CLI interface # → publicación major (4.1.0 → 5.0.0)Cuando hace push de commits con fix: o feat:, GitHub Actions:
- ✅ Analiza sus mensajes de commit
- ✅ Incrementa la versión en
package.json - ✅ Genera changelog
- ✅ Crea tag de git
- ✅ Publica a NPM automáticamente
- ✅ Crea release de GitHub con notas
# Haga sus cambios
git add .
git commit -m "feat: add team collaboration mode"
git push
# ¡Eso es todo! La publicación sucede automáticamente
# Los usuarios ahora pueden ejecutar: npx aiox-core (y obtener la nueva versión)Estos tipos de commit no crearán publicaciones (úselos para mantenimiento):
chore: update dependencies # Sin publicación
docs: fix typo in readme # Sin publicación
style: format code # Sin publicación
test: add unit tests # Sin publicaciónnpm run release:test # Seguro de ejecutar localmente - prueba la configuraciónnpm run version:patch # 4.1.0 → 4.1.1 (correcciones de errores)
npm run version:minor # 4.1.0 → 4.2.0 (nuevas características)
npm run version:major # 4.1.0 → 5.0.0 (cambios que rompen compatibilidad)
# Luego publique manualmente:
npm publish
git push && git push --tagsTambién puede disparar publicaciones manualmente a través de workflow dispatch de GitHub Actions si es necesario.
Si su merge a main no disparó una publicación:
- Verifique los mensajes de commit - Solo los prefijos
fix:yfeat:disparan publicaciones - Verifique que CI pasó - La publicación solo se ejecuta si lint, typecheck y test pasan
- Revise los logs del workflow - Vaya a Actions → Semantic Release para ver detalles
Problemas comunes y soluciones:
| Error | Solución |
|---|---|
ENOGHTOKEN |
Falta o expiró el secret GITHUB_TOKEN |
ENOPKGAUTH |
Falta o es inválido el secret NPM_TOKEN |
ENOTINHISTORY |
La rama no tiene historial apropiado (use fetch-depth: 0) |
EINVALIDNPMTOKEN |
Regenere el token de NPM con permisos de publicación |
Para hacer merge sin disparar una publicación, use una de estas opciones:
# Método 1: Use prefijo que no dispara publicación
git commit -m "chore: update dependencies"
# Método 2: Agregue [skip ci] al mensaje de commit
git commit -m "feat: new feature [skip ci]"Si la publicación automática falla, puede publicar manualmente:
npm run version:patch # o minor/major
git push && git push --tags
npm publish| Archivo | Propósito |
|---|---|
.releaserc.json |
Configuración de semantic release |
.github/workflows/semantic-release.yml |
Workflow de GitHub Actions |
package.json |
Fuente de versión, scripts de npm |
Última actualización: Story 6.17 - Automatización de Semantic Release