6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
34 lines
2.7 KiB
JSON
Executable File
34 lines
2.7 KiB
JSON
Executable File
{
|
||
"title": "Development channels",
|
||
"content": "Last updated: 2026-01-21\n\nOpenClaw ships three update channels:\n\n* **stable**: npm dist-tag `latest`.\n* **beta**: npm dist-tag `beta` (builds under test).\n* **dev**: moving head of `main` (git). npm dist-tag: `dev` (when published).\n\nWe ship builds to **beta**, test them, then **promote a vetted build to `latest`**\nwithout changing the version number — dist-tags are the source of truth for npm installs.\n\n## Switching channels\n\n* `stable`/`beta` check out the latest matching tag (often the same tag).\n* `dev` switches to `main` and rebases on the upstream.\n\nnpm/pnpm global install:\n\nThis updates via the corresponding npm dist-tag (`latest`, `beta`, `dev`).\n\nWhen you **explicitly** switch channels with `--channel`, OpenClaw also aligns\nthe install method:\n\n* `dev` ensures a git checkout (default `~/openclaw`, override with `OPENCLAW_GIT_DIR`),\n updates it, and installs the global CLI from that checkout.\n* `stable`/`beta` installs from npm using the matching dist-tag.\n\nTip: if you want stable + dev in parallel, keep two clones and point your gateway at the stable one.\n\n## Plugins and channels\n\nWhen you switch channels with `openclaw update`, OpenClaw also syncs plugin sources:\n\n* `dev` prefers bundled plugins from the git checkout.\n* `stable` and `beta` restore npm-installed plugin packages.\n\n## Tagging best practices\n\n* Tag releases you want git checkouts to land on (`vYYYY.M.D` or `vYYYY.M.D-<patch>`).\n* Keep tags immutable: never move or reuse a tag.\n* npm dist-tags remain the source of truth for npm installs:\n * `latest` → stable\n * `beta` → candidate build\n * `dev` → main snapshot (optional)\n\n## macOS app availability\n\nBeta and dev builds may **not** include a macOS app release. That’s OK:\n\n* The git tag and npm dist-tag can still be published.\n* Call out “no macOS build for this beta” in release notes or changelog.",
|
||
"code_samples": [
|
||
{
|
||
"code": "* `stable`/`beta` check out the latest matching tag (often the same tag).\n* `dev` switches to `main` and rebases on the upstream.\n\nnpm/pnpm global install:",
|
||
"language": "unknown"
|
||
}
|
||
],
|
||
"headings": [
|
||
{
|
||
"level": "h2",
|
||
"text": "Switching channels",
|
||
"id": "switching-channels"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Plugins and channels",
|
||
"id": "plugins-and-channels"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Tagging best practices",
|
||
"id": "tagging-best-practices"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "macOS app availability",
|
||
"id": "macos-app-availability"
|
||
}
|
||
],
|
||
"url": "llms-txt#development-channels",
|
||
"links": []
|
||
} |