release-kit

Flutter release toolkit — automatic version management + multi-platform packaging, unified config, reusable by any Flutter project.

Flutter Platform License pub.dev

English | 简体中文

Sponsor me on GitHub


release-kit — a Dart CLI package (on pub.dev) that versions bump automatically on git commit, drives every platform from one release-kit.yaml, and builds Windows / Android / macOS / Linux / iOS with one command.

Full usage manual: docs/GUIDE.md · pub.dev: release_kit


Features

  • Auto version bumpgit commit increments pubspec.yaml
  • One flat configrelease-kit.yaml shared by all platforms
  • One command packaging — Windows / Android / macOS / Linux / iOS
  • Auto launcher icons — one app.logo image → all platform icons

Quick Start

# 1. install (Dart CLI, from pub.dev)
dart pub global activate release_kit

# 2. your Flutter project
cd /path/to/myapp

# 3. one step: config + hook
release-kit init

# 4. build & package
release-kit publish android

Alternative — git clone (ship the tool with your repo):

git clone <release-kit-repo> tools/release-kit
tools/release-kit/release-kit.sh init
tools/release-kit/release-kit.sh publish android

Windows? Use release-kit.ps1 instead of release-kit.sh:

.\tools\release-kit\release-kit.ps1 init
.\tools\release-kit\release-kit.ps1 publish windows --obfuscate

Commands

Command Description
release-kit init copy release-kit.yaml template + install hook
release-kit publish <platform> build & package (windows / android / macos / linux / ios)
release-kit bump [--build-only] auto-increment the version in pubspec.yaml from staged changes

Add -p <project-root> (anywhere in the args) to target another project from any directory:

release-kit publish android --obfuscate -p /path/to/myapp

Key flags

Platform Flags
windows --obfuscate --skip-build --no-rename --harden --clean-flutter --skip-verify --output-dir
android --apk / --aab --skip-build --obfuscate
linux --skip-build --obfuscate --deb --rpm --appimage
ios --skip-build --obfuscate --export-method --no-codesign
macos --skip-build --obfuscate

All platforms share the same double-dash long-flag spelling. All platforms accept --no-icons and -p <project-root>.

Detailed per-flag descriptions for every platform: docs/GUIDE.md → Packaging.


License

MIT License — see LICENSE.

Libraries

release_kit
release-kit — Flutter release toolkit CLI.