用途:把仓库正确接入 @howells/lint 预设,并检查包本身无法替你完成的配置问题。核心问题是 Oxlint 只识别 oxlint.config.ts 和 oxlint.config.mts,命名为 .mjs、.js、.cjs 或 oxlint.config.json 的配置不会被读取,运行静默且退出码为 0;依赖 @howells/lint 但完全没有配置的仓库也处于同样状态。
主要能力:提供 scripts/sweep.mjs,遍历目录下每个包,报告永不加载的配置、依赖 @howells/lint 却无配置的包、缺失的预设导入以及 lint 脚本中的 --config,只读运行。scripts/fix.mjs <repo> 对单个仓库应用设置:升级依赖、替换策略别名、按依赖重命名或创建配置、固定 .node-version,不执行安装和 git 操作。
使用方式:要求 Node 24.15.0 或更高并在 .node-version 固定,pnpm 写入 packageManager。@howells/lint 是唯一直接 lint 依赖,不要直接添加 oxlint、oxfmt、ultracite 等,也不要用别名挂旧版本。每个需要 lint 的包放一个 oxlint.config.ts,按依赖选择 @howells/lint/oxlint/core、react、next,E2E 规格用 playwright 叠加。oxfmt.config.ts 需重新导出或展开 @howells/lint/oxfmt。脚本用 "lint": "howells-check ." 和 "lint:fix": "howells-fix .",monorepo 包脚本中不要加 --config。运行 pnpm lint 并查看输出中的规则名验证是否加载。
限制:不得在配置层关闭规则来缩小积压,不得保留兼容或策略垫片,不得为范围外插件添加规则条目,不得在 monorepo 根运行 howells-oxfmt --write .。首次加载可能出现大量发现,应先用 ratchet 脚本按包按规则计数并与基线比较,只在上限上升时失败,再按规则用 codemod 逐个修复。部分规则需人工逐处处理,保留在基线中随文件改动逐步消除。重命名或删除配置前需搜索文件名,避免破坏脚本或包导出。