Files
clawdbot/docs/install/development-channels.md
2026-01-21 06:00:54 +00:00

2.1 KiB
Raw Blame History

summary, read_when
summary read_when
Stable, beta, and dev channels: semantics, switching, and tagging
You want to switch between stable/beta/dev
You are tagging or publishing prereleases

Development channels

Last updated: 2026-01-21

Clawdbot ships three update channels:

  • stable: tagged releases (vYYYY.M.D or vYYYY.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/beta check out the latest matching tag.
  • dev switches to main and 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:

  • dev ensures a git checkout (default ~/clawdbot, override with CLAWDBOT_GIT_DIR), updates it, and installs the global CLI from that checkout.
  • stable/beta installs 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:

  • dev prefers bundled plugins from the git checkout.
  • stable and beta restore npm-installed plugin packages.

Tagging best practices

  • Stable: tag each release (vYYYY.M.D or vYYYY.M.D-<patch>).
  • Beta: use vYYYY.M.D-beta.N (increment N).
  • Keep tags immutable: never move or reuse a tag.
  • Publish dist-tags alongside git tags:
    • latest → stable
    • beta → prerelease
    • dev → main snapshot (optional)

macOS app availability

Beta and dev builds may not include a macOS app release. Thats 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.