Join the allowlist, then bring up the suite in order.
Every project in the suite lives in a private Radicle repo. The only way in is the allowlist, so your key can clone. After that, the order matters. Follow it and you won’t re-run things.
Step 1 — Request access
Email info@bitlemmas.com with the subject “Community Infra repo allowlist.” Include:
- Your Radicle DID. Run
rad self --didon a machine where you’ve already runrad auth. - Which projects you want access to (all four below, or a subset).
- A short note about what you plan to do: run a seed, run a runner, or follow along.
Once your DID is on the allowlist for a repo, the seed shares it
with your machine on the next rad sync.
Step 2 — Bring up the suite in order
The architecture page has the full diagram. Below are the commands in the order most operators run them. Each project ships its own README with more detail once you’ve cloned it.
-
radicle-seed-kit — bring up the seed first
Without a healthy seed, the other projects can’t copy their data. Seed Kit comes with DigitalOcean setup scripts and a friend-onboarding flow. The README covers both.
rad clone <rid> radicle-seed-kit cd radicle-seed-kit cat README.md # follow RADICLE_DO_SEED.md to provision the seed, # then RADICLE_SEED_ONBOARDING.md to mirror your repos to it. -
radicle-priorities — the backlog protocol
Add the backlog protocol so the rest of the suite’s scenarios show up in one place. The methodology site at extremebdd.com has the walkthrough video. The repo holds the board server.
rad clone <rid> radicle-priorities cd radicle-priorities python3 scripts/board_server.py --repo . # open http://127.0.0.1:8844/ -
poor-mans-ci — runner + test results
Set up the runner host. PMCI 0.4 ships with checkouts pinned to a commit, pinned runner images, and the artifact mirror by default. Run it against your canonical Radicle ref to start writing test results for every commit.
rad clone <rid> poor-mans-ci cd poor-mans-ci cat docs/PMCI_PROTOCOL.md # wire your runner per docs/ARCHITECTURE__END_TO_END.md -
poor-mans-cd — release manifests + deploy host
Bring PMCI test results into a deploy plane. The PMCD dashboard reads PMCI results and gates promotion. The deploy itself uses the manifest and checks the hash.
rad clone <rid> poor-mans-cd cd poor-mans-cd python3 -m pmcd --help # walk through docs/ARCHITECTURE.md and docs/DO_RUNNER_DASHBOARD_PROVISION.md -
ecsc — (optional) reciprocal service payments
Once you have a peer operator and you both want to settle service work over Lightning, add ECSC. It binds every signed payment state to PMCI/PMCD evidence so no claim settles without matching proof. The committed live regtest fixture replays offline with no Lightning infra required — that is the fastest way to understand the proof gate.
rad clone <rid> evidence-coupled-service-channels cd evidence-coupled-service-channels python3 scripts/ecsc_conformance.py --fixtures-dir fixtures/v0 --no-record-ui # then watch the walkthrough at projects.html#ecsc
Smoke test: does it work end to end?
After the four core projects are up (ECSC is optional and layers on later), here’s the standard smoke test:
-
Open a Radicle issue from one peer.
Use Radicle Priorities to land the issue with a
@pendingBDD scenario that references it. -
Spread the change through the seed.
Run
rad syncon the originating machine. Seed Kit’s timers should mirror it within a minute. -
Run a PMCI build on the runner.
Check that a test result lands in
pmci-out/and the artifact mirror serves the sha256. -
Promote a PMCD release manifest.
Check that the deploy host installs only when the sha256 matches. It should write a receipt to
/var/lib/pmcd/receipts/.
If all four steps work without a hosted CI provider, a central forge, or a SaaS dashboard, the suite is doing its job.
bdd/features/ and
a contributor guide in AGENTS.md or README.md.
If you get stuck on bring-up, the fastest path is to open an issue
in that repo with rad issue open, tagged
support. Maintainers see it on their next sync.