# Linter Package Shared ESLint 9 flat config for the monorepo. Exports `createLinterConfig()` from `index.js`. ## Usage Each package consumes it explicitly — no hidden defaults: ```javascript const { createLinterConfig } = require('@humand-packages/linter'); module.exports = createLinterConfig({ globalIgnores: ['build/**', 'dist/**'], typescript: { enabled: true, files: ['src/**/*.ts'] }, tests: { enabled: true, files: ['test/**/*.ts'] }, yaml: { enabled: true, files: ['**/*.yml'] }, }); ``` ## Rule Sets | Rule Set | Key Rules | |----------|-----------| | Base | Prettier (4-space indent, 150 char width, single quotes), import ordering, `no-console: error`, `sort-keys: warn` | | TypeScript | Type checking, unused imports auto-removal, member ordering, floating promises, `no-explicit-any: off` | | Tests | Jest best practices, `it` not `test`, formatting rules | | Route Files | Relaxed `no-misused-promises` for Express route handlers | | Integration Tests | `no-console: off` | | YAML | Syntax validation | ## Guidelines - Every rule set requires `enabled: true` and a `files` array — nothing is on by default. - Changes here affect linting across the entire monorepo. Confirm with the user before modifying. - Run `pnpm nx run-many --target=lint` after any change to verify nothing breaks. See also: other package AGENTS (e.g. `humand-packages/scheduled-actions/AGENTS.md`).