20 releases (stable)
1.6.0 | Dec 20, 2024 |
---|---|
1.5.3 | Nov 12, 2024 |
1.5.2 | Sep 24, 2024 |
1.2.1 | May 14, 2024 |
0.0.2 | May 23, 2023 |
#383 in Development tools
133 downloads per month
530KB
13K
SLoC
ngit
nostr plugin for git
- clone a nostr repository, or add as a remote, by using the url format nostr://<pub123|nip05-address>/
- remote branches beginning with
pr/
are open PRs from contributors;ngit list
can be used to view all PRs - to open a PR, push a branch with the prefix
pr/
or usengit send
for advanced options - publish a repository to nostr with
ngit init
browse gitworkshop.dev/repos to find nostr repositories.
install
install options:
- build from source: clone this repository, install rust and cargo, checkout the latest release tag, run
cargo build --release
and move./target/release/ngit
and./target/release/git-remote-nostr
to your PATH. - install with cargo: install rust and cargo, run
cargo install ngit
, maken sure~/.cargo/bin
is in your PATH - download the latest release binaries from gitworkshop.dev/ngit and add to PATH
run the commands ngit
and git-remote-nostr
to ensure the binaries are in your PATH.
contributions welcome!
gitworkshop.dev/repos/ngit to report issues and see PRs
use ngit to submit PRs with clone url: nostr://dan@gitworkshop.dev/relay.damus.io/ngit
primer
nostr is a decentralised communications protocol with:
- permissionless account creation - created via a public/private key pair
- verifiable signed messages
- messages transported via relays rather than P2P
for code collaboration, nostr is used for:
- repository identification and discovery
- state (ie. git refs)
- proposals (PRs), issues and related discussion
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.
eg self-hosted, github, codeberg, etc.
┌──────────┐
│ Author │
└──/─┬─\───┘
,------' │ '--------.-------.
┌──────▼─┐ ┌────▼───┐ ┌───▼───┐ ┌─▼─────┐ ┌───────┐
│ Git │ │ Git │ │ Relay │ │ Relay │ │ Relay │
│ Server │ │ Server │ │ │ │ │ │ │
└────────┘ └────\───┘ └───┬───┘ └──/────┘ └─/─────┘
\------. │ ,----/---------/
┌─▼──▼──▼─┐
│ User │
└─────────┘
Dependencies
~35–50MB
~836K SLoC