upleb.uk

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

summaryrefslogtreecommitdiff
path: root/skills
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2026-03-05 10:22:34 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2026-03-05 10:22:34 +0000
commita7ca31af8a326327fbebb1b6f688850fdc3627c6 (patch)
tree9fd34888aceb9c097f423dd575435bd53c49899a /skills
parentc80173e5b5a1817f87a28dac5e9b3f3cf138495e (diff)
expand ngit skill explainer: Nostr intro and grasp server auto-setup
Add one-liner on what Nostr is (decentralised signed-event protocol). Note that grasp servers auto-create git repos when listed in ngit init announcement events, requiring no prior setup unlike traditional servers.
Diffstat (limited to 'skills')
-rw-r--r--skills/ngit/SKILL.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/skills/ngit/SKILL.md b/skills/ngit/SKILL.md
index 9773bff..795ed91 100644
--- a/skills/ngit/SKILL.md
+++ b/skills/ngit/SKILL.md
@@ -15,6 +15,8 @@ ngit makes `clone`, `fetch`, `push` work with `nostr://` URLs and adds a CLI for
15 15
16## How it works 16## How it works
17 17
18**Nostr** is a decentralised protocol where users publish signed events to relays (simple servers anyone can run). There is no central authority — identity is a keypair, and data is replicated across many relays.
19
18Git has two distinct layers that ngit separates: 20Git has two distinct layers that ngit separates:
19 21
20- **Git state (refs)** — which commit each branch/tag points to — is published as signed events on Nostr relays. This is the source of truth for the repository. 22- **Git state (refs)** — which commit each branch/tag points to — is published as signed events on Nostr relays. This is the source of truth for the repository.
@@ -22,7 +24,7 @@ Git has two distinct layers that ngit separates:
22 24
23When you `git fetch`, `git-remote-nostr` reads the current ref state from Nostr relays, then fetches the corresponding objects from the git server(s) listed in the repository announcement. Because the state lives on Nostr and the data can live anywhere, git servers are interchangeable — switching providers requires no coordination with contributors. 25When you `git fetch`, `git-remote-nostr` reads the current ref state from Nostr relays, then fetches the corresponding objects from the git server(s) listed in the repository announcement. Because the state lives on Nostr and the data can live anywhere, git servers are interchangeable — switching providers requires no coordination with contributors.
24 26
25**Grasp servers** are a convenience: they combine a Nostr relay and a git server into a single hosted service (e.g. `relay.ngit.dev`), so a single URL covers both layers. You can use separate relays and git servers if you prefer. 27**Grasp servers** are a convenience: they combine a Nostr relay and a git server into a single hosted service (e.g. `relay.ngit.dev`). When `ngit init` publishes a repository announcement listing a grasp server, the grasp server automatically creates the git repository — no prior setup or account configuration required. You can use separate relays and git servers if you prefer.
26 28
27## Key rules 29## Key rules
28 30