# Install bpmnlint with Homebrew

Validate BPMN diagrams based on configurable lint rules. Version 11.12.1 via Homebrew; verified 2026-04-23.

## Install

```sh
sudo av install brew:bpmnlint
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bpmnlint
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:bpmnlint
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bpmnlint>
- **Version:** 11.12.1
- **Source summary:** Validate BPMN diagrams based on configurable lint rules
- **Homepage:** <https://github.com/bpmn-io/bpmnlint>
- **Repository:** <https://github.com/bpmn-io/bpmnlint>
- **Upstream docs:** <https://github.com/bpmn-io/bpmnlint#readme>
- **License:** MIT
- **Source archive:** <https://registry.npmjs.org/bpmnlint/-/bpmnlint-11.12.1.tgz>
- **Last updated:** 2026-04-23T11:46:39Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bpmnlint (cli)
- bpmnlint (alias)

## Dependencies

- node

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 11.12.1
- Package-manager updated: 2026-04-23
- Local data: ok
- Upstream repository: https://github.com/bpmn-io/bpmnlint
- info: No cached GitHub release or tag data was available.
## Project history and usage

bpmnlint is the bpmn.io linting tool for validating BPMN diagrams against configurable rules. It gives BPMN model files the same sort of repeatable command-line checks that source code gets from language linters.

### Project history

The official repository README presents bpmnlint as a command-line and Node.js library for validating BPMN diagrams, configured through `.bpmnlintrc` and rule sets such as `bpmnlint:recommended`. The first visible tagged alpha in the repository dates to September 2018, followed by v1.0.0 the next day.

The changelog shows steady rule and platform evolution: configurable rules, browser bundling, custom rule resolution, BPMN DI checks, moddle extensions, Node version requirements, and new correctness/recommended rule coverage.

### Adoption history

bpmnlint's adoption is mostly inside the BPMN and bpmn.io ecosystem. The README points to npm installation, custom plugins, visual feedback through bpmn-js-bpmnlint, a playground, generated docs images, and bundler integrations.

Homebrew packaging gives the CLI a system-package route, but the upstream distribution model is clearly npm and Node.js module resolution, especially for plugins named `bpmnlint-plugin-*`.

### How it is used

Typical usage runs `bpmnlint invoice.bpmn` and receives line-item errors and warnings for process modeling problems such as missing start or end events, unlabeled elements, and sequence-flow issues.

Teams configure `.bpmnlintrc` with built-in rulesets, custom rule severities, plugins, and optional moddle extensions. The API also allows embedding linting in Node.js tools that parse BPMN XML with bpmn-moddle.

### Why package nerds care

bpmnlint is notable because it packages a domain-specific modeling discipline as a familiar CLI linter. It brings BPMN quality checks into CI and editor workflows instead of leaving validation only inside graphical modeling tools.

For package collections, it is a niche but useful example of Node-based developer tooling escaping npm-only usage and becoming a command installed by system package managers.

### Timeline

- 2018: v1.0.0-alpha5 and v1.0.0 tags appear in September.
- 2020: 7.8.0 added configurable rules according to the changelog.
- 2024: 11.0.0 required Node 20 according to the changelog.
- 2026: 11.12.1 tag appears in the official GitHub repository.

### Related projects

- The README names bpmn-js-bpmnlint for visual modeling feedback, bpmnlint-playground for trying rules, bpmnlint-plugin-example for plugin authors, and bpmn-moddle for BPMN XML parsing.
- It is part of the broader bpmn.io project family, alongside BPMN modeling, moddle, and browser-based BPMN tooling.

### Sources

- <https://github.com/bpmn-io/bpmnlint#readme>
- <https://github.com/bpmn-io/bpmnlint/blob/main/CHANGELOG.md>
- <https://github.com/bpmn-io/bpmnlint/tree/main/docs/rules>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .bpmnlintrc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bpmnlint
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [node](https://www.automicvault.com/pkg/brew/node/) - Runtime dependency declared by Homebrew.
- [actionlint](https://www.automicvault.com/pkg/brew/actionlint/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [bashate](https://www.automicvault.com/pkg/brew/bashate/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [checkbashisms](https://www.automicvault.com/pkg/brew/checkbashisms/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [checkmake](https://www.automicvault.com/pkg/brew/checkmake/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [codespell](https://www.automicvault.com/pkg/brew/codespell/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [cpplint](https://www.automicvault.com/pkg/brew/cpplint/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [editorconfig-checker](https://www.automicvault.com/pkg/brew/editorconfig-checker/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [flake8](https://www.automicvault.com/pkg/brew/flake8/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [bpmnlint](https://www.automicvault.com/pkg/npm/bpmnlint/) - Same normalized package name appears in another local ecosystem. Shared terms: based, bpmn, bpmnlint, configurable, diagrams.
- [markdownlint-cli](https://www.automicvault.com/pkg/brew/markdownlint-cli/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, lint, linting.
- [markdownlint-cli2](https://www.automicvault.com/pkg/brew/markdownlint-cli2/) - Both packages touch the same language runtime or ecosystem. Shared terms: based, cli, developer, developer-tools, linting.
- [bpmnlint](https://www.automicvault.com/pkg/npm/bpmnlint/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/bpmnlint.yml](https://github.com/automic-vault/db/blob/main/combined/bpmnlint.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
