Development
bash
make install
make verify # validate, format, lint, analyze, 100% line coverage, audit
make infection # mutation testingTests use dot when it is installed. They stand in for plantuml and mmdc with scripted fakes. Line coverage of src/ is held at 100%.
Parity
- PlantUML: self-authored fixtures under
tests/fixtures/plantuml-parity, with goldens recorded from the jar pinned intools/plantuml.lock(tools/record-plantuml-parity.php).PlantUmlParityTestgrades them, and a weekly workflow checks the goldens against the jar itself. - Graphviz:
tools/random-dot-graphs.phpwrites random graphs fortools/compare-dot-layout.php, which compares the native layout withdot's.
Clean room
The native Graphviz is written from published papers and dot's observed output only, never from Graphviz's source, PlantUML's Smetana port of it included. The PlantUML and Mermaid ports follow their MIT-licensed sources, whose notices are kept in resources/licenses/.
Documentation
This site is built with VitePress from docs/:
bash
cd docs
npm ci
npm run devIt is deployed to GitHub Pages on every push to main that touches it, and after each release.
