Rabun Git

Rgit is Git with etiquette.

Self-hosted git over SSH. Conventional Commits and SemVer 2.0 by default. Users, merge requests, and workflow agents on your machines.

Rabun Git stores bare repositories on a machine you administer. Teammates use git. Operators use rgit for users, keys, access, merge requests, builder agents, and version releases. rgit view shows the files in a browser on the machine that has the checkout.

GitHub Releases.

Terminal session: rgit registers an admin key, then git pushes to ssh.

Etiquette

SemVer 2.0

Conventional Commits bump MAJOR.MINOR.PATCH. The forge can reject a messy push. Set enforce to false in .rabun/version.toml to turn those gates off.

Remote

SSH repositories

Bare repos on port 2222. Clone and push with ordinary git. Your existing sshd on port 22 stays put.

Review

Merge requests

Open, review, and fast-forward merge from the CLI. Protected main and master stay with admins.

CI

YAML workflows

Shell steps in .rabun/workflows on push, tag, and request. A runs-on list starts one run each on Linux, macOS, and Windows.

Files

Web view

rgit view renders a local tree in the browser: README, file tree, and file contents.

The forge

Rabun Git (rgit)

SSH based communication with teams and groups baked in. Etiquette is the default; you can switch it off.

People

Users and keys

Create logins, attach SSH keys, and grant read, write, or admin on owner/name.

History

Everyday git

Branches, clones, and tags work as they do on any SSH remote. feat/fix/breaking commits are the default language of a release.

Versions

Turn etiquette off

Keep Conventional Commits and SemVer, or set commits, tags, and manifests to false in .rabun/version.toml.

Builders

Agents on your machines

Register a builder per label. rgit agent polls over SSH, claims the oldest matching job, clones that SHA, and writes the log back.

Builders

Linux, macOS, and Windows from one workflow.

runs-on: [linux, macos, windows] fans out to one run per label. Each agent polls the forge on port 2222, clones that commit, and runs the steps. Labels must match exactly.

  1. Linux

    Label linux. With no registered linux builder, the job still runs on the forge host as the rabun-git user, using sh -c.
  2. macOS

    rgit origin agent register mac --label macos, then rgit agent --labels macos on that Mac. launchd keeps the poll loop running. The shell defaults to sh.
  3. Windows

    The same poll loop with --labels windows. Steps default to pwsh -NoProfile -Command unless the job sets shell.

Read the guide, then start the forge.

Written for people who already use git clone, commit, and push.