Replies (25)

OpnState's avatar
OpnState 1 year ago
This is a huge issue, I was told there is a decentralized alternative to github.... Let's start promoting the shit out of it
๐Ÿ”ด Cloning the ngit-cli repo Steps aren't obvious for where the code for ngit can be found. The push is primarily towards trusting prebuilt binaries. Eventually I found and ๐Ÿ”ด Building / Installing Obviously depends on rust, so need to have that toolchain configured. For people new to rust, indicating how to setup that toolchain could be a useful addition to the repository in either the README.md or INSTALL.md ๐Ÿ”ด NGIT INIT Running ngit init presents a qr code to use in a remote signer. I choose 'n' for no, and have a prompt for login with nsec, bunker url, or nostr address. I choose a nostr address which isn't configured for remote login. So then I try to just spin up a new nsec, and save the login details. Then I'm prompted for name (mine? the repo?), identifier, and description. After analyzing nip-34, I beleive this correlates to the name of the repository, d-tag, and description. After that is successfully entered, I get prompted for clone url (for fetch), so I use a mirror name Corny Chat identifier corny-chat description ๐ŸŒฝ Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning clone url web maintainers @Nice and Kind Vic relays ? earliest unique commit 98fbb6e3aea7cf16a56e15ca959c4a7de4ef69bc (Jan 3, 2024) I didn't know what to put for relays and tried to enter a question mark thinking that would provide help on whether I need to specify a comma delimited list of values, include wss:// prefix etc. Nope, it took that question mark as the string to attempt and later indicated impossible to parse URL: relative URL without a base. For obvious reasions, the built in attempt to use nostr.mutinywallet.com also failed. A maintainers.yaml file was created. I make changes to the file for the relays. Then commit and merge using normal git commands. ๐Ÿ”ด NGIT SEND Next I attempt to ngit send and need to select commits for proposal. I'll just select the one I just sent. I get the warning about it already being in main, but I send anyway. I get an error that it cannot find profile. Seeing as my generated nsec/npub has no profile yet, I guess this is a dependency. So I quickly make a kind 0 event and retry Next it declares that it cannot find my relay ilst and I should consider using another nostr client to create one to enhance my nostr experience. At least it recognizes that I'm logged in as corny-chat-ngit-signer. I attempt to configure relays via nostrudel, but ngit never sees those updates. Weird that it can't just work with the relays specified in the maintainers.yaml file. So then I login to coracle and configure relays there with the hopes it'll publish the requisite events. It claim kind 10002 is being published Now it seems to progress. I make a test branch, simple file change, local commit, then ngit send repo-relay is still failing for impossible to parse URL : relative URL without a base One of the relays I've configured requires auth, but it seems to have pushed it and provided this output view in gitworkshop.dev: view in another client: Attempting to view that link in gitworkshop.dev failed Error! reference in URL is not a repository, proposal, issue or npub reference: nevent1qqsrzgr0g90t8fnlt8mevueysn6w7nn07a0ensl2jfg7t36p66tuqmqpqylszfr3yf The njump.me link works however so that's good ๐Ÿ”ด NGIT LIST I see my ngit test proposal. This is as far as I've looked into this today.
TL;DR --- Skipping past the don't trust verify that should apply to all code and preference for hand holding to get to a built state, the actual application needs some care to make it more informative, and more forgiving. If something is configured wrong, prompt for new values. Provide some way to "go back" in the config steps. Be overly clear on what is expected of each field as the context could be the user or the repo. I still dont know what value I need for repo-relay or its relevance image
Mostly in need of clarity on what configurable fields are, nostr requirements/dependencies that must be met before using and walkthrough flows. See my response to Dan on what is getting me tripped up
Yes. That's a good idea. I'm in the process of making some improvements to the on-boarding experience so once I've made that easier and more forgiving I'll do some video demos and live sessjons.
Thanks for your detailed outline of your experience. it is super helpful. The most recent changes to the master branch was actually related to some of providing a bit more guidance to the `ngit init` fields. We still have a way to go.
Great this get's a bigger audience. Thank you!
Blue's avatar Blue
๐—š๐—ถ๐˜ - ๐˜€๐—ต๐—ถ๐—ป๐—ถ๐—ป๐—ด ๐—ฒ๐˜…๐—ฎ๐—บ๐—ฝ๐—น๐—ฒ ๐—ผ๐—ณ ๐—ฑ๐—ฒ๐—ฐ๐—ฒ๐—ป๐˜๐—ฟ๐—ฎ๐—น๐—ถ๐˜€๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐˜Ž๐˜ช๐˜ต๐˜ฉ๐˜ถ๐˜ฃ - ... ๐˜ฏ๐˜ฐ๐˜ต ๐˜ด๐˜ฐ ๐˜ฎ๐˜ถ๐˜ค๐˜ฉ I find it interesting that Bitcoin develeopment projects tend to centralization. Let me explain: Year is 2005. Linus Torvalds creates Git in because someone suddenly wants to monetise the labour of thousands of open source enthusiasts. The company BitKeeper hosted the Linux kernel for free for years and simply changes its licence terms overnight. Opensource under attack. Fast forward ... today. Bitkeepers attack was successfully fended off. Git is everywhere. But now what? Most repos are hosted on GitHub. Did Microsoft aquire Github for only $7.5B because of their well known Opensource ethos? ๐Ÿค” Now what's next? IMHO it may be worth checking out alternatives: either the big ones (Gitlab), or maybe sth. like Codeberg[1], or self hosting, whatever ... image https://codeberg.org/
View quoted note →
@Nice and Kind Vic, we have made some improvements in v1.6 but it is not yet as smooth as butter.
DanConwayDev's avatar DanConwayDev
The biggest friction with #GitViaNostr onboarding is the git server setup. We have ideas to fix that with a nostr-permissioned git server implementation inspired by @fiatjaf's View article โ†’ We envision many public instances that allow user to push new repos with no signup and zero-configuraiton required. Let me know if you would like this. View quoted note โ†’
View quoted note →
โ†‘