Git-style version control for the cloud you already use

Your Code. Your Cloud. Your Hub.

Branch, commit and review from a folder you already own. RakkoHub gives it real history, pull requests and a beautiful web view, with no new place to keep your files.

  • Rust CLI
  • Imports git history
  • Pull requests
  • Roles & permissions

In your terminal

Four commands to a first push.

The same rhythm as git, with a tiny binary and no setup to speak of.

In your browser

See what happened, and who did it.

Code review

Nothing merges by accident.

Default reviewers are asked automatically. A pull request merges only when the rules you set are met: required approvals, a default reviewer’s sign-off, no conflicts.

  • Approvals go stale when the code changes, unless you choose otherwise
  • Changes requested always block a merge
  • Merge commits keep every branch’s history

The command line

Every command, with what it prints.

Pick a command to see it run. The output is copied from the real thing.

Start
Look around
Branches
Share
Put work aside
Bring history
~/projects/app

$ rakko init

Initialized empty rakko repository in ~/app/.rakko

Created .rakkoignore (edit it to choose what RakkoHub should not track)

init Turn any folder into a repository. A starter .rakkoignore keeps junk out.

In the browser

The whole workflow, one tab away.

Code, history, reviews and tickets in a single app. It follows your light or dark theme.

hub.example.com/tickets/PAY/boards/1
Plan the work: a screenshot of RakkoHub in the light themePlan the work: a screenshot of RakkoHub in the dark theme
Plan the work. A sprint board with filters by person, type, label and date. Drag a card to change its status; click it to open the ticket.

VS Code extension

Source control, without leaving your editor.

See what changed, switch branches, stash, commit and read the ticket for the branch you are on, right next to the code.

PAY-11: Retry failed deliveries with backoff
A ticket open in a VS Code tab: status, assignee, description, linked pull request and comments, with an Open in browser button
Tickets open in a tab. The panel lists only the tickets this branch is about (from its name or commit messages). Click one to read it here; the browser is one button away.
  • Changes, made clearStaged, changed and untracked files in colour, as a folder tree or a flat list, with file icons from your theme. Stage, unstage, discard and compare per file.
  • Branches in one clickThe current branch is in the status bar. Branches that only exist on the server are downloaded when you switch to them.
  • StashPut work aside, with a note, and bring it back later. Applying never overwrites your files.
  • Safe by designYour token stays in VS Code’s secret storage and goes only to your server. Nothing runs through a shell, and a repository can’t change these settings.
  • Pull requests & repositoriesOpen pull requests for the current repository, and all your repositories with one-click clone over HTTPS or SSH.
  • Built on the CLIIt runs rakko for anything that touches your files, so HTTPS, SSH and folder remotes all work the same.
cd apps/vscode && pnpm install && pnpm package
code --install-extension rakkohub-0.1.1.vsix

Needs the rakko command on your PATH. Press F5 in apps/vscode to try it without installing. Only VS Code has an extension so far; the same two interfaces (the command and the REST API) are documented for other editors.

Everything in one place

Built for the whole workflow.

Lives in your cloud

Point it at any folder, including one OneDrive or Google Drive already syncs. Your code stays in storage you own.

Direct Drive connections: coming soon

Commands you already know

init, add, commit, branch, push, pull, clone. If you know git, you already know rakko.

History you can actually see

A live commit graph with branches and merges, diffs side by side, and a file browser with blame-free context.

Pull requests & reviews

Open, review, approve and merge, with required approvals and conflict checks.

Roles & permissions

Read, write and admin per repository. Private repos stay invisible to everyone else.

Search everything

Commits, pull requests, files and code from one box. Press / anywhere.

Bring your git history

Import an existing git repository, branches and merges included. Git itself is only ever read.

Tiny and fast

A single ~3 MB Rust binary. Content-addressed objects that sync without corrupting.

Security

Your code stays yours.

Source code is the one thing you can’t take back once it leaks. RakkoHub is built so the safe path is also the easy one.

Private means invisible

A private repository doesn't exist for anyone you haven't added. Outsiders get “not found”, not “forbidden”, so even its name stays secret.

The server decides, always

For repositories on a RakkoHub server, every push and clone goes through the server, which checks your role and your token on each request. The command line can't skip a rule, because it never gets to enforce one.

Tokens with limits

Personal tokens are read-only or read-and-write, expire, show when they were last used, and are revoked in one click. Only a hash is stored, and the secret is shown once.

One token, one repository

Hand a server or a colleague a token for a single repository: they can clone it with no account and nothing else. It can move code but can't change settings, members or approvals.

History can't be rewritten

Pushes only ever add to the history already there: no force pushes. Protected branches take no direct pushes at all, not even from admins. Changes arrive by reviewed pull request.

Nothing is taken on trust

Every uploaded object is verified by its fingerprint and structure. Hostile file names, oversized uploads and decompression bombs are refused before anything is stored.

An audit trail

Pushes, merges, permission changes and token activity are recorded in an append-only log that repository admins can read. Tokens never appear in it.

Your token stays with its server

The command line sends a token only to the server it was issued for, only over HTTPS (plain http is allowed just on your own machine), and never inside a URL.

Who it’s for

Built for people who keep their own files.

Solo developers

Real version history for projects that live in a synced folder, without learning a new hosting service or moving your files.

Small teams

Pull requests, reviewers and roles for a handful of people, with a repository token to give a build server read access.

Teams that keep code in-house

Keep source in storage you control, with private repositories, protected branches and an audit trail on top.

Why RakkoHub

A shared folder, with real version control.

Plain shared folderRakkoHub
Full history, with who changed what and why–✓
Branches and safe merges–✓
Pull requests with required reviews–✓
Read, write and admin roles per repository–✓
Branches nobody can push to directly–✓
Revoke one person's access without moving files–✓
Lives in a folder you already own✓✓
Works offline, with a full local copy–✓

How it works

From folder to review in three steps.

  1. 1

    Make a folder a repository

    rakko init
    rakko add .
    rakko commit -m "First commit"

    Works in any project folder. A starter .rakkoignore keeps junk out.

  2. 2

    Push it to your drive

    rakko remote set ~/OneDrive/projects/app
    rakko push

    Immutable objects are uploaded first and the branch pointer moves last, so a crash can't corrupt anything.

  3. 3

    Review it in the browser

    Sign in → Repositories → app

    Browse code, follow history, open pull requests and decide who has access.

  • ~3 MBsingle Rust binary
  • 2 sto import 230 commits of git history
  • 3 rolesread, write and admin, per repository
  • 1 tokenopens exactly one repository, no account needed

Get the command line

Build it, put it on your PATH, go.

One small binary, written in Rust. It isn’t on a package manager yet, so you build it from source.

cargo build --release
cp target/release/rakko /usr/local/bin/
rakko --help

Roadmap

What works now, and what’s next.

Available now

  • Command line: init, add, commit, branch, push, pull, clone
  • Web app: code, commit graph, diffs, search
  • Pull requests, reviews and default reviewers
  • Roles, protected branches, audit log
  • Repository tokens and scoped personal tokens
  • Import from git

Next

  • Direct OneDrive and Google Drive connections
  • SSH keys, alongside tokens
  • VS Code extension

Later

  • Webhooks and CI hooks
  • Line-level merging
  • Releases and tags

Questions

Straight answers.

Does it work with OneDrive and Google Drive today?

Any folder those apps already sync works today: point a remote at it like any other folder. Direct connections to the OneDrive and Google Drive APIs are on the roadmap, so for now it uses the sync client you already have.

Can I bring my existing git repository?

Yes. `rakko import-git` copies every commit and branch, with authors, dates and messages. Git itself is only ever read, so your original repository is untouched, and you can re-run it to pick up new commits.

How do teammates or build servers get access without an account?

A repository admin creates a repository token (read-only or read-and-write, with an expiry). Anyone holding it can clone that one repository with `rakko clone <address> --token <token>`, with no sign-in. It can't see any other repository.

What if a token leaks?

Revoke it: it stops working immediately. Tokens expire on their own, can only reach what they were made for, and are never stronger than the person who created them. The activity log shows what was done with them.

Can I get a deleted repository back?

Yes. Deleting moves a repository into a recovery folder instead of erasing it, and a site administrator can restore it with its pull requests and settings.

Is there a VS Code extension?

Not yet. It's planned. Today you get the command line and the web app.

Give your history a home.

Create an account, import a repository, and see your project the way it deserves to be seen.