Skip to main content

Standalone sync client for the Runebox registry — no Claude Code required. Keeps your team's approved skills, agents, and commands installed and current on Claude Code, Codex CLI, Cursor, and Gemini CLI.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runebox_sync-0.2.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runebox_sync-0.2.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file runebox_sync-0.2.0.tar.gz.

File metadata

  • Download URL: runebox_sync-0.2.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for runebox_sync-0.2.0.tar.gz
Algorithm Hash digest
SHA256 17887f4515a9346509a8e4203c79883437db4fe72d0d1a3bbb0b50fd0f586948
MD5 9411d23faedb1b5cddc038844443acc1
BLAKE2b-256 25db3412e9be22f28e38fc2298fd3c155276bc1f2ec79f0eb77e89496113aee0

See more details on using hashes here.

File details

Details for the file runebox_sync-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: runebox_sync-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for runebox_sync-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8ed78073a5ba055fd25e98397ee6f60dc664566cab11c7190b6f98b06679bc5
MD5 bdaa6c5360f9866109dfbcaf2af9b7e4
BLAKE2b-256 0532e7400afc0e2e535ec8ff5bd80c7617bd4781aaf93853396a0f9723d7cf4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page