This document outlines the manual release process for @runloop/rl-cli.
- Ensure you have npm access to publish to the
@runlooporganization - Ensure your local repository is clean and up to date with
main - Ensure all tests pass and the build succeeds
Choose the appropriate version bump based on your changes:
# For bug fixes and minor changes
npm run version:patch
# For new features (backward compatible)
npm run version:minor
# For breaking changes
npm run version:majorThis will:
- Update the version in
package.json - Create a git commit with the version bump
- Create a git tag for the new version
Push the version commit and tag to GitHub:
git push origin improvements --follow-tagsBuild and publish the package to npm:
npm run releaseThis will:
- Run the TypeScript compiler to build the project
- Publish the package to npm
Verify the package was published successfully:
npm view @runloop/rl-cli versionCreate a GitHub release for the new version:
- Go to https://github.com/runloop/rl-cli-node/releases
- Click "Draft a new release"
- Select the tag you just pushed
- Add release notes describing the changes
- Publish the release
npm run version:patch- Bump patch version (e.g., 0.0.2 → 0.0.3)npm run version:minor- Bump minor version (e.g., 0.0.2 → 0.1.0)npm run version:major- Bump major version (e.g., 0.0.2 → 1.0.0)npm run release- Build and publish to npm
If you get authentication errors when publishing:
npm loginFollow the prompts to log in to your npm account.
If the build fails, fix the errors and run:
npm run buildIf you need to revert a release:
# Deprecate the version on npm (doesn't unpublish)
npm deprecate @runloop/rl-cli@<version> "Reason for deprecation"
# Revert the git commit and tag locally
git reset --hard HEAD~1
git tag -d v<version>
git push origin :refs/tags/v<version>Note: You cannot unpublish a package version after 72 hours. Use deprecation instead.
- The
prepublishOnlyscript automatically runsnpm run buildbefore publishing - The version is automatically read from
package.jsonand displayed in the CLI - Make sure to update the changelog or release notes with each version