A linter that catches insensitive, inconsiderate writing in plain text, HTML, Markdown, and MDX.
Alex is a natural language linter that helps catch insensitive, inconsiderate, or unequal phrasing in written content. It analyzes text for gender bias, ableist language, intolerant phrasing, and profanities, offering constructive suggestions to promote more inclusive communication. The tool is designed to integrate into writing and development workflows to improve content quality.
Developers, technical writers, content creators, and teams who want to ensure their documentation, comments, and user-facing text are inclusive and free from unintentional bias.
Alex provides automated, educational feedback on language sensitivity directly in the tools developers already use, with support for multiple formats and extensive customization. It helps teams adopt inclusive writing practices without requiring deep expertise in sociolinguistics.
Catch insensitive, inconsiderate writing
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works with plain text, HTML, Markdown, and MDX, ignoring syntax to focus on content, as highlighted in the README's key features.
Assumes good intent and provides constructive alternatives, aiming to help users learn inclusive writing rather than just flagging errors, as stated in the philosophy.
Allows ignoring or disabling specific rules via configuration files or inline comments, offering flexibility in how checks are applied, as detailed in the Control section.
Integrates with various tools like Sublime, Gulp, Slack, GitHub Actions, and more, making it easy to fit into existing workflows, as listed in the Integrations section.
Alex admits it isn't very smart and can flag innocent phrases, such as 'pop up' being warned as potentially insensitive, requiring manual intervention or configuration adjustments.
The API is ESM-only, requiring Node.js 14+ and import syntax, which complicates integration in older CommonJS projects or environments with legacy setups.
Relies on fixed rule sets from retext-equality and retext-profanities, which may not account for all cultural or contextual nuances, as acknowledged in the FAQ.