Skip to main content

Introduction

Welcome to Universal Release - a plugin-based release automation system supporting multiple package ecosystems through a unified interface.

What is Universal Release?​

Universal Release is a production-grade universal release automation tool leveraging Bun's full native capability stack for maximum performance, security, and extensibility.

Key Features​

  • Multi-Ecosystem Publishing: Support for npm, Cargo, Docker, Python, Go, and more
  • Bun-Native Performance: 4-20x faster than traditional tools
  • Security First: OS-level encrypted credential storage
  • Type-Safe: Full TypeScript with strict mode
  • Monorepo Support: Coordinated releases across multiple packages

Quick Start​

Installation​

bun install -g @universal/release

Basic Usage​

# Initialize configuration
release init

# Publish your package
release publish

# Dry run (test without publishing)
release publish --dry-run

Your First Release​

  1. Create a .release.yaml configuration file:
version: 1
global:
versionScheme: semantic
commitConvention: conventional-commits
ecosystems:
npm:
enabled: true
validation:
build: true
test: true
  1. Store your credentials securely:
release secrets set NPM_TOKEN
  1. Publish your package:
release publish

Supported Ecosystems​

EcosystemStatusRollback Support
npm/pnpm/yarnβœ… Productionβœ… deprecate
Cargo (Rust)βœ… Productionβœ… yank
Docker/OCIβœ… Production❌
Python/PyPIβœ… Production❌
Go Modulesβœ… Production❌
JSR🚧 Planned🚧
RubyGems🚧 Planned🚧
NuGet🚧 Planned🚧

Next Steps​