You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No JS linter today (tsc + vitest + playwright). Solid app, 248 files. oxlint has no eslint-plugin-solid equivalent, so reactivity rules stay uncovered (they are uncovered today too). Effort: M.
Baseline: 29 findings — 20 no-unassigned-vars (almost all Solid ref bindings: let root; <div ref={root}> — false positives), 6 no-unused-expressions, 1 each prefer-string-starts-ends-with, no-irregular-whitespace, no-control-regex.
Agent plan
Goal: oxlint is the primary lint gate (edit loop + CI), per workspace AGENTS.md "Frontend tooling". Audit source: oxlint 1.80.0 run on this tree, 2026-08-25.
Checklist:
Add oxlint + .oxlintrc.json
Handle Solid ref false positives: prefer let root!: HTMLDivElement or disable no-unassigned-vars for .tsx
Fix the 9 real findings
Add CI Lint step
lint script runs oxlint; CI "Lint" step uses it
Baseline is clean (fix findings or justify per-rule disables in .oxlintrc.json)
Add .complexity-gate.json (complexity-gate init, defaults) and complexity-gate check <src> in CI; existing FAILs are legacy — gate only changed functions via hooks, but CI baseline must be clean or explicitly allowlisted
No JS linter today (tsc + vitest + playwright). Solid app, 248 files. oxlint has no
eslint-plugin-solidequivalent, so reactivity rules stay uncovered (they are uncovered today too). Effort: M.Baseline: 29 findings — 20
no-unassigned-vars(almost all Solidrefbindings:let root; <div ref={root}>— false positives), 6no-unused-expressions, 1 eachprefer-string-starts-ends-with,no-irregular-whitespace,no-control-regex.Agent plan
Goal: oxlint is the primary lint gate (edit loop + CI), per workspace
AGENTS.md"Frontend tooling". Audit source: oxlint 1.80.0 run on this tree, 2026-08-25.Checklist:
.oxlintrc.jsonreffalse positives: preferlet root!: HTMLDivElementor disableno-unassigned-varsfor.tsxlintscript runs oxlint; CI "Lint" step uses it.oxlintrc.json).complexity-gate.json(complexity-gate init, defaults) andcomplexity-gate check <src>in CI; existing FAILs are legacy — gate only changed functions via hooks, but CI baseline must be clean or explicitly allowlistedValidation:
bunx oxlint(ornpx oxlint) exits 0 on the treecomplexity-gate check <src>exits 0Current status: Planned
Next action: open PR