eslint-markdown es un plugin para ESLint que añade reglas específicas de análisis estático orientadas a archivos Markdown. Está publicado como paquete en npm dentro del repositorio lumirlumir/npm-eslint-markdown y se distribuye bajo licencia open source, con código, issues y documentación accesibles desde GitHub.
La herramienta está pensada para complementar, y no para sustituir, al soporte oficial de Markdown integrado en ESLint a través de @eslint/markdown. Mientras este último aporta las funcionalidades base, eslint-markdown incorpora reglas adicionales que cubren casos que el conjunto oficial no aborda, sin solaparse con él. El propio README recomienda usar ambos paquetes en paralelo para aprovechar al máximo la cobertura de reglas.
En la práctica, el plugin permite ejecutar ESLint sobre ficheros .md o .markdown del proyecto, detectar inconsistencias estilísticas, problemas de formato, enlaces rotos, malas prácticas en bloques de código, tablas o listas, y aplicar convenciones de forma automática. Funciona con la configuración estándar de ESLint, por lo que se integra en pipelines de CI/CD, hooks de pre-commit y editores compatibles con el ecosistema.
El proyecto sigue políticas habituales de proyectos open source mantenidos por la comunidad: cuenta con un Code of Conduct basado en Contributor Covenant, una política de seguridad para reportar vulnerabilidades, un Change Log para seguir la evolución de versiones y una guía de Versioning con criterios de compatibilidad. La documentación completa se aloja en un sitio independiente (eslint-markdown.lumir.page), donde se detallan las reglas disponibles, las opciones de configuración y ejemplos de uso.
Está dirigido a equipos de desarrollo y redactores técnicos que mantienen repositorios con abundante documentación en Markdown —como proyectos de software, wikis internas, blogs técnicos o generate-READMEs— y quieren aplicar los mismos estándares de calidad de código al texto. Entre sus limitaciones cabe señalar que depende de ESLint y de @eslint/markdown como capa base, por lo que no es un reemplazo del linter principal, sino una extensión. La alternativa más cercana es recurrir únicamente a @eslint/markdown o a herramientas específicas de Markdown como markdownlint, aunque estas no se integran con el ecosistema de reglas de JavaScript de ESLint.
