git-remote-htree 0.2.1

Git remote helper for hashtree - push/pull git repos via nostr and hashtree
Documentation

Git remote helper for hashtree

This crate provides a git remote helper that allows pushing/pulling git repositories via nostr and hashtree.

Usage

git remote add origin htree://<pubkey>/<repo-name>
git remote add origin htree://<petname>/<repo-name>
git push origin main
git pull origin main

Encryption Modes

  • Unencrypted: No CHK, just hash - anyone with hash can read
  • Public: CHK encrypted, ["key", "<hex>"] in event - anyone can decrypt
  • Link-visible: CHK + XOR mask, ["encryptedKey", XOR(key,secret)] - need #k=<secret> URL
  • Private: CHK + NIP-44 to self, ["selfEncryptedKey", "..."] - author only

Default is Public (CHK encrypted, key in nostr event).

Creating Link-Visible Repos

To create a link-visible repo, use #link-visible to auto-generate a key:

git remote add origin htree://self/repo#link-visible
git push origin main
# After push, you'll see instructions to update the remote URL with the generated key

Or specify an explicit key with #k=<secret>:

git remote add origin htree://npub/repo#k=<64-hex-chars>