Skip to main content

Usage

This project can be used as you wish, local, remote, on CI and/or at VPS. Everywhere it works on same logic as you provide same credentials

Requirements

See Getting Started page if you didn't read See Configuration See Plugins

  • bash version v5+ for best reliability
  • Make sure you have write access
  • Make sure you have ACCESS TOKEN with write access

Preparation

  • Add .release-me to .gitignore
  • Add your .gitignore to commit
  • Push into remote

Commands

Bash (Terminal)
git clone https://github.com/dalisoft/release-me.git --depth 1 .release-me
bash .release-me/release.sh --plugins=git,github-release --preset=conventional-commits

Options

Quick summary

NameDescriptionDefaultRequired
dry-runShow only actions on logsfalseNo
verboseVerbose logstrue on CINo
quietQuiet logsfalseNo
workspaceReleases every projects on workspacefalseNo
use-versionUse project version from manifest. Requires workspace and a valid manifestfalseNo
stableIf project current version is 0.x, it will bump to 1.xfalseNo
pre-releasePublish this project as non-production readyfalseNo
presetPresets compatibility, see Presetsconventional-commitsNo
pluginsPlugins compatibility, see PluginsgitNo

dry-run

  • Shorthand: -d
  • Default: -
  • Type: boolean
  • Requires: No
  • Values: only key
  • Example: release-me --dry-run or release-me -d
  • Used by: all plugins and preset

When option is set, all plugins (made by author plugins only) works as a see what happens before acting. Does not take actions, just shows what actions could be done when removing this flag. You can combine this method with verbose or quiet mode to get desired results

verbose

warning

On CI it's always set under the hood for debugging purposes

  • Default: -
  • Type: boolean
  • Requires: No
  • Values: only key
  • Example: release-me --verbose
  • Used by: all plugins and preset

When option is set, you get more logs and information about the process and what actions are currently processing or will be on dry-run mode

quiet

  • Shorthand: -q
  • Default: -
  • Type: boolean
  • Requires: No
  • Values: only key
  • Example: release-me --quiet or release-me -q
  • Used by: all plugins and preset

When option is set, you get less logs and information about the process and what actions are currently processing or will be on dry-run mode

workspace

tip

This option works best with pnpm package manager

  • Shorthand: -w
  • Default: -
  • Type: boolean
  • Requires: Yes on workspace projects
  • Values: only key
  • Example: release-me --workspace or release-me -w
  • Used by: workspace preset

This mode allows you release entire workspace projects without hassle or headache with same speed and easy-of-use you love.

use-version

warning

This method will work when using with workspace option used to avoid confusion as in monorepo/workspaces can be either many git tags or no tags

  • Default: -
  • Type: boolean
  • Requires: No
  • Values: only key
  • Example: release-me --use-version
  • Used by: workspace preset

This option makes your last version fetch from manifest (like package.json) instead of Git tags.

Useful for such cases whereas many git tags or no tags

stable

tip

This is useful for early stage projects, Cargo projects, Bash libraries or projects

  • Default: -
  • Type: boolean
  • Requires: No
  • Values: only key
  • Example: release-me --stable
  • Used by: github-release plugins

This option helps you switch from alpha release to stable release easier than ever or allows you use stable version at start.

info

This option runs this project same behavior as semantic-release works, so you can use option as drop-in replacement for semantic-release

pre-release

tip

This is useful for early stage projects, Cargo projects, Bash libraries or projects like stable option but does opposite action

  • Default: -
  • Type: boolean
  • Requires: No
  • Values: only key
  • Example: release-me --pre-release
  • Used by: github-release plugins

This option helps you keep your project as alpha release easier than ever or allows you use pre-release versions.

preset

  • Default: conventional-commits
  • Type: string
  • Requires: Yes
  • Values: one of Presets
  • Example: release-me --preset=workspace
  • Used by: Core features

plugins

  • Default: git
  • Type: string
  • Requires: Yes
  • Values: String of Array of Plugins
  • Example: release-me --plugins=npm-post,npm,git,github-release
  • Used by: Core features