Rules
All ESLint rules provided by eslint-plugin-conventions
9 Rules Available
Team-specific disciplinary patterns and code conventions.
All Rules
| Rule | 🧠 | 💼 | 🔧 | 💡 | ⚠️ | Docs |
|---|---|---|---|---|---|---|
| analytics-event-naming Analytics event names (track/capture) must follow ANALYTICS_PHILOSOPHY.md principle 4: lowercase snake_case, category:object_action, fixed verb list | 🟢 | |||||
| consistent-existence-index-check Enforce consistent style for checking object property existence | 🟢 | |||||
| expiring-todo-comments Add expiration conditions to TODO comments to prevent forgotten tasks | 🟢 | |||||
| filename-case Enforce filename case conventions for consistency | 🟢 | |||||
| no-commented-code Detects commented-out code blocks | 🟢 | |||||
| no-console-spaces Prevent leading/trailing space between console.log parameters | 🟢 | |||||
| no-deprecated-api Prevent usage of deprecated APIs with migration context | 🟢 | |||||
| no-json-schema-tags Disallow JSON Schema keywords used as JSDoc tags (e.g. @minimum, @maximum) | 🟢 | |||||
| no-magic-numbers Disallow magic numbers (numeric literals without a named constant) | 🟢 | |||||
| no-raw-cross-property-href Forbid hand-written cross-property hrefs; use buildUtmHref() from lib/utm.ts | 🟢 | |||||
| prefer-code-point Prefer codePointAt over charCodeAt for proper Unicode character handling | 🟢 | |||||
| prefer-dependency-version-strategy Enforce consistent version strategy (caret, tilde, exact, etc.) for package.json dependencies | 🟢 | |||||
| prefer-dom-node-text-content Prefer textContent over innerText for better performance and reliability | 🟢 | |||||
| require-data-testid Require stable `data-testid` attributes on interactive elements and custom components for testability. | 🟢 | |||||
| utm-taxonomy Validate utm_source and utm_medium values against the fixed taxonomy in UTM_PHILOSOPHY.md | 🟢 |
Building secure JavaScript with Interlace? Star the repo to get new rules and CWE coverage as we ship them — or follow the AI-code-security benchmarks behind them.