Protocol map
Git collaboration over Nostr is an ecosystem around shared protocols, not a product family controlled by ngit or any other project. Several small protocols cover different parts of a forge. Each defines one boundary and can have more than one independent implementation.
| Need | Protocol | What it owns |
|---|---|---|
| Git collaboration | NIP-34 | Repository discovery, signed refs, patches, pull requests, and issues |
| Hosting | GRASP | Authorised Git storage, relay behaviour, and service capabilities |
| Software publishing | NIP-82 and ncontainer | Downloadable releases and pullable OCI container repositories |
| Continuous integration | Nostr CI | Requests, progress, results, artifacts, and execution provenance |
How they connect
NIP-34 supplies the shared repository coordinate. GRASP services host the Git objects and Nostr events that make that repository available. A NIP-82 application can point back to its NIP-34 source repository, while ngit binds a published container repository to the NIP-34 project that produced it.
Nostr CI watches NIP-34 repository state and pull requests, runs workflows at the referenced commits, and publishes signed results. Those results can feed software releases or container publication without making CI part of either publishing protocol.
The command-line workflows live in the Guides. These pages explain the portable contracts and keep protocol requirements separate from the choices made by individual implementations. The Grasp Awesome page shows how varied those clients and services already are.