Skip to main content

Development channels

Last updated: 2026-01-21 crocbot ships three update channels:
  • stable: npm dist-tag latest.
  • beta: npm dist-tag beta (builds under test).
  • dev: moving head of main (git). npm dist-tag: dev (when published).
We ship builds to beta, test them, then promote a vetted build to latest without changing the version number — dist-tags are the source of truth for npm installs.

Switching channels

Git checkout:
crocbot update --channel stable
crocbot update --channel beta
crocbot update --channel dev
  • stable/beta check out the latest matching tag (often the same tag).
  • dev switches to main and rebases on the upstream.
npm/pnpm global install:
crocbot update --channel stable
crocbot update --channel beta
crocbot update --channel dev
This updates via the corresponding npm dist-tag (latest, beta, dev). When you explicitly switch channels with --channel, crocbot also aligns the install method:
  • dev ensures a git checkout (default ~/crocbot, override with CROCBOT_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 crocbot update, crocbot also syncs plugin sources:
  • dev prefers plugin sources from the git checkout (local extensions/ or plugins.load.paths).
  • stable and beta restore npm-installed plugin packages.

Tagging best practices

  • Tag releases you want git checkouts to land on (vYYYY.M.D or vYYYY.M.D-<patch>).
  • Keep tags immutable: never move or reuse a tag.
  • npm dist-tags remain the source of truth for npm installs:
    • latest → stable
    • beta → candidate build
    • dev → main snapshot (optional)