Rug Munch Media Git

Decentralised git hosting on Nostr (NIP-34) with Git Smart HTTP. Your keys define the project; the host just serves it. No account, no gatekeeper.

NIP-34 GRASP ngit 3.0.3 ngit-grasp 3.0.7 Git Smart HTTP

Use it

Plain git works. Install the helper and nostr:// URLs work too.

# clone a repository (no account needed)
git clone https://git.cryptorugmunch.com/grasp/<npub>/<repo>.git

# publish a repo of your own — it announces itself over Nostr
ngit init --grasp-server https://git.cryptorugmunch.com/grasp

# then clone it by portable identity instead of hostname
git clone nostr://<npub>/git.cryptorugmunch.com%2Fgrasp/<repo>

How it works

Three layers, each doing one job.

01

Nostr identity

A repo is announced as a signed event under your key. Maintainership travels with the key — not with a host's database.

02

Signed refs

Branch and tag state is published as signed events. The repository tells the host what's current — not the other way round.

03

GRASP hosting

This host pairs a Nostr relay with a Git Smart HTTP server. It serves what the signed announcements authorise, and nothing else.

Where our code lives

Forgejo is the source of truth. Everything else is a mirror.