Inspiration

Git is a version control system. Nostr is a social networking platform. The goal of git-nostr is to enhance collaboration by allowing disparate git repos to be synchronized via nostr messages.

What it does

converts a git repository to and from nostr messages via base64 encoded patches. One message per git commit.

How we built it

currently it is a proof-of-concept using lindy shell tools to publish and consume an entire repo. We anticipate publishing an executable that will be called from git and will appear to the traditional git user to be just another remote repo.

Challenges we ran into

diplomacy: The protocol for git-over-nostr is still being negotiated by the nostr community, and our approach differs from the approach that has been vocalized by most other developers. We will likely struggle to find cooperation.

Accomplishments that we're proud of

  • the shell scripts do not use for loops

What we learned

  • We had to level up on git to do things other than push/pull and submit a PR.
  • When we started, we thought we were the only one who wanted something like this. We have since learned we are not alone.

What's next for git-nostr

  • we wish to dog food as soon as possible.
  • git-ssb is a more mature project on the secure scuttlebutt platform. we would like to get to feature parity with git-ssb.

Built With

  • awk
  • git
  • grep
  • noscl
  • nostril
  • sed
  • websocat
Share this project:

Updates