{ "plugins": [ "react", "import" ], "rules": { "react/forbid-elements": [ "warn", { "forbid": [] } ], "no-restricted-imports": [ "warn", { "patterns": [ { "group": [ "components/core/**", "components/forms/**", "components/icons/**", "components/surfaces/**" ], "message": "Import design-system components from 'index.js', not component internals." } ] } ], "no-restricted-syntax": [ "warn", { "selector": "Literal[value=/#[0-9a-fA-F]{3,8}\\b/]", "message": "Raw hex color — use a design-system color token via var()." }, { "selector": "Literal[value=/\\b\\d+px\\b/]", "message": "Raw px value — use a design-system spacing token via var()." }, { "selector": "Literal[value=/font-family\\s*:\\s*(?!['\\\"]?(?:JetBrains Mono))/i]", "message": "Font not provided by the design system. Available: JetBrains Mono." }, { "selector": "JSXOpeningElement[name.name='Badge'] > JSXAttribute > JSXIdentifier[name!=/^(?:tone|children|key|ref|className|style|children)$/]", "message": " doesn't accept that prop. Declared props: tone, children." }, { "selector": "JSXOpeningElement[name.name='Badge'] > JSXAttribute[name.name='tone'] > Literal[value!=/^(?:default|success|error|muted)$/]", "message": " tone must be one of 'default' | 'success' | 'error' | 'muted'." }, { "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute > JSXIdentifier[name!=/^(?:variant|size|disabled|children|key|ref|className|style|children)$/]", "message": "