Artifact 8f67cf333ab75c4546f0d335aa5cb2e5ed0faec03f0cefde68e73c8faa0e17c4:
- File
CONTRIBUTING.md
— part of check-in
[d9574335d0]
at
2026-04-28 00:40:42
on branch trunk
— polish: add CHANGELOG + CONTRIBUTING (libfossil-level hygiene)
Matches the bones polish template. CHANGELOG covers root-module versions (v0.0.1 initial through v0.0.6 latest) and notes the multi-module tagging scheme (leaf/, bridge/ submodules carry their own tags). CONTRIBUTING covers the make setup bootstrap, test/sim commands, the four-binary build (edgesync + leaf + bridge + iroh-sidecar), wasm targets, and submodule coordination guidance for releases. (user: [email protected], size: 2207) [annotate] [blame] [check-ins using] [more...]
Contributing to EdgeSync
Thanks for your interest in EdgeSync, a peer-to-peer replication and sync
substrate built on libfossil (durable state) and NATS (real-time
coordination). This document covers everything you need to get a working
checkout, run the tests, and submit changes.
Development setup
Requires Go 1.26 or newer.
git clone https://github.com/danmestas/EdgeSync
cd EdgeSync
make setup # installs hooks, builds binaries, runs tests
make setup is the one-shot bootstrap. The repository has a multi-module
structure (root + leaf + bridge + iroh-sidecar); setup builds all
of them. A go.work.example file is checked in — copy to go.work to
resolve all submodules locally.
Running tests
make test # full suite across all modules
make vet # go vet
make sim # deterministic simulation harness
make sim-full # extended simulation runs
make test is the canonical pre-PR gate — the same checks run in CI.
Building variants
make build # all four binaries (edgesync, leaf, bridge, iroh-sidecar)
make wasm # WASI + browser WASM targets
make wasm-wasi # WASI only
make wasm-browser # browser only
Code layout
cmd/,cli/— CLI entry points (edgesync).leaf/— leaf daemon Go submodule (separatego.mod, separately tagged).bridge/— cross-cluster sync submodule.iroh-sidecar/— libp2p sidecar for replication.deploy/— deployment manifests and tooling.scripts/— operational and test-helper scripts.sim/— deterministic simulation harness.testdata/— fixture data for tests.
Submitting changes
- Open a feature branch off
main. Direct commits tomainare not accepted. - Run
make testlocally before pushing. - Open a PR; CI will re-run the full suite.
- Submodules (
leaf,bridge) are tagged independently — coordinate release versions with the root module if a change spans both.
Reporting issues
Open an issue at https://github.com/danmestas/EdgeSync/issues with
reproduction steps, expected vs. actual behavior, and which submodule
(edgesync, leaf, bridge, iroh-sidecar) is affected.