@jhotadhari/release-kit
v0.0.9
Published
Generic release pipeline for libraries and apps — bumps versions, manages changelogs, publishes to npm and GitHub
Downloads
227
Readme
release-kit
Generic release pipeline for libraries and apps — bumps versions, manages changelogs, publishes to npm and GitHub.
Note: release-kit currently publishes to npm and GitHub Releases only. Play Store and F-Droid publishing are on the roadmap.
Quick start
yarn add --dev @jhotadhari/release-kitCreate a release.config.ts in your project root:
import { defineConfig } from '@jhotadhari/release-kit';
export default defineConfig({
repo: 'https://github.com/your-org/your-repo',
});Create a CHANGELOG.md with an [Unreleased] section:
# Changelog
## [Unreleased]Cut a release:
git checkout development
git checkout -b release/1.2.0
npx release-kit 1.2.0How it works
- Validates — clean tree, correct branch,
[Unreleased]exists, version is higher, typecheck/lint/tests pass - Bumps — version strings in configured files (JSON, Gradle)
- Changelogs — dates and renames
[Unreleased]→ new version - Commits — on the release branch
- Merges — into
main(no-ff), tags, pushes - GitHub Release — from the changelog section
- npm publish — with auto-detected dist-tag for prereleases
- Merges back — into
development - Re-adds — fresh
[Unreleased]section
Run with --dry-run to validate without mutating.
Documentation
- Configuration — full
ReleaseConfigreference - Workflow — branching model and release process
- Version bumping — JSON, Gradle, and versionCode
- CLI reference — arguments, options, env vars
Apps/libraries using @jhotadhari/release-kit
Originally created as part of the release pipeline for straymap and its dependencies, this package was later extracted as a standalone, reusable tool.
