Artifact f76f51c3a16123542765d4d654da4383be926d6ff407f692b6558f82f811811e:
- File
docs/site/content/docs/quickstart.md
— part of check-in
[d59e2dece9]
at
2026-04-26 15:20:20
on branch trunk
— Merge pull request #78 from danmestas/add-docs-site
docs: Hugo+hextra docs site with Cloudflare Workers deploy (user: [email protected], size: 2331) [annotate] [blame] [check-ins using]
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
go install github.com/danmestas/EdgeSync/cmd/edgesync@latest
edgesync --help
The binary is pure-Go and CGo-free thanks to the libfossil library underneath — drop it on any Linux/macOS/Windows host with no runtime dependency.
Verify your environment:
edgesync doctor
Create a repository
EdgeSync embeds libfossil's CLI, so the standard repo commands work directly:
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:
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
/xferendpoint on:9000so 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:
# 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):
edgesync notify init --project my-project
edgesync notify send --project my-project --body "deploy succeeded"
edgesync notify watch --project my-project
See Notify for thread structure, replies, and the pairing flow for mobile clients.
Next steps
- Concepts — the moving pieces and how they fit together
- Architecture — wire protocol, role topology, and observability
- Deployment — Docker Compose recipe for production
- Notify — bidirectional messaging deep dive