{"id":26046,"library":"open-md-checker","title":"open-md-checker","description":"Open-md-checker is an open-source, extensible markdown linting tool available as a global npm module (v1.2.3). It checks markdown files for formatting issues using configurable rules from the remark-lint ecosystem. Key differentiators include support for custom rule files, integration with .gitignore, configuration via package.json or environment variables, and optional Docker usage. It offers a flexible Config interface with patterns and options for ignoring files. The tool is stable but has limited recent updates compared to alternatives like markdownlint.","status":"active","version":"1.2.3","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install open-md-checker","lang":"bash","label":"npm"},{"cmd":"yarn add open-md-checker","lang":"bash","label":"yarn"},{"cmd":"pnpm add open-md-checker","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"For file pattern matching and ignoring files based on .gitignore or package.json configuration.","package":"deglob","optional":false},{"reason":"Core linting engine, although not explicitly listed in dependencies, is used via the default requires file.","package":"remark-lint","optional":false}],"imports":[{"note":"Use npx to run without global install; the package is designed as a CLI tool, not a library.","wrong":"open-md-checker","symbol":"CLI","correct":"npx open-md-checker"},{"note":"Config type is available for TypeScript users; no default export for programmatic use.","wrong":"","symbol":"Config","correct":"import type { Config } from 'open-md-checker'"},{"note":"No direct API export; configuration is read from files or environment, not imported.","wrong":"import defaults from 'open-md-checker'","symbol":"default configuration","correct":"const config = require('open-md-checker/defaults');"}],"quickstart":{"code":"# Install globally\nnpm install -g open-md-checker\n# Create a markdown file with issues\necho '## Title' > test.md\n# Run the linter\nopen-md-checker\n# Or use configuration via environment\nMD_LINT_CONFIG_PATH=./open-md-checker.json open-md-checker","lang":"shell","description":"Shows global install and usage, including environment variable for custom config."},"warnings":[{"fix":"Use the correct structure: { 'open-md-checker': { patterns: ['**/*.md'], options: {} } }","message":"Configuration must be placed under 'open-md-checker' key in package.json; reading from a plain config file requires MD_LINT_CONFIG_PATH environment variable.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use absolute paths or ensure the file exports an array of remark-lint rules.","message":"Custom rules via 'requires' field must be in a CommonJS module (module.exports = [...]); relative paths are resolved from cwd.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Consider migrating to markdownlint-cli2 for more features and active maintenance.","message":"The package is stable but not actively developed; newer alternatives like markdownlint-cli2 exist.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Export the correct path: export MD_LINT_CONFIG_PATH=./valid-config.json","cause":"The MD_LINT_CONFIG_PATH points to a non-existent or invalid file.","error":"Error: Config file not found"},{"fix":"Install the required lint rule: npm install remark-lint-final-newline","cause":"Custom rules require module installed; missing in node_modules or dependencies.","error":"Error: Cannot find module 'remark-lint-final-newline'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}