Configuration
One file, vinaya.config.json, sets it all up. An empty file is a full harness; add a key only to change what runs.
- vinaya.config.json
- All optional
- Harness keys
- Trust anchor
Read the Configuration docs
$ vinaya initHow it works
One file, reviewed like any other
- The file and its keysEvery top-level key: who owns it, what it sets, and what happens when you leave it out.
- TrustKeys that decide who may merge are read from the default branch, never from the pull request.
- Setup commandsinit installs, doctor diagnoses, upgrade regenerates, eject reverses the install exactly.
What it never doesIt declares.
It declares.
It never runs code.
It selects and parameterizes what is installed. Reviewed like any other file, it is the audit trail.
- 01No code. It cannot load code, grant authority, or switch off a protection.
- 02No self-rewrite. A change cannot rewrite its own rules: sensitive keys come from the default branch.
- 03No silent loss. A removed key is refused loudly, naming the one that replaced it.
Start with an empty file
init writes a starter and records what it installed. Add a key only when you need it.
$ vinaya init$ vinaya doctor