The .feature file is the spec, the backlog, and the contract.
Extreme-BDD treats BDD scenarios as the single source of truth. Radicle issues become the collaboration surface, the local board reads your working tree directly, and your seed replicates the whole loop. No external tracker, no parallel backlog, no central server.
What you get
Spec = backlog
Every backlog item is a @pending scenario in a .feature file with a priority tag and an As a <Profile> actor.
Board reads working tree
The local board UI parses your bdd/features/*.feature directly. No commit required to see the backlog.
Issues mirror the spec
A sync script opens or edits Radicle issues for each pending scenario and writes the scenario → issue map locally.
Sovereign hosting
Replicate via your own Radicle seed. The board, the docs, and this site can all live on a single droplet you control.
The whole loop in one block
Why “extreme”?
Because the spec, the backlog, and the acceptance criteria collapse into
one artifact instead of three. There is no separate ticket system to
drift out of sync with the spec, and there is no spec document to drift
out of sync with the tickets. Every change is one commit to one
.feature file, and Radicle replicates that commit to every
collaborator without a forge in the middle.
bdd/features/, the board UI is in web/, and the
Radicle issues mirror is in scripts/sync_bdd_issues.py.