react-doctor/design-no-default-tailwind-palette
Replace `indigo-*` / `gray-*` / `slate-*` with project tokens, your brand color, or a less-default neutral (`zinc`, `neutral`, `stone`)
- Category: Architecture
- Severity: warn
- Source:
oxlint-plugin-react-doctor - Framework: global
- Enabled when: always
Validation prompt
Use this to decide whether a fired diagnostic is real or a false positive.
Fires when className contains a Tailwind utility (text/bg/border/ring/fill/stroke/from/to/via/decoration/divide/outline/placeholder/caret/accent/shadow) paired with the indigo, gray, or slate palette name and one of the canonical Tailwind stops 50-950. Radix Colors scales like text-gray-11 or fill-gray-12 are intentionally NOT flagged — those stops aren't Tailwind defaults.
Fix prompt
Use this once validation confirms the diagnostic is real.
For indigo, swap to your brand color or a project token. For gray/slate, switch to zinc (true neutral), neutral (warmer), or stone (warmest) — same Tailwind shape, instantly less template-default. If you have a design-tokens layer, prefer semantic classes like text-foreground or bg-muted. https://tailwindcss.com/docs/colors
Related rules
More Architecture rules from the rules reference:
react-doctor/design-no-em-dash-in-jsx-text: Replace em dashes in JSX prose with commas, colons, semicolons, or parentheses so UI copy reads less like generated text.react-doctor/design-no-redundant-padding-axes: Collapse `px-N py-N` to `p-N` when both axes match. Keep them split only when one axis varies at a breakpoint (`py-2 md:py-3`)react-doctor/design-no-redundant-size-axes: Collapse `w-N h-N` to `size-N` (Tailwind v3.4+) when both axes matchreact-doctor/design-no-space-on-flex-children: Use `gap-*` on the flex/grid parent. `space-x-*` / `space-y-*` produce phantom gaps when a sibling is conditionally rendered, lose vertical spacing on wrapped lines, and don't mirror in RTLreact-doctor/design-no-three-period-ellipsis: Use the typographic ellipsis "…" (or `…`) instead of three periods — pairs with action-with-followup labels ("Rename…", "Loading…")