You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

4.6 KiB

NIP Compliance and Documentation Index

This document serves as an index to all Nostr Improvement Proposals (NIPs) used by GitRepublic and their implementation details.

Standard NIPs

GitRepublic implements the following standard NIPs:

Core Protocol

Authentication & Identity

  • NIP-02: Contact List - Contact list (kind 3)

    • Used for repository filtering ("Show only my repos and those of my contacts")
    • Fallback for relay discovery
  • NIP-07: Browser Extension Authentication - window.nostr capability

    • Primary authentication method for GitRepublic
    • Used for signing all repository-related events
  • NIP-19: bech32-encoded Entities - bech32 encoding (npub, nsec, note, nevent, naddr)

    • User-friendly display of pubkeys and event references
    • Used throughout the UI for repository URLs and search
  • NIP-98: HTTP Authentication - HTTP auth events (kind 27235)

    • Authenticates git operations (push, pull, clone)
    • Authenticates API requests

Event Management

Git Collaboration

  • NIP-34: Git Repository Announcements - Git collaboration on Nostr
    • 30617: Repository announcements
    • 30618: Repository state
    • 1617: Patches
    • 1618: Pull requests
    • 1619: Pull request updates
    • 1621: Issues
    • 1630-1633: Status events (Open, Applied/Merged, Closed, Draft)

Relay & Discovery

Content Features

  • NIP-84: Highlights - Highlight events (kind 9802)
    • Code selection and review features
    • Extended with file/line tags for code context

Custom Event Kinds

GitRepublic uses custom event kinds not defined in any standard NIP:

  • Custom Event Kinds
    • 1640: Commit Signature - Cryptographically sign git commits
    • 1641: Ownership Transfer - Transfer repository ownership (immutable chain)
    • 30620: Branch Protection - Enforce branch protection rules

Quick Reference

Event Kinds Used

Kind Name NIP Replaceable Documentation
1 Text Note NIP-01 No 01.md
3 Contact List NIP-02 Yes 02.md
5 Deletion Request NIP-09 No 09.md
1111 Comment NIP-22 No 22.md
1617 Patch NIP-34 No 34.md
1618 Pull Request NIP-34 No 34.md
1619 Pull Request Update NIP-34 No 34.md
1621 Issue NIP-34 No 34.md
1630 Status Open NIP-34 No 34.md
1631 Status Applied NIP-34 No 34.md
1632 Status Closed NIP-34 No 34.md
1633 Status Draft NIP-34 No 34.md
1640 Commit Signature Custom No CustomKinds.md
1641 Ownership Transfer Custom No CustomKinds.md
30617 Repo Announcement NIP-34 Yes 34.md
30618 Repo State NIP-34 Yes 34.md
30620 Branch Protection Custom Yes CustomKinds.md
9802 Highlight NIP-84 No 84.md
10002 Relay List NIP-65 Yes 65.md
27235 HTTP Auth NIP-98 No 98.md

Implementation Status

All listed NIPs are fully implemented and compliant with their specifications. Each NIP document includes a "GitRepublic Usage" section describing how the NIP is used in this application.

Compliance Verification

For detailed compliance verification and implementation notes, see the individual NIP documents linked above. Each document includes:

  • The original NIP specification
  • GitRepublic-specific usage documentation
  • Implementation details and code references

See Also