Skip to content

goosewobbler/releasekit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ReleaseKit

License: MIT

Lightweight, composable release tooling for JavaScript and Rust projects. Built on conventional commits and designed for CI/CD pipelines.

Packages

Package Version Description
@releasekit/release npm Unified CLI — run version, notes, and publish in a single command
@releasekit/version npm Semantic versioning based on Git history and conventional commits
@releasekit/notes npm Changelog generation with LLM-powered enhancement and flexible templating
@releasekit/publish npm Publish packages to npm and crates.io with git tagging and GitHub releases
@releasekit/config (internal) Shared config loading and schema validation
@releasekit/core (internal) Shared types and utilities

Features

  • Conventional Commits — automatically derives the next semver bump from commit history
  • Monorepo support — versions packages independently or in sync, with per-package git tags
  • JavaScript + Rust — handles package.json and Cargo.toml side by side
  • CI/CD first — JSON output mode for scriptable pipelines; OIDC-based npm publishing
  • LLM-enhanced changelogs — optional AI summarisation via Anthropic, OpenAI, or local models
  • Composable — use each tool independently or pipe them together

Usage

Unified release (recommended)

# Preview the full release pipeline
releasekit release --dry-run

# Run a full release: version, changelog, and publish
releasekit release

# Skip changelog generation
releasekit release --skip-notes

# Force a patch bump
releasekit release --bump patch

Composable tools

Each tool can also be used independently or piped together:

# Preview changes (dry run)
releasekit-version --dry-run --json

# Run version once, use output for both notes and publish
output=$(releasekit-version --json)
echo "$output" | releasekit-notes
echo "$output" | releasekit-publish

# Changelog-only (no publishing)
releasekit-version --json | releasekit-notes

# Publish-only (no changelog)
releasekit-version --json | releasekit-publish

See the package READMEs for full CLI reference.

Documentation

Development

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Lint and typecheck
pnpm lint
pnpm typecheck

See CONTRIBUTING.md for the full development guide.

License

MIT

About

Lightweight, composable release tooling for JavaScript and Rust projects. Built on conventional commits and designed for CI/CD pipelines.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors