Example configurations for common use cases.
| Example | Description |
|---|---|
| simple-npm | Single NPM package with auto-detection |
| monorepo | NPM monorepo with multiple packages |
| rust-crate | Rust crate published to crates.io |
| python-package | Python package published to PyPI |
| go-module | Go module with git tag versioning |
| docker-image | Docker image with multi-arch builds |
| multi-ecosystem | Rust + Node.js bindings |
- Choose an example that matches your project
- Copy the
.github/folder to your repo - Add required secrets (see each example's README)
- Create PR labels in your repo:
release:majorrelease:minorrelease:patchrelease:skiprelease:alpha(optional)release:beta(optional)release:rc(optional)
All examples use this pattern:
- Push to main: Creates dev release (e.g.,
v1.0.0-dev.ml2fz8yd) - Monday 9:00 UTC: Creates stable release (e.g.,
v1.0.0) - Manual trigger: Choose stable or dev
For projects that need alpha/beta/rc releases:
- Add
release:minor+release:alphalabels to PR - Merge → creates
v1.1.0-alpha.ml2fz8yd - Continue development
- Add
release:betalabel to next PR - Merge → creates
v1.1.0-beta.ml2fz8yd - Add
release:rclabel when ready - Merge → creates
v1.1.0-rc.ml2fz8yd - Wait for Monday (or manual trigger) → creates
v1.1.0
Open an issue on the release-pilot repository.