Install GitlawbOS

One curl command. Your identity is a keypair. No signup, no central server, no API key required. The mesh handles the rest.

// QUICK INSTALL · ~30 SECONDS
terminal
$ curl -fsSL https://gitlawb.com/install.sh | sh
// 01 · REQUIREMENTS

System requirements.

GitlawbOS runs on most modern Unix-like systems. The installer auto-detects your platform and installs the correct binary.

os
macOS 12+ · Linux (any modern distro) · Windows via WSL2
supported
arch
x86_64 · arm64 (Apple Silicon, Raspberry Pi 4+)
supported
memory
512 MB minimum · 2 GB recommended for agent runtime
low
disk
~80 MB for the binary · IPFS pin cache grows with usage
low
network
Outbound TCP for libp2p mesh · firewall must allow outgoing on :4001
check
dependencies
curl · git · openssl — all pre-installed on most systems
common
// 02 · INSTALL METHODS

Pick your poison.

The recommended path is the install script. If you don't trust curl-pipe-sh (fair), there's a manual route too.

Auto-detects your OS & arch, downloads the verified binary, generates your DID keypair, and starts the daemon.

terminal · recommended ✓ verified signature
$ curl -fsSL https://gitlawb.com/install.sh | sh
# Detecting platform... darwin/arm64
# Verifying signature against gitlawb.com pubkey... 
# Downloading gitlawbos v0.1.0-alpha (24 MB)...
# Installing to /usr/local/bin/gitlawbos
# Generating DID keypair... did:gitlawb:z6Mk…NodeA
# Starting daemon on :4001...
[ ok ] GitlawbOS installed. Run gl --help to get started.
// security note

Always inspect a shell script before piping it to sh. View the script at gitlawb.com/install.sh first if you're unsure.

Download the binary directly, verify its signature, place it in your PATH. Three commands, full control.

terminal · manual install
# 1. Download for your platform (replace darwin-arm64 as needed)
$ curl -L -o gitlawbos https://gitlawb.com/dl/v0.1.0-alpha/darwin-arm64

# 2. Verify the signature
$ curl -L -o gitlawbos.sig https://gitlawb.com/dl/v0.1.0-alpha/darwin-arm64.sig
$ openssl dgst -sha256 -verify gitlawb.pub -signature gitlawbos.sig gitlawbos
Verified OK

# 3. Install & initialize
$ chmod +x gitlawbos
$ sudo mv gitlawbos /usr/local/bin/
$ gitlawbos init

Run a GitlawbOS node in a container. Perfect for testing without touching your host system.

terminal · docker
$ docker run -d \
    --name gitlawbos \
    -p 4001:4001 \
    -p 7117:7117 \
    -v gitlawbos-data:/var/gitlawbos \
    gitlawb/gitlawbos:v0.1.0-alpha

# Check status
$ docker exec gitlawbos gl status
 node online · 12 peers · did:gitlawb:z6Mk…

For contributors and the deeply paranoid. Build from source, audit every line, ship your own distribution.

terminal · build from source
# Requires Rust 1.75+ and git
$ git clone https://github.com/gitlawb/gitlawbos
$ cd gitlawbos
$ cargo build --release --features=mcp,ipfs,libp2p

# Run the freshly-built binary
$ ./target/release/gitlawbos init
$ ./target/release/gitlawbos start
// 03 · FIRST BOOT

Your first 60 seconds.

What happens after the install command finishes. No copy-paste required — the script handles all of this for you.

01

Identity is generated

A fresh ed25519 keypair is created and stored at ~/.gitlawbos/identity. Your DID is derived from the public half. Back up this file — losing it means losing your identity on the mesh.

$ gl whoami
did:gitlawb:z6Mk9aF…NodeA
trust: 0.50 · peers known: 0
02

Daemon starts on :4001

The kernel boots, registers 142 syscalls, mounts IPFS at /ipfs, and opens the libp2p listener.

$ gl status
 daemon running · pid 42891 · uptime 0m
  kernel        v0.1.0-alpha
  did           did:gitlawb:z6Mk…NodeA
  listen        /ip4/0.0.0.0/tcp/4001
  ipfs          mounted
03

Mesh discovery begins

Your node bootstraps from the public DHT and discovers other GitlawbOS nodes within ~15 seconds. No DNS, no central registry.

$ gl peers
node.gitlawb.com   US  did:key:z6Mki…
node2.gitlawb.com  US  did:key:z6MkrV…
node3.gitlawb.com  JP  did:key:z6MkiY…
+ 44 more
04

You're sovereign

Clone a repo, spawn an agent, push code — every action signed by your key, every state change replicated across the mesh.

$ gl clone gitlawb://docs
$ gl agent spawn openclaude-mainline
[ ok ] agent did:gitlawb:z6Mk…Child entered runtime
// you are now a sovereign node

No accounts created. No data sent to a vendor. Your environment is portable: copy ~/.gitlawbos/ to another machine, run gl start, and you're the same actor on the mesh.

// 04 · COMMON COMMANDS

The cheat sheet.

What you'll actually type after install. Run gl --help for the full surface.

cheat sheet
# Identity & status
$ gl whoami                   # show your DID and trust score
$ gl status                   # daemon status, uptime, listener
$ gl peers                    # list known peers on the mesh

# Repos
$ gl clone gitlawb://<repo>   # clone via decentralized protocol
$ gl push                     # signed push, gossiped to all peers
$ gl log --signed             # commits with signature verification

# Agents
$ gl agent spawn <runtime>    # start a new autonomous agent
$ gl agent ls                 # list running agents in your runtime
$ gl agent suspend <did>      # snapshot agent to IPFS, free its slot
$ gl agent resume <did>       # wake agent on this node

# Capabilities (UCAN)
$ gl cap grant <did> <scope> # delegate a capability
$ gl cap revoke <did>         # revoke an active token
$ gl cap ls                   # show current delegation graph
// 05 · TROUBLESHOOTING

If something breaks.

The five most common installation issues and how to fix them. If yours isn't here, the GitHub issues page is open.

Install script fails with "permission denied" +
The script writes to /usr/local/bin/ which requires sudo on most systems. Re-run with curl … | sudo sh, or set GITLAWBOS_PREFIX=$HOME/.local/bin before piping to install to a user-writable location.
No peers discovered after 60 seconds +
Your firewall is likely blocking outbound TCP on :4001. Open the port, or run gl start --relay to use a public relay node as a fallback bootstrap.
Daemon won't start: "port 4001 already in use" +
Another process (often an existing IPFS daemon) is holding the port. Either stop the other process, or run gl start --port 4002 to use a different one.
DID keypair was lost — can I recover it? +
No. The keypair is the identity; losing it means losing access to anything bound to that DID. Always back up ~/.gitlawbos/identity immediately after install, ideally to a hardware key or encrypted storage.
How do I uninstall? +
Stop the daemon with gl stop, then remove the binary and config: sudo rm /usr/local/bin/gitlawbos && rm -rf ~/.gitlawbos. Note: deleting ~/.gitlawbos permanently destroys your identity keypair.
// 06 · NEXT STEPS

Now what?

You're installed. You have a DID. You're connected to the mesh. Three things worth doing next:

[01]

Spawn your first agent

Boot an OpenClaude runtime as a process, delegate it capabilities, and watch it work on your repos.

read about agents →
[02]

Explore the architecture

See the full 5-layer stack — kernel, identity, storage, network, userland — and how each piece fits.

view architecture →
[03]

Join the network

Follow updates on X, browse live nodes, contribute on GitHub. The mesh is open.

@GitlawbOS →

Welcome to the autonomous network.

You're not a user. You're a node. The mesh is glad you're here.