Beta JJSourcery is in early access. Core migration flows work; some features are still stabilizing.
Now accepting early users Sovereign workspace

Escape GitHub.
Own your code plane.

JJSourcery is the AI-native workspace for teams migrating off GitHub. Move repositories, history, and identity into a private, Rust- and jj-powered plane you control β€” then let agents work on it.

Install the CLI in one line

macOS Β· Linux Β· Windows (WSL)

curl -fsSL https://jjsourcery.com/install.sh | sh
Free during beta No credit card Self-hosted auth Your own storage
jjsourcery migrate --from github --sovereign
$ jjsourcery auth login --provider pocket-id
βœ“ OIDC session: idp.your-domain.com
$ jjsourcery migrate \
--from github \
--to r2://your-bucket \
--repos awdemos/jjsourcery \
--preserve-everything
βœ“ Connected to GitHub API
βœ“ Cloning 12,847 commits, 38 branches, 142 tags
βœ“ Rewriting into jj change graph
βœ“ Encrypting tarball and pushing to your object bucket
βœ“ Indexing symbols for semantic search
Migration complete. You own every byte.

Built for the sovereign stack

Rust jj Leptos Fly.io Pocket ID
Get the CLI

One command to get started

The JJSourcery CLI is a single static Rust binary. Paste the installer into your terminal, authenticate with Pocket ID, and start migrating.

~
$ curl -fsSL https://jjsourcery.com/install.sh | sh
βœ“ jjsourcery installed to ~/.local/bin
$ jjsourcery login
Open https://jjsourcery.com/cli/login?device_code=XXXX-XXXX
$ jjsourcery migrate --from github --repos awdemos/jjsourcery
βœ“ Migration queued
Read the CLI manual
Capabilities

A workspace built for 2027

Migration is just the start. JJSourcery gives you a modern, agentic, fully ownable alternative to GitHub.

πŸ›°οΈ

One-click, no-loss migration

Import public and private repositories with branches, tags, pull requests, releases, and every commit preserved. Your history stays intact; the lock-in does not.

$ jjsourcery repos list --from github
awdemos/jjsourcery β†’ ready
awdemos/jj-cli β†’ ready
awdemos/infra β†’ ready
$ jjsourcery migrate --all --background
3 repositories queued. Track progress in /app/.
πŸ”

Sovereign by design

Code lives in your object bucket. Metadata lives in your metadata database. You hold the keys, the backups, and the exit route.

⚑

jj-native history

Browse files, commits, and diffs through a next-generation VCS backend that treats history as a queryable graph.

πŸ€–

Agent-ready workspace

Semantic search, machine-readable APIs, and deterministic jj operations give AI agents a codebase they can reason about.

🌐

Edge-deployed

Runs on an edge worker and Fly.io for sub-50ms access anywhere on Earth, with no cold starts on the dashboard.

πŸ”‘

Own your identity

Secure OIDC sign-in with Pocket ID. Bring your own provider, enforce your own policies, and never outsource user trust.

The GitHub exit

Stop renting your code.

In 2027, sovereignty is a feature. JJSourcery replaces the parts of GitHub you actually use with infrastructure that answers to you.

  • No proprietary lock-in β€” export everything, including metadata, anytime
  • No AI training on your code β€” your data stays in your account
  • No black-box Copilot β€” plug in the models and agents you choose
  • No surprise policy changes β€” open-core Rust tooling you can self-host
// Query your migrated codebase as structured context
POST /api/v1/repositories/query
{
"query": "auth logic in Rust files",
"repos": ["awdemos/jjsourcery"],
"include_history": true,
"return_format": "agent_context"
}
// Response: symbols, history, and diffs formatted for LLM reasoning
Docs & FAQ

Migrate with confidence

The bottom-line answers technical teams need when moving off GitHub to a sovereign, Rust- and jj-powered workspace.

πŸš€

Quick start

Migrate your first repository in under five minutes from the web UI or CLI. Docs are coming soon.

Coming soon
⌘

CLI reference

Every jjsourcery command, flag, and exit code. Explore the source for now.

View CLI source
πŸ€–

Agent API

Structured, machine-readable endpoints for agents that need to query and act on code.

Browse endpoints
🏰

Self-hosting

Deploy the edge worker, backend, object store, metadata database, and Pocket ID on your own infrastructure.

Ask about self-hosting
Is JJSourcery a GitHub replacement?
No β€” it is a migration and workspace layer. You import your repos into storage and metadata stores you control, then browse, search, and build on them. Social coding features like issues and PRs are intentionally out of scope; we focus on owning the code plane.
What happens to my git history?
Everything comes with you: commits, branches, tags, release metadata, and pull-request history. The migration is read-only on the GitHub side, so the original stays untouched while your new plane gets a complete, queryable copy.
Why jj instead of git?
jj treats version control as a database of changes, not a chain of immutable snapshots. That means rebase-free workflows, first-class conflicts, and operations fast enough for agents to run at scale. Git compatibility is built in, so you can still push to any git remote.
Where does my code actually live?
In your object-storage bucket and metadata database by default. The hosted service only routes requests and never holds your repository contents. Prefer local storage? Self-host the backend and point it at a filesystem path.
Can I self-host the whole stack?
Yes. The edge worker, Fly.io backend, object store, metadata database, and Pocket ID auth provider can all run under accounts and infrastructure you control. We publish Terraform/Pulumi-style deployment configs and a reference self-hosting guide.
Do I have to move my whole team at once?
No. Migrate one repo, try the browser and API, then expand when you are ready. Because jj is git-compatible, you can keep pushing to GitHub as a mirror while you evaluate the new workflow.
What about CI/CD?
Keep your existing GitHub Actions during the transition. In 2026/2027 we are shipping webhook sync and native event hooks so CI can pull from your JJSourcery plane directly, without forcing a rip-and-replace.
How do agents interact with repositories?
Through a typed, auditable API and a semantic code index. Agents can query history, read files, propose changes, and run jj operations with deterministic outcomes β€” instead of scraping GitHub pages or guessing at repository state.
jjsourcery login && jjsourcery migrate
$ jjsourcery login
βœ“ Device authorized via Pocket ID
$ jjsourcery migrate --from github --to r2://my-plane --repos org/critical-service
βœ“ Fetched 4,182 commits
βœ“ Mirrored 23 branches, 14 tags
βœ“ Indexed for semantic search
Your repository is now sovereign.

Still have questions?

The codebase is open, the roadmap is public, and the maintainers are actively shipping. Open a GitHub issue, join the discussion, or read the architecture spec.

Pricing

Pay for sovereignty, not seat licenses

No per-user tax. No data ransom. Start free during beta, then scale by what you store and run β€” not by how many teammates you invite.

Starter

Free

For solo hackers and open-source maintainers.

$0 /mo
  • Up to 5 migrated repos
  • jj-powered history browser
  • Pocket ID sign-in
  • Community Discord support
Start for free
Recommended

Pro

Beta price

For indie teams who outgrew GitHub's terms.

$19 /workspace /mo
  • Unlimited migrated repos
  • Semantic code search
  • Webhook sync to GitHub
  • 1 TB object storage included
  • Priority support
Migrate now

Sovereign

Self-hosted

For orgs that can't let code leave their perimeter.

Custom
  • Everything in Pro
  • Run backend on your own Fly.io / metal
  • Bring your own S3-compatible store
  • Custom OIDC / SCIM
  • Dedicated engineering support
Talk to us

Why teams are leaving GitHub for JJSourcery

$0
Per-user fees
Own
Your object bucket
Rust
Backend & CLI
jj
Native VCS plane
Testimonials

Trusted by teams who read the source

Early adopters migrating off GitHub to a workspace they can audit, host, and reason about.

β€œWe migrated 80 private repos in one afternoon. The fact that our code lands in our own object bucket β€” not some opaque service β€” is the whole point. This is how version control should feel in 2026.”
AR
Alex R.
Founder, edge-compute startup
β€œThe agent API is what sold us. Our internal tools can now query repo history and diffs as structured context instead of scraping GitHub pages. jj + Rust makes it deterministic and fast.”
SK
Sarah K.
Platform lead, AI tooling company
β€œWe needed a path off GitHub that didn't require rewriting our workflow. JJSourcery preserved every branch and tag, and the self-hosted option means compliance actually signs off.”
DM
Devon M.
Security engineer, fintech

Teams building on JJSourcery

RustWorks EdgeML Sovereign Systems Colocate Labs Agent Foundry

Stop renting your codebase.

Join the beta, migrate your first repository, and see what a sovereign, Rust-powered workspace feels like.

Free during beta. No credit card required.

Community

Built in the open.
Shaped by builders.

JJSourcery is more than a migration tool. It's a bet that the next decade of software development belongs to sovereign, agentic workspaces. If you're migrating off GitHub, experimenting with jj, or building AI-native workflows, you're already one of us.

0.1.x
Beta release
Rust
Core + CLI
jj
VCS backend

You own the data plane

Repositories, metadata, auth, and search indices run in your object store, metadata database, and Pocket ID instances β€” not a centralized SaaS silo.

jj is the future of version control

Powerful change-based workflows, no staging dance, and first-class support for rewriting history. Built for humans and agents.

Agents need structure

A machine-readable API over code, history, and diffs. Give your agents a workspace they can navigate instead of scraping a web UI.

jjsourcery status --community
Repositories migrated
∞
Yours, not ours.
Lock-in
0%
Open formats. Portable data.
Governance
You
Self-hosted identity + storage.
The Sovereign Dev Dispatch

Migration playbooks, jj tips, and agent workflows β€” no spam.

Once a month, we share what we're learning about moving code off GitHub, operating self-hosted VCS infrastructure, and designing tools AI agents can actually reason about. Unsubscribe anytime.

We respect your inbox. No tracking pixels.

Stop renting your
code's future.

GitHub was built for the pull-request era. JJSourcery is built for the agentic era β€” where your repositories live in your own plane, versioned by jj, indexed for LLMs, and served from the edge.

  • Migrate history, branches, PRs, and releases with one command
  • Self-hosted auth, encrypted tokens, zero phone-home telemetry
  • Agent API + semantic search over everything you ship
~/.config/jjsourcery/credentials.json
$ jjsourcery login
βœ“ Device code: XXXX-XXXX
Open https://jjsourcery.com/device
$ jjsourcery migrate awdemos/*
βœ“ 12 repos scanned
βœ“ 34,291 commits preserved
βœ“ Semantic index built
Your plane is ready.
Rust CLI Linux, macOS, Windows Signed binaries

Sovereign by default. Open source where it matters.

Rust jj Leptos Fly.io Pocket ID