Avatar
arbadacarba
9a83779e75080556c656d4d418d02a4d7edbe288a2f9e6dd2b48799ec935184c
Just a girl with ideas ⚡ pixelatebot for pic & gif obfuscation on TG ⚡ Tides nostr messenger chrome extension ⚡ chatty local chatbot with local knowledge base ⚡ gitter.space
Replying to Avatar DanConwayDev

Issues and PRs (kinds 9803/9804) are automatically published to nostr on handled status changes (merged, closed and reopened).

I fetch them from source if possible on import of the repo and try to aggregate those by their timestamps with the nostr kinds.

If source is lets say Github im not upstreaming the edits additionally there so far.

Anyway still needs polish in finding these kinds better and flows are surely not the endgame, but what i went with so far 🤓

Yep. An expanded git-nostr-bridge (similar to but not a GRASP server) that accepts SSH connections. When smo wants terminal/CI access, they publish their SSH public key as a Kind 52 event, and the bridge automatically pulls it into authorized_keys. That lets them git clone/push against git.gittr.space, just like hitting any GRASP server.

It isn’t the source of truth—every push still emits the NIP‑34 event and Blossom/nostr:// pointers—so anyone can ignore our bridge and sync the same repo via nostr:// or their own mirror. We just provide the SSH path for convenience and compatibility with stock git clients :

https://gittr.space/help#ssh-keys

In the DEPLOYMENT_GUIDE.md theres a “Bridge Explained” section that tells how i keep Strategy 4 metadata while layering an SSH/HTTPS bridge on top.

https://blossom.primal.net/f5637bed27a1b2e3c42a3d5132997be74bc386d237b86e97b0679f25a5e77fd6.mp4

yes, “Blossom pack” here means the optional Strategy‑4/5 hybrid that publishes ["web","https://blossom…"] tags pointing at pack files, exactly like the approach you suggested afais

"Strategy 4 compliance: We never embed file blobs in the NIP‑34 event content. Every push still publishes the full tag set (clone URLs, nostr:// targets, r tags, etc.), and the bridge subscribes to all relays just like any other GRASP/bridge. Anyone can ignore our hosted URLs and pull directly from a nostr:// source or Blossom pack.

Why the bridge exposes /api/nostr/repo/files: That’s an extra convenience layer so the web UI (and other clients) can fetch file content faster while the data is still propagating. It’s not a proprietary format—just a REST wrapper around the bare repo the bridge synced from Nostr. Think of it as Strategy 5 (local caching) layered on top of Strategy 4.

Trusting state events (kind 30618): We do honor them. When a repo already has a 30618 “state” event, the bridge uses that to verify refs before falling back to the clone tags. If there isn’t one yet, we rely on the clone URLs so users aren’t blocked while waiting for the maintainer to publish the state event."

The “bridge” isn’t the source of truth, but i use it as accelerator. Repos are still announced and mirrored via NIP‑34 events (and, when needed, Blossom packs), so any relay-based client can fetch the same metadata/files straight from Nostr. I added some tags btw for docu-links to them etc. The git-nostr-bridge just watches those events, keeps a local bare repo for fast HTTPS clones, and exposes an API so the push ends without waiting period for relay propagation. Like a GRASP server but different :P

Replying to Avatar arbadacarba

Jo, I include https://git.gittr.space/... as the primary clone tag on push by a new endpoint to the bridge so theres a guaranteed HTTPS source while it’s processing. Once other relays pick up the NIP‑34 event, the nostr:// URLs are broadcasted and should work. http://gittr.space/help#git-operations

if you open the clone-url section theyre shown on each repopage

Replying to Avatar arbadacarba

Jo, I include https://git.gittr.space/... as the primary clone tag on push by a new endpoint to the bridge so theres a guaranteed HTTPS source while it’s processing. Once other relays pick up the NIP‑34 event, the nostr:// URLs are broadcasted and should work. http://gittr.space/help#git-operations

Repo read is still done on the client for the events and the bridge fetch, so thats due to the storage/cache + binary fallback, not SSR.

Flow is described here https://gittr.space/npub1n2ph08n4pqz4d3jk6n2p35p2f4ldhc5g5tu7dhftfpueajf4rpxqfjhzmc/gittr?file=README.md

Jo, I include https://git.gittr.space/... as the primary clone tag on push by a new endpoint to the bridge so theres a guaranteed HTTPS source while it’s processing. Once other relays pick up the NIP‑34 event, the nostr:// URLs are broadcasted and should work. http://gittr.space/help#git-operations

Replying to Avatar DanConwayDev

Welcome to the Git Nostr community! Its great to see you are building and that you're building on the existing work in the space.

It looks like you may have started with a fork of an early git nostr project that created a github like UI that had ideas about intergrating https://github.com/spearson78/gitnostr which emerged at the time and but was quickly abandoned. I see with gittr you have taken that idea and run with it and also began to try and reconcile / add / intergrate new Git Nostr invovations such as GRASP with spearson78 approach. I'm not sure how easy that would be as they don't appear to be compatible. The active work in Git Nostr space all seems to be based on NIP-34. Would you consider change gears towards NIP-34 / GRASP for greater compatibility with the ecosystem?

What a fantastic event @bitfest was with shitloads of jaw dropping POW in the workshop area and the most lovely psychopaths on earth to hang out with !

And those kids, man, they started vibe coding and writing games and OMG you're all not ready for what's going to happen next 💜👾

GM from nostrshire #bitfest

Yes, the state of the software PR also smelled like changes incoming.. DMing to catch up on this

Replying to Avatar DanConwayDev

Welcome to the Git Nostr community! Its great to see you are building and that you're building on the existing work in the space.

It looks like you may have started with a fork of an early git nostr project that created a github like UI that had ideas about intergrating https://github.com/spearson78/gitnostr which emerged at the time and but was quickly abandoned. I see with gittr you have taken that idea and run with it and also began to try and reconcile / add / intergrate new Git Nostr invovations such as GRASP with spearson78 approach. I'm not sure how easy that would be as they don't appear to be compatible. The active work in Git Nostr space all seems to be based on NIP-34. Would you consider change gears towards NIP-34 / GRASP for greater compatibility with the ecosystem?

Hey, I parse and display nip34 from 30617, use grasp to clone and publish kind 51 instead of 30617 and Jason not tags based so hybrid until PR is save. Reading yes, creating not yet