2.1 KiB
2.1 KiB
summary, read_when
| summary | read_when | ||
|---|---|---|---|
| Stable, beta, and dev channels: semantics, switching, and tagging |
|
Development channels
Last updated: 2026-01-21
Clawdbot ships three update channels:
- stable: tagged releases (
vYYYY.M.DorvYYYY.M.D-<patch>). npm dist-tag:latest. - beta: prerelease tags (
vYYYY.M.D-beta.N). npm dist-tag:beta. - dev: moving head of
main(git). npm dist-tag:dev(when published).
Switching channels
Git checkout:
clawdbot update --channel stable
clawdbot update --channel beta
clawdbot update --channel dev
stable/betacheck out the latest matching tag.devswitches tomainand rebases on the upstream.
npm/pnpm global install:
clawdbot update --channel stable
clawdbot update --channel beta
clawdbot update --channel dev
This updates via the corresponding npm dist-tag (latest, beta, dev).
When you explicitly switch channels with --channel, Clawdbot also aligns
the install method:
devensures a git checkout (default~/clawdbot, override withCLAWDBOT_GIT_DIR), updates it, and installs the global CLI from that checkout.stable/betainstalls from npm using the matching dist-tag.
Tip: if you want stable + dev in parallel, keep two clones and point your gateway at the stable one.
Plugins and channels
When you switch channels with clawdbot update, Clawdbot also syncs plugin sources:
devprefers bundled plugins from the git checkout.stableandbetarestore npm-installed plugin packages.
Tagging best practices
- Stable: tag each release (
vYYYY.M.DorvYYYY.M.D-<patch>). - Beta: use
vYYYY.M.D-beta.N(incrementN). - Keep tags immutable: never move or reuse a tag.
- Publish dist-tags alongside git tags:
latest→ stablebeta→ prereleasedev→ main snapshot (optional)
macOS app availability
Beta and dev builds may not include a macOS app release. That’s OK:
- The git tag and npm dist-tag can still be published.
- Call out “no macOS build for this beta” in release notes or changelog.