alex is an open-source CLI and Node.js linter that catches insensitive and exclusionary phrasing in Markdown and HTML docs within CI/CD pipelines.
Cloud-hosted writing assistants require transmitting repository documentation to external servers and rarely integrate cleanly into build automation. alex functions as a local command-line utility and Node.js library that inspects Markdown, HTML, and MDX files directly inside your development workflow. It catches gender-favoring, ableist, and polarizing phrasing at the pull request stage without exposing private text over the network.
While consumer text tools operate through browser extensions or closed desktop apps, technical documentation requires automated validation within continuous integration pipelines. General prose linters often demand writing complex regular expressions or maintaining custom YAML style rules just to flag common non-inclusive terms. alex delivers an out-of-the-box ruleset powered by the unified and retext syntax tree ecosystem. By parsing Markdown and MDX syntax trees rather than treating files as raw strings, it inspects text nodes while ignoring inline code spans, code blocks, and URLs where technical terms would trigger false positives.
The tool focuses strictly on equality and considerate language rather than full-spectrum proofreading. It will not flag spelling mistakes, grammatical errors, or awkward phrasing. Instead of attempting to replace a human copy editor, it serves as a lightweight gatekeeper that developers run via npm scripts, GitHub Actions, or pre-commit hooks. Engineering teams typically pair alex with dedicated spell-checkers, using its CLI flags to stop exclusionary terms from reaching public documentation.
--diff flag that checks only modified lines in pull requests, preventing legacy warnings from breaking active builds..alexrc files in JSON or YAML, JavaScript configs, or package.json, supporting granular allow and deny lists..alexrc, and rules cannot be scoped to specific directory paths (GitHub issue #340).Does alex check grammar and spelling? No. It only identifies insensitive, gender-favoring, ableist, or polarizing terms and profanities, so teams should pair it with separate linters for syntax checks.
Can alex run in continuous integration without failing on legacy files?
Yes. Passing the --diff flag restricts checks to lines modified in the current pull request or commit.
Does alex send documentation to external servers? No. The tool runs locally in your Node.js runtime or CI runner, keeping private repositories within your infrastructure.
alex provides a focused, reliable safeguard for teams maintaining considerate documentation within automated developer workflows. An MIT license permits embedding it into proprietary build tooling and commercial repositories without restriction, while active maintenance through late 2024 ensures support for modern Node.js environments. It does not replace a general grammar checker, but as an automated gate for inclusive technical documentation, it performs its role cleanly.
Commands from the official package registries. Each package is matched to alex through the registry's own link to its source code or website.
brew install alexjsbrew install alexjsGo, gRPC and Protobuf done right, LLM agents in production, and the hard parts of shipping a first product.
Show that alex is listed as an open-source alternative. Paste into your README: