GitStr
Git over Nostr. Send and receive patches via the protocol.
Overview
GitStr enables distributed version control by sending and receiving Git patches over Nostr, implementing NIP-34. Censorship-resistant code collaboration.
Key Features
Distributed Patches
┌─────────────────────────────────────────────────────────────────┐
│ GitStr Workflow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Traditional Git: │
│ Push ──► GitHub ──► Pull Request ──► Central server │
│ │
│ GitStr: │
│ Patch ──► Nostr event ──► Relays ──► Anyone can receive │
│ │
│ No central server • No gatekeeping • Censorship-resistant │
│ │
└─────────────────────────────────────────────────────────────────┘
Core Features
| Feature | Description |
|---|---|
| Send patches | Publish Git patches to Nostr |
| Receive patches | Download from relays |
| NIP-34 | Standard patch format |
| Decentralized | No central server |
| CLI tool | Git integration |
Usage
Initialize Repository
git str init -r wss://relay.example.com
Download Patches
git str download
Send Patches
git send <commit>
Patch Storage
Patches stored in:
.git/str/patches/
NIP-34 Format
Patches published as Nostr events following NIP-34:
- Event kind for patches
- Metadata tags for context
- Relay hints for discovery
Use Cases
- Open source — Accept contributions via Nostr
- Censorship resistance — Code that can't be taken down
- Distributed teams — No single point of failure
- Backup — Patches replicated across relays
Comparison
| Feature | GitStr | GitHub | Email patches |
|---|---|---|---|
| Protocol | Nostr | Proprietary | SMTP |
| Censorship | Resistant | Platform | Provider |
| Discovery | Relays | GitHub search | Manual |
| Identity | Nostr keys | GitHub account |
Installation
go install github.com/fiatjaf/gitstr/cmd/git-str@latest
Related Projects
- NostrGit — GitHub-style interface
- git-remote-nostr — Git remote helper
- nostrgit — Alternative implementation
Links
- GitHub: fiatjaf/gitstr
See Also
- Nostr Protocol — The protocol
- NostrGit — Git on Nostr
- Hostr — Web hosting on Nostr