diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-03-05 10:22:34 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-03-05 10:22:34 +0000 |
| commit | a7ca31af8a326327fbebb1b6f688850fdc3627c6 (patch) | |
| tree | 9fd34888aceb9c097f423dd575435bd53c49899a /skills/ngit | |
| parent | c80173e5b5a1817f87a28dac5e9b3f3cf138495e (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/ngit')
| -rw-r--r-- | skills/ngit/SKILL.md | 4 |
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 | |||
| 18 | Git has two distinct layers that ngit separates: | 20 | Git 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 | ||
| 23 | When 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. | 25 | When 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 | ||