EGG Event Git Graph
Decentralized Git · Native Nostr

EGG

Event    Git    Graph

Your server, your code. Deploy EGG on your own domain — egg.yourdomain.com — and get a full Git forge with client, relay and access control. Social interactions — issues, pull requests, reviews — happen entirely through Nostr events, connecting every EGG instance in an open network.

See a live instance Deploy your instance
egg.alice.com Git + Client + Relay egg.bob.com Git + Client + Relay egg.corp.io Git + Client + Relay nostr events nostr events instance A instance B instance C
scroll

What is EGG

Three words. One architecture.

E
Event

Every social interaction — issues, pull requests, comments, follows, access grants — is a cryptographically signed Nostr event. Tamper-proof. Verifiable by anyone. Not stored on any central server.

G
Git

Standard Git — the same tool developers already use. The code itself lives on your own server (egg.yourdomain.com), not in someone else's cloud. Push, pull, branch, merge — all native git operations.

G
Graph

A commit graph that is also a social graph. Every EGG instance connects to every other through Nostr. Developers on alice.com can open issues on repos hosted at bob.com — no federation setup required.


Architecture

Two layers. Zero compromise.

EGG separates storage from communication. Your server owns the code. Nostr owns the conversation.

Your EGG Server
egg.yourdomain.com
Git repositories

Bare git repos stored on your disk. You own every byte.

Web client (EGG UI)

Browse repos, view diffs, explore history — served from your own domain.

Nostr relay (built-in)

Your instance runs its own relay. Social events arrive here and broadcast to the network.

Access control

Define which npubs can push, pull, or view each repository.

Nostr Network
social layer · open protocol
Issues & pull requests

Opened as signed Nostr events. Anyone with a keypair can participate, across any instance.

Code reviews & comments

Threaded conversations linked to commits and PR events. Verifiable authorship.

Developer identity

Your npub is your universal username. No account on each platform. Works across all EGG instances.

User management

Grant or revoke access via Nostr events. No user database to maintain — Nostr keypairs are the accounts.


How to get started

Your instance in four steps.

01
server
Deploy EGG on your server

Clone the EGG repo and run the installer. Works on any Linux VPS. Points your subdomain — egg.yourdomain.com — to your instance.

git clone https://github.com/getegg/egg && cd egg && ./install.sh
02
nostr
Connect your Nostr identity

Sign in with your Nostr keypair (npub). Your existing identity works — no new account needed. You are automatically the admin of your instance.

03
repositories
Push your repositories

Use standard git commands to push code to your EGG instance. Set each repo as public or private. Manage collaborators by authorizing npubs via Nostr events.

git remote add egg git@egg.yourdomain.com:myproject.git
04
network
Join the EGG network

Your instance is now part of the decentralized EGG network. Developers on any other EGG instance can discover your public repos, open issues and submit pull requests — all through Nostr events.


Access control

Public or private — you decide.

Access is enforced jointly — by your server (who can clone) and by Nostr (who can interact). Both layers always work together.

◉ PUBLIC REPOSITORY
Open to the world
  • Anyone can clone and browse the code
  • Any npub can open issues via Nostr events
  • Pull requests submitted as signed events from any instance
  • You control who can merge — via authorized npubs
◉ PRIVATE REPOSITORY
Invite-only collaboration
  • Server enforces: only authorized npubs can clone
  • Issues and PRs visible only to invited npubs via Nostr
  • Grant access with a Nostr event — revoke the same way
  • No user database — npubs are the accounts

Comparison

GitHub vs Gitea vs EGG

Feature GitHub / GitLab Gitea / Forgejo EGG
Self-hostable GitHub / GitLab Yes Yes — core model
User accounts Email + password Local database Nostr keypairs only
Cross-instance interaction Same platform only No federation Native via Nostr
Social layer Proprietary Per-instance only Open Nostr protocol
Code ownership Platform's servers Your server Your server
Censorship resistance Platform ToS Isolated — no network Distributed network
Protocol Proprietary API HTTP API only Open Nostr + Git

Roadmap

Building the open forge.

PHASE 01
Core Server
  • Git hosting + web UI
  • Built-in Nostr relay
  • npub-based auth
  • Public / private repos
PHASE 02
Collaboration
  • Issues as Nostr events
  • Pull request events
  • Cross-instance PRs
  • Code review threads
PHASE 03
Network
  • Instance discovery
  • Repo federation
  • Releases & tags
  • Git CLI plugin
PHASE 04
Ecosystem
  • CI/CD event hooks
  • IDE integrations
  • SDK for developers
  • Instance marketplace

For Developers

Contribute or deploy your instance.

EGG is built in the open. Every line of code is public.

GitHub Organization
github.com/getegg

All EGG repositories, issue tracker, protocol discussions and contribution guidelines.

Deploy your EGG instance
github.com/getegg/egg

Complete installation guide — from VPS setup to your first repository push. Self-host in minutes.