I wonder if it would be possible to build on the existing Gitea code (so there is no need to start from scratch).
Nostr provides the benefits of aggregation (easily fetch data from many relays, more extensible than RSS) and single sign-on (use one account for unlimited Git instances).
Gitea saves the code, commits, accounts, wikis, etc. onto the server (=instance). A Nostr version would do the same (as it's federated, not P2P), but instead of accounts, it would use pubkeys. For censorship resistance, users should mirror their code to multiple relays, instead of relying on one relay (=instance). Maybe a sync plugin could be added. There is already a Github <-> Gitea sync feature, and a relay <-> relay sync feature would be simple.
The main difference would be an API, which is accessed via custom events and calls the corresponding Git functions. E.g. a "commit" event which takes the repo ID, file upload, pubkey and signature. When the relay receives the event, it calls the postCommit(repo, files, pubkey, signature) function.
Very interesting!
reply