Skip to content

Sweep codebase for TypeScript and Mantine/React rule violations (AGENTS.md) #1762

Description

@cliffhall

Summary

Do a codebase-wide audit sweep for violations of the TypeScript and Mantine/React conventions codified in `AGENTS.md`, and fix (or file follow-ups for) what turns up.

Scope — what to sweep for

TypeScript rules

Mantine / React rules

  • No inline styles (`style={{ ... }}`) on components.
  • No raw hex values (`#ddd`, etc.) or `rgba()` literals in component props or theme files — use `--inspector-*` CSS custom properties.
  • No `div`/basic HTML elements used purely for layout — prefer Mantine `Box`/`Group`/`Stack`.
  • No CSS class where the style could be a component prop or theme variant; CSS classes are a last resort (only pseudo-selectors, nested child selectors, keyframes, native HTML element styles belong in App.css).
  • Flat CSS properties (margin, padding, background, border, color, font-size, …) in App.css that should be theme variants or `.withProps()`.
  • Subcomponents with 2+ props not declared as named `.withProps()` constants; `Box` used for a `.withProps()` subcomponent constant (Box doesn't support `.withProps()`).
  • Domain-specific variant logic pushed into theme files instead of the owning element component; element components importing from `src/theme/` instead of `@mantine/core`.
  • No inline code — extract to named functions in the same file (or a shared location if reusable).

Deliverable

A categorized inventory of violations with file:line references, and PRs fixing them (batched sensibly by rule category so each stays reviewable). Genuinely-unavoidable cases get a justified inline comment rather than a silent pass.

Metadata

Metadata

Assignees

Labels

v2Issues and PRs for v2

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions