pull down to refresh

Talking about vibe coding..

I made a cooler Github on Nostr that lets you zap repos (with optional NWC or LNbits config in settings), open bounties for issues, import them from git/github/codeberg, push to nostr.

It has a proper project planning per repo, you can add documentation links to it (like youtube), it shows a mermaid architecture graph and dependencies.. and so much more i always wanted 😜 because fuck them.

Check this out and let me know what you think πŸ’œ
https://gittr.space
https://github.com/arbadacarbaYK/gittr/

nostr.com/nprofile1qqsf4qmhne6ssp2kcetdf4qc6q4y6lkmu2y2970xm545s7v7ey63snquedel9@nostr.com

If I understand it correctly, the actual source files for any given project are still likely to be on GitHub, GitLab, etc?

Are there plans to push further decentralization mechanisms, for example (thinking off the top of my head) enabling multiple reference sources on different platforms (or better: self-hosted) that sync from each other?

reply
121 sats \ 3 replies \ @ek 19 Nov
Enabling multiple reference sources on different platforms (or better: self-hosted) that sync from each other?

You can already do that, it's called repository mirroring.

This means you can push to your self-hosted Gitea instance, and it will automatically push to Github etc.

reply

na thats not what this does as this can live on nostr

reply
21 sats \ 1 reply \ @ek 20 Nov

I know that this isn’t what your thing does. I wanted to say that what was requested doesn’t need your thing, because a solution already exists.

reply

Yep, that's how I understood it too.

reply

As someone interested in this problem, would this be like how torrents work? I’m just thinking from the user’s perspective: how would hosting, downloading and guaranteeing availability work?

reply

yes thats a very good comparison. its about discoverability mostly. fetching from mulitple sources but they can also "live on nostr"

reply

https://github.com/arbadacarbaYK/gittr/blob/main/docs/FILE_FETCHING_INSIGHTS.md#file-opening-flow---correct-strategy-order if you're looking for a more detailed description this might give you some clue as its complicated and can either live within events on ngit servers or link to external sources. Thats the difference import vs. create repo enacts.

User clicks on a file
↓
Strategy 1: Check if file content is embedded in repoData.files array
β”œβ”€ If found with content β†’ Use embedded content βœ…
└─ If not found β†’ Continue to Strategy 2
↓
Strategy 2: Try git-nostr-bridge API
β”œβ”€ Resolve ownerPubkey:
β”‚ β”œβ”€ Check repoData.ownerPubkey
β”‚ β”œβ”€ Check localStorage for matching repo
β”‚ β”œβ”€ Decode npub from params.entity
β”‚ └─ Fallback to resolveEntityToPubkey utility
β”œβ”€ Success β†’ Use content from git-nostr-bridge βœ…
β”œβ”€ 404 (not cloned) β†’ Check if GRASP server
β”‚ β”œβ”€ If GRASP β†’ Trigger clone β†’ Poll (max 10 attempts, 2s delay) βœ…
β”‚ └─ If not GRASP β†’ Continue to Strategy 3
└─ Error β†’ Continue to Strategy 3
↓
Strategy 3: Try external git servers via API proxy
β”œβ”€ GitHub β†’ /api/git/file-content?sourceUrl=...&path=...&branch=...
β”œβ”€ GitLab β†’ /api/git/file-content?sourceUrl=...&path=...&branch=...
β”œβ”€ Codeberg β†’ /api/git/file-content?sourceUrl=...&path=...&branch=...
└─ GRASP β†’ /api/git/file-content?sourceUrl=...&path=...&branch=...
↓
Handle binary vs text files
β”œβ”€ Binary β†’ Return base64, frontend creates data URL
└─ Text β†’ Return UTF-8 content

reply

No files are either in an event blob or hybrid, where the blob links to external sources. Thats some rough high level description :P if you click around youll find some of each, in the sidebar youll see where it came from

reply

This just reminded me. I wish I could contribute intellectually but I am not well versed in the technical realm. I am learning tho and becoming a huge fan of git. Not sure if you’ve seen this project https://gitworkshop.dev/. All I know is that it’s also git + NOSTR. I saw Dan, the projects creator, speak live about it and it sounded awesome. As I’m sure yours is as well. Git + NOSTR seems incredibly necessary from what I can tell.

reply

ofc ive seen it. its mentioned in the readme what i added to it :)

Acknowledgments
Built on NostrGit UI (forked from original)
Uses nostr-relaypool for relay management
Uses gitnostr Go components for Git operations
Implements GRASP Protocol for distributed Git hosting (newer than original NostrGit)
Inspired by GitHub's developer experience
Note: This project (gittr.space) is a fork of NostrGit Page template that has been significantly developed. It is a separate project and platform. Key additions include:

βœ… GRASP protocol support (clone/relays tags, client-side proactive sync)
βœ… Bitcoin/Lightning payment integration (zaps, bounties)
βœ… Enhanced UI features (themes, activity tracking, explore page)
βœ… Notification system (Nostr DM, Telegram DM, channel announcements)
βœ… All original Go components (git-nostr-bridge, git-nostr-cli, git-nostr-ssh) are included and functional

reply

very cool, i promise to always read the readme now. again, i wish i could understand what all of this means, but I really liked Dan and his project, so I'm excited to see what comes about from all this.

reply

Cool. I tried it, but I wasn't able to push anything. git push gittr main just stalled for 5+ minutes.

$ git push gittr main
Pushing to gittr.space:npub18fpg082leemmq4fs0nm9r5ata5fw8ft0a53xqeeukdry2r8hkjvs5l87jt/apify-nak.git

Also this link in the guide 404s https://github.com/arbadacarbaYK/ngit/blob/main/docs/SSH_GIT_GUIDE.md

reply

good find, fixed the links

reply

deleted by author

I think Jack Dorsey has a big bounty on relaxing GitHub

reply