From a0fcb65f5d923cb2c86af6a0fdb376c1945c9f9f Mon Sep 17 00:00:00 2001 From: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 10 May 2026 09:23:05 +0000 Subject: [PATCH] chore(web): add local eslint plugin with UI audit guards (UI audit #6) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a local ESLint plugin (web/eslint-local/) with three custom rules implementing the preventive guardrails from docs/ui/UI_AUDIT.md §5: - bytelyst-trading/truncate-needs-title flags JSX elements using Tailwind 'truncate' / 'line-clamp-*' / 'text-ellipsis' without a paired title= or aria-label= (Pattern E) - bytelyst-trading/grid-needs-minmax flags gridTemplateColumns string values with bare Nfr tracks not wrapped in minmax(0, ...). Catches both literal and template-string forms; verifies *every* fr is wrapped, not just one (Pattern F) - bytelyst-trading/no-button-with-stacked-children flags