ADR
Generated from docs/development.md in
smbcloud-cli . Edit it there.
This repo uses Architecture Decision Record in the adr folder.
Releasing
Releases are automated via GitHub Actions. The full source of truth for the
release process is the smbcloud-cli-release skill under .agents/skills/ — read
it before cutting a release. The short version:
- Prepare the bump on a
release/v<version>branch offdevelopmentwith the Makefile —make patch | minor | major | custom VERSION=<version>. This bumps every workspace crate in lockstep, syncs the npm/PyPI/gem manifests and lockfiles, and commitsRelease <version>. - Once CI is green, merge into
developmentwith--no-ff, then tag ondevelopment:git tag v<version>. - Push both:
git push origin development && git push origin v<version>.
Pushing the v*.*.* tag triggers .github/workflows/release-crate.yml, which
publishes the workspace crates to crates.io and fans out to the npm, PyPI, NuGet,
and Ruby-gem distribution workflows. You do not publish by hand — the tag push
is the trigger.
A local publish (cargo workspaces publish --publish-as-is) exists only as a
fallback for when CI is unavailable; it is not the normal path. See the
smbcloud-cli-release skill for per-channel details, version-sync rules, and
trusted-publishing setup.