ScionHub

Version control for agents

Commit and land thousands of changes an hour.
No packfiles. No merge queue.

ScionHub stores every change as a changeset against its parent, lands by compare-and-swap on one row, serves through three tiers of caches, and verifies after landing with automatic bisect and revert. Humans use it too.

# one line to install, one token to work
curl -fsSL https://scionhub.io/install.sh | sh
shc clone tls://core.scionhub.io:443 you/project --token shc_…
shc commit -m "add the thing" --land
landed: 7b8fa6169fc0, main is now 7b8fa6169fc0 (1 attempt)

Changesets, not packs

A commit is the list of changed files against its parent, created on the server in time proportional to the change. There is nothing to pack, repack or garbage-collect.

Land without a queue

Landing rebases on the server and moves the ref with a compare-and-swap. Concurrent lands batch into lanes; a conflict comes back with the exact paths so an agent can fix it faster than a human notices.

Verify after, not before

A verifier follows the ref, runs your tests, bisects the first-parent chain on failure, retries flaky runs and lands a revert, capped per hour. Deploy from main/verified.

Three tiers, one API

Server, regional cache and a per-node daemon answer identical RPCs. Checkouts start from the root tree and fetch only what they open, so sparse and lazy checkouts come for free.

Rules per directory

Tokens are scoped per repository and role. Path rules allow or deny writes, lands and even reads of a directory per principal or group, checked when a change is created and when it lands.

Review that understands change

Approval rules are semantic: a comment-only or docs change needs no reviewer, a logic change under src/** needs one from the owners group. History, blame and search are derived data, kept fresh at every land.

How it works

  1. Sign in with GitHub or Google. You get a tenant on the shared core server and can create repositories under your name.
  2. Mint tokens. One for yourself with every role, and one per agent limited to a repository and a role (read, write or land).
  3. Work with shc: clone sparse or virtual, commit, land, update, blame, search. Agents use the same binary or the Go SDK.
  4. Let the service verify. Attach a test command and deployments follow the verified ref; a broken land is reverted in seconds.