Getting Started & CLI
From a fresh install to your first peer-to-peer clone in four commands.
1. Create your identity
$ gitforest init
Generates an Ed25519 keypair at ~/.config/gitforest/identity.key. Your public key is your identity on the network — no accounts, no passwords, no signups.
2. Add a repo to the network
$ gitforest add /path/to/your/git/repo --name myproject --description "My cool project"
Registers the repo in ~/.config/gitforest/config.toml and makes it shareable.
3. Start the daemon
$ gitforest daemon
This starts:
- DHT node on port 9418 — announces your repos, discovers peers via mDNS on LAN
- Git protocol server on port 9419 — direct P2P git fetch/push
- HTTP API + Web UI at http://127.0.0.1:7878
4. Clone from the network
From any other machine running GitForest:
$ git clone gitforest://<peer_id>/<repo_name>
Requires git-remote-gitforest on your $PATH (the install script handles this).
CLI reference
| Command | Description |
|---|---|
gitforest init | Create a new identity |
gitforest id | Show your peer ID |
gitforest add <path> | Add a local git repo to the network |
gitforest list | List hosted repos |
gitforest remove <name> | Remove a repo from the network |
gitforest status | Show network status |
gitforest daemon | Start the daemon |
gitforest blob add <path> | Import a file into the blob store |
gitforest blob list | List all stored blobs |
gitforest blob info <id> | Show blob details (size, pieces, path) |
gitforest blob remove <id> | Remove a blob from the store |
gitforest blob pointer <id> | Generate a pointer file for a blob |
gitforest collection create | Create a collection manifest |
gitforest collection list | List collections |
gitforest collection info <id> | Show collection details |
gitforest compute submit <repo> | Submit a CI job |
gitforest compute status <id> | Check job status |
gitforest compute worker-start | Start offering compute |
gitforest compute worker-stop | Stop offering compute |
gitforest compute offers | List available workers |
gitforest compute wallet <chain> <addr> | Configure payment wallet |
Web UI
With the daemon running, open http://127.0.0.1:7878 for:
- Repos — manage hosted repos, view commits/branches/ACLs, copy clone URLs
- Blobs — browse stored blobs, seeder/leecher counts, manage collections
- Compute — view CI jobs, browse workers, monitor payment channels
- Network — connected peers, seeding stats
- Proposals — incoming merge requests and patches
- Identity — your peer ID and key info
Collaboration
GitForest's collaboration layer (gt-collab) provides signed patches, fork + merge requests, and access control lists — designed for a network with no central authority. Merge requests arrive as proposals in the Web UI.