gitworkshop.dev

collaborate on code over nostr

nostr

An open protocol that is able to create a censorship resistant global "social" network once and for all

any git server

used only for syncing data eg. Gitea, Github, Gitlab, self-hosted...

gitworkshop.dev

A nostr web client to manage and discuss issues and code PRs

git-remote-nostr

git remote helper (plugin) for seemless nostr integration

ngit

a command line tool to manage repos and advanced patch submission / review

How it works

Git is a decentralized version control system, yet most freedom tech projects use centralized walled gardens on top of git as a social and collaboration layer for code changes.

Gitworkshop.dev, git-remote-nostr and ngit are tools to enable code collaboration over nostr. Gitworkshop.dev provides a visual interface to discuss PRs and open issues. git-remote-nostr enables PR creation, review and incorporation using standard git tooling. ngit handles repository setup and advanced PR submission.

Quick Start

Install ngit and git-remote-nostr

Download, extract binaries and add them to PATH

Download for Linux (x86-64, glibc) v1.7.0
Ubuntu 14.04+, Debian 8+, RHEL/CentOS 7+, Fedora 21+, openSUSE, Arch, etc. Any x86-64 distro with glibc ≥ 2.17. (Not Alpine)

Verify install - check both binaries are in your PATH and set as executable by running:

ngit --version
git-remote-nostr --version

for the contributor

clone the nostr url and use normal git operations with tool you are used it (eg. your IDE)

git clone nostr://npub123/repo-identifier
// use pr/ branch prefix to create a nostr PR
git checkout -b pr/great-feature
git commit -am "improve the world"
git push -u
// any branch with pr/ prefix is nostr PR
git branch -r --list origin/pr/*

for the maintainer

// create a git repo and push to a git server
mkdir my-repo && cd my-repo
git init
git commit -am "initial commit"
// announce and set origin to nostr url
ngit init
// pushing merged commits updates PR status
git merge origin/pr/great-feature(e8246b2)
git push
gitworkshop.dev logo GitWorkshop.dev