{"id":25889,"library":"lint","title":"universal AI-powered linter","description":"Lint is a universal linter (v1.2.2) that wraps ESLint, Prettier, RuboCop, Biome, Ruff, and Oxlint into a single CLI with AI-powered code review. It supports all major languages and integrates with git hooks for pre-commit checks. The tool uses OpenAI/Anthropic APIs for intelligent fix suggestions and merges configuration from multiple tools. Released monthly, it differentiates by unifying disparate linters and offering AI-driven remediation.","status":"active","version":"1.2.2","language":"javascript","source_language":"en","source_url":"https://github.com/osmove/lint","tags":["javascript","lint","linter","eslint","prettier","rubocop","biome","ruff","oxlint","typescript"],"install":[{"cmd":"npm install lint","lang":"bash","label":"npm"},{"cmd":"yarn add lint","lang":"bash","label":"yarn"},{"cmd":"pnpm add lint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"requires Node >=20","package":"node","optional":false}],"imports":[{"note":"ESM-only since v1. Use dynamic import() for CommonJS.","wrong":"const lint = require('lint')","symbol":"lint","correct":"import { lint } from 'lint'"},{"note":"Named export, not a subpath.","wrong":"import { lintFiles } from 'lint/files'","symbol":"lintFiles","correct":"import { lintFiles } from 'lint'"},{"note":"Named export, not default.","wrong":"import format from 'lint'","symbol":"format","correct":"import { format } from 'lint'"}],"quickstart":{"code":"import { lint } from 'lint';\n\nconst result = await lint({\n  files: ['src/**/*.{js,ts,jsx,tsx}'],\n  aiKey: process.env.OPENAI_API_KEY ?? '',\n  tools: ['eslint', 'prettier'],\n  fix: true\n});\n\nconsole.log(result.summary);","lang":"typescript","description":"Lint a glob of files with ESLint and Prettier, auto-fix issues, and output summary using AI-powered suggestions."},"warnings":[{"fix":"Upgrade Node to >=20.","message":"v1.0.0 removed support for Node 18. Minimum Node version is now 20.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use 'tools' instead of 'linters'.","message":"The 'linters' option was renamed to 'tools' in v1.2.0.","severity":"breaking","affected_versions":">=1.2.0"},{"fix":"Replace require with import.","message":"require('lint') is deprecated. Use ESM import instead.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Set OPENAI_API_KEY or pass aiKey in options.","message":"When using AI features, OpenAI API key must be set via environment variable or passed in options. Without key, AI fix suggestions are disabled.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Check tool-specific documentation for fix behavior.","message":"The 'fix' option only applies to ESLint and Prettier; other tools may require separate fix flags.","severity":"gotcha","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":"npm install lint && use import instead of require.","cause":"Package not installed or ESM-only module required with require().","error":"Error: Cannot find module 'lint'"},{"fix":"Import { lint } from 'lint' instead of import lint from 'lint'.","cause":"Default import used instead of named import.","error":"TypeError: lint is not a function"},{"fix":"Replace 'linters' with 'tools'.","cause":"Using deprecated option name 'linters'.","error":"ERROR: 'linters' is not a valid option. Did you mean 'tools'?"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}