✨ Looking for feedback

n34

n34 is an open source command-line interface (CLI) tool for sending and receiving Git issues, patches and comments over the Nostr protocol. It supports creating, replying to, and managing issues and patches, making Git collaboration decentralized and censorship-resistant.

Key Features

🔄Complete Git Workflow

Handle the full development lifecycle with patches, issues, replies, and status tracking, all through the decentralized Nostr protocol.

🔗NIP-34 Compliant

Fully implements the NIP-34 specification for Git repositories on Nostr, ensuring compatibility with the decentralized ecosystem.

🛠️Developer Friendly

Intuitive CLI interface designed for developers who want to integrate Git workflows with Nostr seamlessly.

🔐Self-Sovereign

No accounts, no passwords, no centralized servers. You control your identity and data through cryptographic keys.

Feature Roadmap

Current implementation status and upcoming features

  • Repository announcements
  • Repository state announcements
  • Patches (Send, fetch and list)
  • Issues (Send, view and list)
  • Replies
  • Issues and patches status
  • Pull requests (nostr-protocol/nips#1966)

Quick Start

Get started with n34 in seconds

cargo install n34

# The execautable will be in ~/.cargo/bin/n34

or

git clone https://git.4rs.nl/awiteb/n34.git

cd n34 && cargo build --release

# The execautable will be in target/release/n34

NixOS (Version 0.4.0 or later)

git clone https://git.4rs.nl/awiteb/n34.git

cd n34 && nix build

# The execautable will be in result/bin/n34

home-manager

Add this to your flake.nix inputs
Specify the version you want to install, or remove ?ref for the unreleased version. You can also use any mirror; it doesn't have to be git.4rs.nl

inputs = {
  n34.url = "git+https://git.4rs.nl/awiteb/n34.git?ref=refs/tags/vx.y.x";
};

And this in your home packages

packages = [ inputs.n34.packages."${pkgs.system}".default ];

Once installed, run n34 --help to see available commands.

Why Nostr?

Nostr is fundamentally different from traditional platforms because it's not an application or service, it's a decentralized protocol. This means any tool or app can integrate with it, enabling open, permissionless collaboration without relying on centralized gatekeepers. Unlike proprietary systems, Nostr doesn't require emails, passwords, or accounts. You interact directly through relays, whether you self-host your own or use public ones, ensuring no single point of failure or control.

What makes Nostr uniquely resilient is its design, the protocol itself is just a set of rules, not a company or product that can disappear. Your Git issues, patches, and comments persist as long as relays choose to store them, immune to the whims of corporate shutdowns or policy changes. Nostr is infrastructure in its purest form, an idea that outlives any temporary implementation. n34 taps into a future-proof foundation for decentralized collaboration.