Getting started
Install
Install the plugin together with bpmnlint (its peer dependency):
bash
npm install --save-dev @miragon/bpmnlint-plugin-rules bpmnlintUse it (the bpmnlint way)
Add the plugin to your .bpmnlintrc and extend one of its configs, like any other plugin:
jsonc
// .bpmnlintrc
{
"extends": [
// standard structural rules
"bpmnlint:recommended",
// the Miragon layer, pick a scope below
"plugin:@miragon/rules/recommended-for-<scope>",
// optional: Camunda engine rules, see below
// "plugin:camunda-compat/camunda-cloud-8-10",
],
}It ships three configs — pick one by who's modeling and why:
plugin:@miragon/rules/recommended-for-modeling— for purely business/technical models, and for modeler applications that surface linting to their users. Layout hints only: bpmnlint'sstandard-sizeand the layout rules atwarn, the naming/id rules off — a modeler is never blocked on execution-only conventions.plugin:@miragon/rules/recommended-for-automation— for developers automating processes, locally and in CI, on models wired up to a Camunda engine. Every Miragon rule on but as a non-blockingwarn(standard-sizetoo), so ids and layout get flagged without failing the build.plugin:@miragon/rules/all— every Miragon rule aterror, engine-agnostic. The strict gate to opt into when you want findings to fail the build.
Then lint a diagram:
bash
npx bpmnlint diagram.bpmnNext steps
- Presets: which of the three configs fits who is modeling.
- Camunda 7 / 8 engines: add the deployability rules for your engine.
- CI & programmatic API: run it as a merge gate or from code.
- Rules: every rule with a reported and a clean example.