v0.1.0-alpha · technical early adopters
Run a node, then prove a PR.
There is no signed installer yet. Build the CLI and desktop app from source, start a daemon (PC or Raspberry Pi), or wait for a GitHub Release tag. Homebrew tap is not up. The website talks to http://127.0.0.1:8788.
Build from source
Requires Rust stable (see rust-toolchain.toml), Node 20+, and pnpm 9.
git clone https://github.com/Lucastil2212/peer-weave.git
cd peer-weave/peer-weave-app
export PW_KEYCHAIN_PASSPHRASE="your-strong-passphrase"
cargo build -p peerweave-cli --release
./target/release/peerweave-cli node init
# Desktop (Tauri)
pnpm install
cd apps/desktop && pnpm tauri buildDocs also mention cargo install peerweave-cli once crates.io publishes catch up. Until then, build from this repo.
Daemon, gateway, edge ingest
The browser client cannot run libp2p. Start a node, then open /app. Edge ingest reads manticore-net flow JSONL/SQLite only — never pcap payloads.
pw daemon start # gateway: http://127.0.0.1:8788 # QUIC: /ip4/0.0.0.0/udp/4001/quic-v1 # mDNS: on pw edge watch --space ~/peerweave-space # override gateway for a Pi: # NEXT_PUBLIC_PW_GATEWAY_URL=http://192.168.1.42:8788
Raspberry Pi mesh
Three nodes: this PC (hub), Pi 3B on Ethernet, Pi 4B on Wi-Fi. Use explicit SSH hosts — raspberrypi.local can collide. Open UDP 4001. Pi 3B (1 GB) prefers the CLI binary, not the desktop app. Details on /mesh.
# from the PC hub ./deploy/mesh/bootstrap.sh # or one Pi at a time ./deploy/raspberry-pi/remote-install.sh \ --host 192.168.1.31 --role pi3 --interface eth0 \ --bootstrap /ip4/<hub-ip>/udp/4001/quic-v1/p2p/<hub-id> ./deploy/raspberry-pi/remote-install.sh \ --host 192.168.1.41 --role pi4 --interface wlan0 \ --bootstrap /ip4/<hub-ip>/udp/4001/quic-v1/p2p/<hub-id>
Docker Compose and Swarm
Multi-arch images for the CLI daemon and this website. Optional Kubo sidecar for the EVRUS IPFS plugin. Swarm notes live in docker/README.md.
docker compose -f docker/compose.yml up docker buildx build --platform linux/amd64,linux/arm64 -f docker/Dockerfile.cli . docker stack deploy -c docker/swarm.yml peerweave
CLI surface
Full Ask still runs in the desktop app. Receipt, policy, and identity commands work once traces and a keychain exist.
export PW_KEYCHAIN_PASSPHRASE='…' && pw node initCreate ~/.peerweave with an encrypted keychain
pw daemon startRun the P2P node + HTTP gateway (default http://127.0.0.1:8788)
pw edge watch --space ~/peerweave-spaceIngest manticore-net flow metadata (JSONL/SQLite), not packet payloads
pw receipt ask <event_id> --output receipts/pr-123.jsonExport a signed Ask receipt
pw receipt html receipts/pr-123.json --output receipts/pr-123.htmlRender the offline verifier page
pw receipt verify receipts/pr-123.json --policy pw-policy.tomlCheck signature and team policy
pw mcp import session.json --output receipt.jsonImport an external MCP session
pw space init ./my-projectInitialize a local-first space
GitHub Action merge gate
Verifies Ed25519 signatures, receipt hash, and unsupported-claim policy. The action can download pw for you.
# .github/workflows/receipt-gate.yml
- uses: Lucastil2212/peer-weave/.github/actions/receipt-check@main
with:
receipt-path: receipts/pr-123.json
max-unsupported-claims: '0'
fail-on-unsigned: 'true'VS Code extension
The in-repo extension under vscode-extension/ lists receipts, verifies them with pw, and opens the HTML verifier. It is not on the Marketplace yet — load it as an unpacked extension. Requires the CLI on PATH.
Desktop packages
CI can emit unsigned macOS / Linux / Windows bundles when a version tag is pushed. Code signing and a Homebrew tap are still open (peer-846q.9). Treat artifacts as developer-preview only.
macOS · Linux · Windows — unsigned when tagged
Get notified
We email when signed installers exist — plus occasional notes on the receipt workflow.
Release notes and alpha milestones. No drip sequence.