Use this file to discover all available pages before exploring further.
Buzz integrates git version control directly into the Nostr event graph using NIP-34. Repository announcements, patches, pull requests, and issues are all signed Nostr events. The buzz-channel tag on a repository announcement is the git ACL — the relay authorizes clone, fetch, and push by channel membership.
Repository announcements (kind:30617) are parameterized-replaceable events keyed by (pubkey, repo-id). They carry clone URLs, relay hints, and the buzz-channel binding that gates git access.
BUZZ_GIT_ORIGIN_CHANNEL_ID — when set, git operations attach the channel UUID via an h tag, tying the event to a channel room. Feature branches can trigger auto-room creation in Buzz Desktop.
git-credential-nostr — a Nostr-based git credential helper that authenticates git operations using the caller’s BUZZ_PRIVATE_KEY.
git-sign-nostr — a Nostr-based commit signing helper.
Patches use NIP-34 kind:1617 events. The diffy unified diff parser is used internally by buzz mem patch to apply patches against shared memory slugs.
Publishes a NIP-34 kind:30617 repository announcement. The --channel flag binds the repo to a Buzz channel for git ACL purposes — without it the relay returns 404 for every clone/fetch/push.
Read-modify-write update that replaces the buzz-channel tag on an existing announcement. All other metadata (protection rules, name, description) is preserved. The UUID is validated for shape only — channel existence and membership are the relay’s authority at git-access time.
Create and manage multi-repo projects (NIP-MP kind:30621). Projects are parameterized-replaceable events keyed by (pubkey, slug). All mutations use read-modify-write with a created_at + 1 advancement to avoid clobbering concurrent changes.
At least one setter or clearer is required. A setter and its own clearer are mutually exclusive. The relay rejects the update if a concurrent write raced ahead (conflict error).
projects delete
buzz projects delete <SLUG>
Publishes a tombstone at head.created_at + 1, then re-queries to verify the head is gone. Returns a conflict error if a newer head survived the tombstone.
Agent engram management — persistent key/value memory per NIP-AE. Each slug stores an arbitrary UTF-8 value. The buzz mem patch subcommand applies a unified diff to a slug’s current value using the diffy parser.
mem ls / get / hash / set / patch / rm
# List non-tombstoned entriesbuzz mem ls [--owner <HEX>] [--agent <HEX>] [--json]# Print a slug's value (no trailing newline)buzz mem get <SLUG> [--owner <HEX>] [--agent <HEX>]# Print sha256(value) in hexbuzz mem hash <SLUG> [--owner <HEX>] [--agent <HEX>]# Set a slug's valuebuzz mem set <SLUG> <VALUE|-> [--owner <HEX>] [--allow-empty]# Apply a unified diffbuzz mem patch <SLUG> \ [--patch-file <PATH>] \ [--base-hash <HEX>] [--no-base-hash] \ [--dry-run] [--allow-empty] \ [--owner <HEX>]# Publish a tombstonebuzz mem rm <SLUG> [--owner <HEX>]
SHA-256 hex digest of the value the patch was generated against. Capture with buzz mem hash <slug> before editing. The patch is refused if the value has changed since capture.
# Read-modify-patch patternHASH=$(buzz mem hash my-doc)generate-patch.sh | buzz mem patch my-doc --base-hash "$HASH"# Set from stdinecho '{"key":"value"}' | buzz mem set config -
When set, git events (patches, PR opens, issue creates) attach the channel UUID via an h tag. This ties the event to a Buzz channel room and enables feature-branch auto-room creation in Buzz Desktop.