Artifact 5b45df190f4578061867d31ed7be6451ab8310193d795ea98eda376467fb4565:
- File
docs/site/content/docs/quickstart.md
— part of check-in
[d123dbf861]
at
2026-10-31 18:40:41
on branch main
— build: install from GitHub releases with a script; stop publishing to Homebrew
install.sh installs edgesync and the leaf agent from a GitHub release for macOS or Linux, checking each archive against checksums.txt; a new CI job runs it against the latest release on Ubuntu and macOS. goreleaser no longer updates the danmestas/homebrew-tap formulas, whose leaf formula existed for bones. The README, the docs quickstart and the release notes footer point at the script; the quickstart's library link now names go-libfossil. (user: 41898282+github-actions[bot]@users.noreply.github.com, size: 2727) [annotate] [blame] [check-ins using] [more...]
--- title: Quickstart weight: 10 --- A five-minute tour of EdgeSync: install the binary, point it at a `.fossil` repo, and stand up a two-node mesh. ## Install ```sh curl -fsSL https://raw.githubusercontent.com/danmestas/EdgeSync/main/install.sh | sh edgesync --help ``` The script installs `edgesync` and the `leaf` agent from the latest [GitHub release](https://github.com/danmestas/EdgeSync/releases/latest) into `~/.local/bin`, after checking each archive against the release's `checksums.txt`. Releases are built for macOS and Linux on Intel and ARM. On another platform, or to build from source: ```sh go install github.com/danmestas/EdgeSync/cmd/edgesync@latest ``` The binary is pure Go and CGo-free thanks to the [go-libfossil](https://github.com/danmestas/go-libfossil) library underneath, so it has no runtime dependency. Verify your environment: ```sh edgesync doctor ``` ## Create a repository EdgeSync embeds libfossil's CLI, so the standard repo commands work directly: ```sh edgesync new my-project.fossil edgesync open my-project.fossil checkout/ cd checkout/ echo '# Hello' > README.md edgesync ci -m "initial commit" ``` ## Start the leaf agent The leaf agent is a long-running daemon that watches a repo and syncs it with peers over NATS: ```sh edgesync sync start \ --repo my-project.fossil \ --serve-http :9000 \ --poll 5s ``` What this does: - Embeds a NATS server inside the agent process - Serves the Fossil `/xfer` endpoint on `:9000` so other Fossil clients can clone over HTTP - Polls the repo every 5 seconds for local changes to gossip out ## Add a peer over iroh For NAT-traversing peer-to-peer sync, generate an iroh ticket on one node and pass it to another: ```sh # Node A edgesync sync start --repo a.fossil --iroh --iroh-key node-a.key # Node B (paste the ticket from node A's logs) edgesync sync start --repo b.fossil --iroh --iroh-peer <ticket-from-a> ``` The two leaves now exchange blobs over a QUIC tunnel — no port forwarding, no central server. ## Send a notification EdgeSync ships with a separate notify channel for project-scoped messaging (designed for human-in-the-loop AI workflows): ```sh edgesync notify init --project my-project edgesync notify send --project my-project --body "deploy succeeded" edgesync notify watch --project my-project ``` See [Notify](./notify) for thread structure, replies, and the pairing flow for mobile clients. ## Next steps - [Concepts](./concepts) — the moving pieces and how they fit together - [Architecture](./architecture) — wire protocol, role topology, and observability - [Deployment](./deployment) — Docker Compose recipe for production - [Notify](./notify) — bidirectional messaging deep dive