upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md48
1 files changed, 44 insertions, 4 deletions
diff --git a/README.md b/README.md
index 9b0cf45..53aa611 100644
--- a/README.md
+++ b/README.md
@@ -3,12 +3,52 @@
3a command-line tool to send and review patches via nostr 3a command-line tool to send and review patches via nostr
4 4
5- works seemlessly with [gitworkshop.dev](https://gitworkshop.dev) 5- works seemlessly with [gitworkshop.dev](https://gitworkshop.dev)
6- fully compatible with nostr git protocol (nip34) 6- fully implements nostr git protocol (nip34)
7- enables proposals to be managed as branches, similar to GitHub PRs, or patches similar to patches-over-email 7- enables proposals to be managed as branches, similar to GitHub PRs, or patches similar to patches-over-email
8 8
9see [gitworkshop.dev/ngit](https://gitworkshop.dev/ngit) and [gitworkshop.dev/about](https://gitworkshop.dev/about) for more details 9see [gitworkshop.dev/ngit](https://gitworkshop.dev/ngit) and [gitworkshop.dev/about](https://gitworkshop.dev/about) for more details
10 10
11### Commands 11## git-remote-nostr
12
13a git remote helper (git plugin) included with ngit that enables nostr integration with native git commands when used with a nostr remote eg nostr://npub123/identifer
14
15- repository state stored in a nostr event with git server(s) used for data sync
16- treats open proposals branches prefixed `pr/*`
17
18## primer
19
20nostr is a decentralised communications protocol with:
21
22- permissionless account creation - created via a public/private key pair
23- verifiable signed messages
24- messages transported via relays rather than P2P
25
26for code collaboration, nostr is used for:
27
28- repository identification and discovery
29- state (ie. git refs)
30- proposals (PRs), issues and related discussion
31
32a 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.
33
34eg self-hosted, github, codeberg, etc.
35
36```
37 ┌──────────┐
38 │ Author │
39 └──/─┬─\───┘
40 ,------' │ '--------.-------.
41┌──────▼─┐ ┌────▼───┐ ┌───▼───┐ ┌─▼─────┐ ┌───────┐
42│ Git │ │ Git │ │ Relay │ │ Relay │ │ Relay │
43│ Server │ │ Server │ │ │ │ │ │ │
44└────────┘ └────\───┘ └───┬───┘ └──/────┘ └─/─────┘
45 \------. │ ,----/---------/
46 ┌─▼──▼──▼─┐
47 │ User │
48 └─────────┘
49```
50
51### ngit commands
12 52
13run from the directory of the git repository: 53run from the directory of the git repository:
14 54
@@ -22,10 +62,10 @@ and when on a proposal branch:
22- `ngit push` send proposal revision 62- `ngit push` send proposal revision
23- `ngit pull` fetch and apply new proposal commits / revisions linked to branch 63- `ngit pull` fetch and apply new proposal commits / revisions linked to branch
24 64
25## Contributions Welcome! 65## contributions welcome!
26 66
27use ngit to submit proposals! 67use ngit to submit proposals!
28 68
29[gitworkshop.dev/repo/ngit](https://gitworkshop.dev/repo/ngit) to report issues and see proposals 69[gitworkshop.dev/r/naddr1qqzxuemfwsq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7q3q5qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exsxpqqqpmejawq4qj](https://gitworkshop.dev/repo/ngit) to report issues and see proposals
30 70
31install the tool with `cargo install ngit`, use a prebuilt binary or build from source off the master branch. 71install the tool with `cargo install ngit`, use a prebuilt binary or build from source off the master branch.