openclaw/scripts
Daniel Olshansky 31f616d45b
feat: `ClawDock` - shell docker helpers for OpenClaw development (#12817)
Discussion: https://github.com/openclaw/openclaw/discussions/13528

## Checklist

- [x] **Mark as AI-assisted in the PR title or description** - Implemented by 🤖, reviewed by 👨‍💻 
- [x] **Note the degree of testing** - fully tested and I use it myself
- [x] **Include prompts or session logs if possible (super helpful!)** - I can try doing a "resume" on a few sessions, but don't think it'll provide value. Lmk if this is a blocker.
- [x] **Confirm you understand what the code does** - It's simple :)

## Summary of changes

- **ClawDock** - Shell helpers replace verbose `docker-compose` commands with simple `clawdock-*` shortcuts
- **Zero-config setup** - First run auto-detects the OpenClaw project directory from common paths and saves the config for future use
- **No extra dependencies** - Just bash
- **Built-in auth & device pairing helpers** - `clawdock-fix-token`, `clawdock-dashboard`, etc to handle gateay setup, streamline web UI, etc...
- **Updated Docker docs** - Installation docs now include the optional ClawDock helper setup for users who want simplified container management

## Example Usage

```bash
$ clawdock-help

🦞 ClawDock - Docker Helpers for OpenClaw

 Basic Operations
  clawdock-start       Start the gateway
  clawdock-stop        Stop the gateway
  clawdock-restart     Restart the gateway
  clawdock-status      Check container status
  clawdock-logs        View live logs (follows)

🐚 Container Access
  clawdock-shell       Shell into container (openclaw alias ready)
  clawdock-cli         Run CLI commands (e.g., clawdock-cli status)
  clawdock-exec <cmd>  Execute command in gateway container

🌐 Web UI & Devices
  clawdock-dashboard   Open web UI in browser (auto-guides you)
  clawdock-devices     List device pairings (auto-guides you)
  clawdock-approve <id> Approve device pairing (with examples)

⚙️  Setup & Configuration
  clawdock-fix-token   Configure gateway token (run once)

🔧 Maintenance
  clawdock-rebuild     Rebuild Docker image
  clawdock-clean       ⚠️  Remove containers & volumes (nuclear)

🛠️  Utilities
  clawdock-health      Run health check
  clawdock-token       Show gateway auth token
  clawdock-cd          Jump to openclaw project directory
  clawdock-config      Open config directory (~/.openclaw)
  clawdock-workspace   Open workspace directory

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 First Time Setup
  1. clawdock-start          # Start the gateway
  2. clawdock-fix-token      # Configure token
  3. clawdock-dashboard      # Open web UI
  4. clawdock-devices        # If pairing needed
  5. clawdock-approve <id>   # Approve pairing

💬 WhatsApp Setup
  clawdock-shell
    > openclaw channels login --channel whatsapp
    > openclaw status

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

💡 All commands guide you through next steps!
📚 Docs: https://docs.openclaw.ai
```\n\nCo-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-02-10 16:04:41 -05:00
..
dev Gateway/Plugins: device pairing + phone control plugins (#11755) 2026-02-08 18:07:13 +01:00
docker chore: apply local workspace updates (#9911) 2026-02-05 16:54:44 -05:00
docs-i18n Docs i18n: make translation prompt language-pluggable 2026-02-08 10:18:04 -08:00
e2e fix(docker): support .mjs entrypoints in images and e2e 2026-02-07 00:22:34 -08:00
pre-commit chore: stabilize prek hooks runner selection (#1720) (thanks @dguido) 2026-01-25 10:55:28 +00:00
repro fix: run cli scripts via node build runner 2026-01-18 18:43:39 +00:00
shell-helpers feat: `ClawDock` - shell docker helpers for OpenClaw development (#12817) 2026-02-10 16:04:41 -05:00
systemd refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
analyze_code_files.py Improve code analyzer for independent packages, CI: only run release-check on push to main 2026-02-09 19:57:13 -08:00
auth-monitor.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
bench-model.ts chore: apply local workspace updates (#9911) 2026-02-05 16:54:44 -05:00
build-and-run-mac.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
build-docs-list.mjs chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
build_icon.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
bundle-a2ui.sh Docker: include A2UI sources for bundle (#13114) 2026-02-09 22:44:59 -06:00
canvas-a2ui-copy.ts chore: Also format `scripts` and `skills`. 2026-01-31 21:21:25 +09:00
changelog-to-html.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
check-ts-max-loc.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
claude-auth-status.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
clawlog.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
clawtributors-map.json 🤖 Feishu: expand channel support 2026-02-05 12:29:04 -08:00
codesign-mac-app.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
committer chore: block node_modules commits 2026-01-18 22:28:59 +00:00
copy-hook-metadata.ts fix: all bundled hooks broken since 2026.2.2 (tsdown migration) (#9295) 2026-02-09 11:35:47 +09:00
create-dmg.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
debug-claude-usage.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
docs-link-audit.mjs fix: docs broken links and improve link checker (#13056) 2026-02-09 18:45:06 -08:00
docs-list.js chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
firecrawl-compare.ts chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
ios-team-id.sh chore(ios): add team id helper 2025-12-26 18:16:13 +01:00
make_appcast.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
mobile-reauth.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
notarize-mac-artifact.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
package-mac-app.sh fix: Fix Mac app build step. 2026-02-03 22:14:11 +09:00
package-mac-dist.sh chore: add mac dSYM zip to release artifacts 2026-02-03 17:15:02 -08:00
protocol-gen-swift.ts chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
protocol-gen.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
readability-basic-compare.ts chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
release-check.ts fix(docker): support .mjs entrypoints in images and e2e 2026-02-07 00:22:34 -08:00
restart-mac.sh Switch from TypeScript to TypeScript Go. Use `pnpm tsgo` for Typechecks. 2026-01-31 15:33:15 +09:00
run-node.mjs Update: harden control UI asset handling in update flow (#10146) 2026-02-06 01:14:00 -05:00
sandbox-browser-entrypoint.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
sandbox-browser-setup.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
sandbox-common-setup.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
sandbox-setup.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
setup-auth-system.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
sqlite-vec-smoke.mjs chore: Also format `scripts` and `skills`. 2026-01-31 21:21:25 +09:00
sync-labels.ts chore: Also format `scripts` and `skills`. 2026-01-31 21:21:25 +09:00
sync-moonshot-docs.ts Docs: fix Moonshot sync markers (#6789) 2026-02-02 03:38:14 +01:00
sync-plugin-versions.ts chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
termux-auth-widget.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
termux-quick-auth.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
termux-sync-widget.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
test-cleanup-docker.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
test-force.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
test-install-sh-docker.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
test-install-sh-e2e-docker.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
test-live-gateway-models-docker.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
test-live-models-docker.sh refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
test-parallel.mjs fix: context overflow compaction and subagent announce improvements (#11664) (thanks @tyler6204) 2026-02-07 20:02:32 -08:00
test-shell-completion.ts scripts: update test-shell-completion to use shared helpers 2026-02-04 19:51:06 +00:00
ui.js chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
update-clawtributors.ts chore: Enable `typescript/no-explicit-any` rule. 2026-02-02 16:18:09 +09:00
update-clawtributors.types.ts feat: add prek pre-commit hooks and dependabot (#1720) 2026-01-25 10:53:23 +00:00
watch-node.mjs chore: Migrate to tsdown, speed up JS bundling by ~10x (thanks @hyf0). 2026-02-03 20:18:16 +09:00
write-build-info.ts chore: Enable linting in `scripts`. 2026-01-31 21:29:14 +09:00
write-cli-compat.ts fix(build): support daemon-cli .mjs bundles in compat shim 2026-02-07 00:22:34 -08:00
write-plugin-sdk-entry-dts.ts fix(build): unblock pnpm build dts 2026-02-06 18:43:11 -08:00
zai-fallback-repro.ts chore: apply local workspace updates (#9911) 2026-02-05 16:54:44 -05:00