Warning
Release Hub is now archived and no longer maintained. It has been redesigned as Revola, a modern plugin-based release system that overcomes the limitations of Release Hub with better extensibility, flexibility, and future-ready architecture. Please migrate to Revola for ongoing updates and support.
Release Hub is a unified command-line toolkit for automating and managing project releases. It provides a consistent, cross-ecosystem workflow for versioning, changelog generation, metadata synchronization, and release automation, all through a single streamlined interface. Designed to be both developer-friendly and CI-ready, Release Hub brings clarity and reliability to release workflows without locking you into any specific platform or ecosystem.
Most release tools are fragmented or tied to a single platform. Release Hub offers a unified, extensible approach that balances automation with manual control while remaining simple and predictable in both local development and CI environments.
- Automated semantic versioning with minimal setup
- Interactive mode for manual release workflows
- Multi-format manifest support
- Automatic version synchronization across all project files
- Custom release hooks for before/after bumps scripts
- Conventional Commit based changelog generation
- Fully CI-friendly for GitHub Actions, GitLab CI, and others
Full documentation is available at teneplaysofficial.github.io
Install release-hub globally to use it anywhere:
npm install -g release-hubThen run:
release-hubYou can install release-hub locally as a dev dependency:
npm i -D release-hubAdd a convenient script to your package.json:
{
"scripts": {
"release": "release-hub"
}
}Run the release command:
npm run releaseRun directly without installing:
npx release-hub- Run
release-hubusing Docker - no Node.js, npm, or global installs required. - This is the recommended way to use Release Hub in CI pipelines or clean environments.
docker pull tenedev/release-hub:latestRun release-hub in the current project directory:
docker run --rm -it \
-v "$(pwd):/workspace" \
-w /workspace \
tenedev/release-hub:latestWhat these flags mean:
--rm- Automatically removes the container after it exits.-it- Enables interactive mode (useful for prompts and CLI output).-v "$(pwd):/workspace"- Mounts your current project into the container.-w /workspace- Sets the working directory inside the container.
You can pass any release-hub command or flag directly:
docker run --rm -it \
-v "$(pwd):/workspace" \
-w /workspace \
tenedev/release-hub:latest <command> [flags]Example:
docker run --rm -it \
-v "$(pwd):/workspace" \
-w /workspace \
tenedev/release-hub:latest -hFor CI environments (GitHub Actions, GitLab CI, etc.), omit -it:
docker run --rm \
-v "$PWD:/workspace" \
-w /workspace \
tenedev/release-hub:latest ciTip
When mounting your project directory into the container, release-hub will update files on your host system.
Use :ro for dry runs.
docker run --rm \
-v "$PWD:/workspace:ro" \
-w /workspace \
tenedev/release-hub:latest ciFor reproducible builds, pin a specific version:
docker run --rm -it \
-v "$(pwd):/workspace" \
-w /workspace \
tenedev/release-hub:1.0.0Note
latest always tracks the newest stable release.
Pin versions in CI for safety.
This project is licensed under the Apache-2.0 License