v0.1.0-alpha · P2P fabric + Pi mesh + EVRUS plugin · signed receipts & CI gates ship · installers unsigned

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 build

Docs 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 init

    Create ~/.peerweave with an encrypted keychain

  • pw daemon start

    Run the P2P node + HTTP gateway (default http://127.0.0.1:8788)

  • pw edge watch --space ~/peerweave-space

    Ingest manticore-net flow metadata (JSONL/SQLite), not packet payloads

  • pw receipt ask <event_id> --output receipts/pr-123.json

    Export a signed Ask receipt

  • pw receipt html receipts/pr-123.json --output receipts/pr-123.html

    Render the offline verifier page

  • pw receipt verify receipts/pr-123.json --policy pw-policy.toml

    Check signature and team policy

  • pw mcp import session.json --output receipt.json

    Import an external MCP session

  • pw space init ./my-project

    Initialize 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.