nostr plugin for git
pr/ are open PRs from contributors; ngit list can be used to view all PRspr/ or use ngit send for advanced optionsngit initbrowse gitworkshop.dev/repos to find nostr repositories.
install options:
curl -Ls https://ngit.dev/install.sh | bashcargo build --release and move ./target/release/ngit and ./target/release/git-remote-nostr to your PATH.cargo install ngit, maken sure ~/.cargo/bin is in your PATHngit.url = "github:DanConwayDev/ngit-cli"; as a flake input and then include inputs.ngit.packages."${pkgs.system}".default in packages.run the commands ngit and git-remote-nostr to ensure the binaries are in your PATH.
Run ngit --customize to list supported git config keys and their environment-variable overrides. Useful examples:
git config nostr.repo-relay-only true # only publish nostr events to repo relays
git config nostr.http-io-timeout-ms 600000 # allow large GRASP pushes up to 10 minutes of socket silence
gitworkshop.dev/danconwaydev.com/ngit to report issues and see PRs
use ngit to submit PRs with clone url: nostr://danconwaydev.com/relay.ngit.dev/ngit
nostr is a decentralised communications protocol with:
for code collaboration, nostr is used for:
a git server is still required for data storage and syncing state. multiple git servers can be used for reduncancy and they can be seemlessly swapped out by maintainers just like nostr relays. see maintainer model for details on how multi-maintainer repositories work.
eg self-hosted, github, codeberg, etc.
┌──────────┐
│ Author │
└──/─┬─\───┘
,------' │ '--------.-------.
┌──────▼─┐ ┌────▼───┐ ┌───▼───┐ ┌─▼─────┐ ┌───────┐
│ Git │ │ Git │ │ Relay │ │ Relay │ │ Relay │
│ Server │ │ Server │ │ │ │ │ │ │
└────────┘ └────\───┘ └───┬───┘ └──/────┘ └─/─────┘
\------. │ ,----/---------/
┌─▼──▼──▼─┐
│ User │
└─────────┘
$ claude mcp add ngit-cli \
-- python -m otcore.mcp_server <graph>