Help us improve
Share bugs, ideas, or general feedback.
From boxel-cli
Sync files between local disk and a Boxel realm using push, pull, bidirectional sync, or continuous watch. Also create, remove, and list realms.
npx claudepluginhub cardstack/boxel --plugin boxel-cliHow this skill is triggered — by the user, by Claude, or both
Slash command
/boxel-cli:realm-syncThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Wraps the `boxel realm` subcommands that move data between a local directory and a realm on the realm server. Pick the right verb for the direction:
Reads, writes, lists, deletes, lints, and force-reindexes single files in a Boxel realm by URL without a full sync.
Automates Box cloud storage: upload/download files, content search, folder management, sharing, collaborations, metadata queries via Rube MCP (Composio).
Automates Box operations like file upload/download, content search, folder management, collaboration, metadata queries, and sign requests using Composio's toolkit.
Share bugs, ideas, or general feedback.
Wraps the boxel realm subcommands that move data between a local directory and a realm on the realm server. Pick the right verb for the direction:
push — local → remote. Deploy local edits to the realm.pull — remote → local. Download a realm into a directory.sync — bidirectional. Reconcile both sides; needs a --prefer-* flag when there are conflicts.watch — remote → local, continuous. Long-running poller; pulls remote changes into the local directory as they happen.create — provision a new realm on the realm server.remove — delete a realm and unlink it from the active profile.list — see realms the active profile can access.| Ask | Run |
|---|---|
| "push my changes" / "deploy" | boxel realm push <local-dir> <realm-url> |
| "download a realm" / "pull it locally" | boxel realm pull <realm-url> <local-dir> |
| "sync" / "keep them in lockstep" | boxel realm sync <local-dir> <realm-url> --prefer-newest (or --prefer-local / --prefer-remote) |
| "watch the realm" / "live-mirror remote changes locally" | boxel realm watch <realm-url> <local-dir> |
| "make a new realm" | boxel realm create <realm-name> <display-name> |
| "delete this realm" / "remove a realm" | boxel realm remove <realm-url> |
| "what realms do I have access to" | boxel realm list |
A profile must be active. If boxel profile list shows none, the user has to run boxel profile add first — see /boxel-cli:profile.
sync accepts conflict-resolution flags (one at a time):
--prefer-local — local content wins on conflict.--prefer-remote — remote content wins on conflict.--prefer-newest — pick whichever side has the newer mtime. Usually the safest "stay in sync" choice.--delete — propagate deletions both ways (destructive — pair with a checkpoint).--dry-run — preview without writing. Good for first-time runs.push and pull have their own --delete and --dry-run flags but no --prefer-* flags (they're one-directional). When in doubt, dry-run first.
Generated from the boxel-cli Commander tree by pnpm build:plugin. Edit prose outside the generated block — never inside it.
boxel realm sync <local-dir> <realm-url>Bidirectional sync between a local directory and a Boxel realm
Arguments:
<local-dir> — The local directory to sync<realm-url> — The URL of the target realm (e.g., https://app.boxel.ai/demo/)Options:
--prefer-local — Resolve conflicts by keeping local version--prefer-remote — Resolve conflicts by keeping remote version--prefer-newest — Resolve conflicts by keeping newest version--delete — Sync deletions both ways--dry-run — Preview without making changes--realm-secret-seed — Administrative auth: prompt for a realm secret seed and mint a JWT locally instead of using a Matrix profile (env: BOXEL_REALM_SECRET_SEED)boxel realm watch <realm-url> <local-dir>Watch a Boxel realm for server-side changes and pull them into a local directory
Arguments:
<realm-url> — The URL of the realm to watch (e.g., https://app.boxel.ai/demo/)<local-dir> — The local directory to write changes intoOptions:
-i, --interval <seconds> — Polling interval in seconds-d, --debounce <seconds> — Seconds to wait after a burst of changes before applying them--realm-secret-seed — Administrative auth: prompt for a realm secret seed and mint a JWT locally instead of using a Matrix profile (env: BOXEL_REALM_SECRET_SEED)boxel realm push <local-dir> <realm-url>Push local files to a Boxel realm
Arguments:
<local-dir> — The local directory containing files to sync<realm-url> — The URL of the target realm (e.g., https://app.boxel.ai/demo/)Options:
--delete — Delete remote files that do not exist locally--dry-run — Show what would be done without making changes--force — Upload all files, even if unchanged--realm-secret-seed — Administrative auth: prompt for a realm secret seed and mint a JWT locally instead of using a Matrix profile (env: BOXEL_REALM_SECRET_SEED)boxel realm pull <realm-url> <local-dir>Pull files from a Boxel realm to a local directory
Arguments:
<realm-url> — The URL of the source realm (e.g., https://app.boxel.ai/demo/)<local-dir> — The local directory to sync files toOptions:
--delete — Delete local files that do not exist in the realm--dry-run — Show what would be done without making changes--realm-secret-seed — Administrative auth: prompt for a realm secret seed and mint a JWT locally instead of using a Matrix profile (env: BOXEL_REALM_SECRET_SEED)boxel realm create <realm-name> <display-name>Create a new realm on the realm server
Arguments:
<realm-name> — realm name (lowercase, numbers, hyphens only)<display-name> — display name for the realmOptions:
--background <url> — background image URL--icon <url> — icon image URLboxel realm remove <realm-url>Remove a realm — deletes server-side files and unlinks it from your realm list
Arguments:
<realm-url> — realm URL to removeOptions:
-y, --yes — Skip the interactive confirmation prompt--dry-run — Preview the change without writing to Matrixboxel realm listList realms accessible to the active profile
Options:
--json — Output JSON--all-accessible — Show all accessible realms, including hidden ones--hidden — Show only realms not in the user's UI realm listboxel realm push --delete will remove remote files that don't exist locally. Confirm the user intends destructive sync before adding the flag.<realm-url> argument is the realm's base URL (https://app.boxel.ai/owner/realm/), not a card URL inside the realm. If the user pastes a card URL, strip the path back to the realm root.boxel realm create, follow up with boxel realm wait-for-ready (see /boxel-cli:realm-history).