Devver Docs

Release Process

How releases are created, versioned, and distributed.

Releases are fully automated via GitHub Actions. You do not need to manually bump version numbers or tag commits.

Automated flow

  1. Commits merged to main are analysed by release-please.
  2. release-please opens (or updates) a Release PR that bumps the version in package.json and updates CHANGELOG.md.
  3. When the Release PR is merged, a GitHub release is created automatically.
  4. The release workflow compiles binaries for all platforms and:
    • Attaches them to the GitHub release.
    • Publishes the package to npm.
    • Updates the Homebrew tap formula (if configured).

Version bumping rules

Versions follow Semantic Versioning:

Commit typeVersion bump
fix, perf, refactorPatch (0.0.x)
featMinor (0.x.0)
Any type with ! or BREAKING CHANGE footerMajor (x.0.0)

Binary targets

Each release produces binaries for:

PlatformArchitecture
macOSApple Silicon (arm64)
macOSIntel (x64)
Linuxx86_64
LinuxARM64
Windowsx86_64

Required GitHub secrets

SecretPurpose
NPM_TOKENAutomation token from npmjs.com for publishing

Manual emergency release

If automation is unavailable:

npm version patch   # or minor / major
git commit -m "chore(release): v$(node -p 'require(\"./package.json\").version')"
git tag "v$(node -p 'require(\"./package.json\").version')"
git push origin main --tags

Homebrew tap

To enable automatic Homebrew updates, create a homebrew-tap repository under your GitHub organisation. The release workflow will push updated formula files to it automatically.

On this page