Skip to main content

Runebox sync — Claude Code plugin + standalone CLI

Your team's Runebox registry, kept in sync on every engineer's machine: log in once with an API key and your org's approved skills, agents, and commands install and stay current — on Claude Code, Codex CLI, Cursor, or Gemini CLI. One sync core (scripts/sync.py, stdlib-only) ships two ways:

  • On Claude Code — the plugin below, with a SessionStart hook.
  • Everywhere else — the same script as a standalone runebox-sync CLI via pipx/uvx. No Claude Code required.

Install — Claude Code plugin

claude plugin marketplace add runebox-ai/runebox-plugin
claude plugin install runebox
/runebox:login

/runebox:login asks for your org's API key (starts with rbx_; your admin creates it on the org's Get set up page at runebox.ai), verifies it, auto-detects which harnesses you have installed, and syncs the whole approved catalog in one shot.

Install — standalone CLI (Codex, Cursor, Gemini CLI)

pipx install runebox-sync   # or: uvx runebox-sync login
printf '%s' "rbx_yourkey" | runebox-sync login

Same key as the plugin path — an engineer on Codex/Cursor/Gemini CLI never touches Claude Code at all. Add runebox-sync autosync to your shell profile so it keeps syncing on every new shell (there's no SessionStart hook outside Claude Code):

runebox-sync autosync --apply

Commands

Plugin (/runebox:…) Standalone CLI (runebox-sync …) What it does
/runebox:login login Connect and install the approved catalog for every detected harness
/runebox:sync sync [--quiet] Sync now (the plugin also runs this automatically at session start)
/runebox:status status Show connected orgs and per-harness inventory
harness enable|disable <name> Turn a harness (claude/codex/cursor/gemini) on or off; disabling uninstalls just that harness's files
autosync [--apply] Print (or append) a shell-profile snippet that keeps non-Claude harnesses synced
/runebox:logout logout [--remove] Disconnect (optionally remove everything it installed)

How sync works

  • Per org, per enabled harness: one conditional GET against the org catalog. Nothing changed → a cheap 304 and zero output. Something changed → it installs/updates/removes and prints one line. A skill installs identically to every harness (the open SKILL.md format); a command's filename/location differs per harness; agents/output styles/claude_md stay Claude Code-only for now.
  • Every file it installs is tracked in a local manifest, per (org, harness). It only ever touches files it installed itself — never your own skills or settings.
  • When an admin yanks a bad version, the next sync removes it from your machine. When your key is revoked, sync stops with a single notice.
  • Adding a harness the server can target requires a client release (a new allowlisted install root) — a compromised server can't write anywhere new.

Requirements

  • python3 on PATH — the sync script is stdlib-only, no dependencies, works standalone or as a Claude Code plugin.

Security notes

  • API keys are read from stdin at login (never passed as a CLI argument) and stored in ~/.runebox/credentials.json with 0600 permissions.
  • Install paths from the server are validated client-side against a per-harness roots allowlist — a hostile path can't escape those directories, and an unrecognized root name is rejected outright.
  • Sync failures never block your session; the hook (and --quiet sync) exits quietly.

Runebox is a private, governed artifact registry for teams using AI coding agents — publish once, scan + review every version, and every engineer's tools stay in sync, whichever harness they run. Free for teams up to 5 seats at runebox.ai.

Release files for runebox-sync 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runebox-sync 0.2.1
File Size Uploaded
runebox_sync-0.2.1.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runebox-sync 0.2.1
File Interpreter ABI Platform
runebox_sync-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.8 kB

Release files / runebox_sync-0.2.1.tar.gz

Download URL runebox_sync-0.2.1.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
64298e675cbdb7e81c3238c7a9c004ea595038174df0ea8caa6efd1f475253bf
BLAKE2b-256 checksum
How to use checksums
391e89e887fdce56ef7bd5dee8fb797932d058a434d074ef8897d197759faf54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / runebox_sync-0.2.1-py3-none-any.whl

Download URL runebox_sync-0.2.1-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c50765ee1ef4196b94e0d1fefcae57687ac576fb43bd6bf7b615ad4693bc0389
BLAKE2b-256 checksum
How to use checksums
4e578e59cbb1c4f2ca16e72247d870f1810e0453abf841a82d516ca5696d7761
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page