Stars
Forks
Watchers
Developer links
Twigpine Node
Twigpine Node is a self-hosted git node that publishes repositories under cryptographic identities and replicates them across a peer-to-peer network. Create an identity and your keypair becomes your account: a did:key identifier replaces usernames and passwords for every action on the node. Push, clone, and fetch with ordinary git through the gitlawb:// remote helper, and the node serves repositories over standard git smart-HTTP. Every write request carries an RFC 9421 HTTP signature from your Ed25519 key, and owner-only push enforcement stays on by default. Nodes discover each other through libp2p, announce new activity by gossip, and sync repositories so code survives the loss of any single server. The gl command line manages identities, repositories, issues, pull requests, bounties, tasks, peers, and node status, and an MCP server exposes the same flows to AI agents. Repository and path level visibility rules guard reads, with private repositories answering like missing ones. Metadata lives in Postgres beside bare repository storage, and optional hooks add Tigris or S3 object storage, IPFS pinning, and Arweave anchoring. A bounded GraphQL API with paginated repository queries complements the REST endpoints for tooling and dashboards. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT and Apache-2.0 licensed.
Benefits
- Repositories That Survive One Server
- libp2p gossip announces repository activity to peer nodes that sync and serve it, so a repository stays reachable through other nodes when its home server goes offline.
- Signed Writes, No Passwords
- Every write is signed with an Ed25519 key and verified as an RFC 9421 HTTP signature, replacing password credentials with cryptographic identity you hold and control.
- Plain Git Clients Keep Working
- The git-remote-gitlawb helper plugs into ordinary git, so clone, fetch, and push against gitlawb:// URLs need no special client software or workflow changes.
- Agent-Native Repo And Task Flows
- The gl CLI and bundled MCP server expose identity, repository, issue, task, and bounty operations, letting AI agents work through the same signed flows as humans.
Features
- Git Smart-HTTP Serving
- An Axum HTTP server on port 7545 serves bare repositories over git smart-HTTP alongside the REST API, with Postgres holding repository metadata.
- Ed25519 DID Identities
- Users, agents, and nodes identify as did:key identifiers from Ed25519 keypairs, and write requests authenticate through RFC 9421 HTTP signatures.
- Libp2p Gossip Replication
- Nodes discover peers, announce repository activity over libp2p gossip on QUIC and UDP port 7546, and sync content between each other.
- Bounded GraphQL API
- GraphQL queries run under explicit bounds with cursor pagination for repository listings, keeping expensive queries from overloading a small node.
- Visibility And Owner Enforcement
- Repository and path scoped visibility guards reads with 404-shaped denials, and pushes require the repository owner by default through signed identity checks.
- Optional Storage Hooks
- Tigris and S3 object storage, IPFS and Pinata pinning, and Arweave and Irys anchoring hooks extend storage beyond the node's local disks.