关于 oxlint
为涉及 Oxlint 或 Oxc 的开发任务提供操作指导,面向配置、规则、迁移、编辑器和 CI 等工作。技能强调先检查仓库现状、查阅对应指南,并按项目既有约定验证。
主要功能
- 01检查版本、配置和现有 ESLint 设置
- 02指导 CLI、配置与规则选择
- 03覆盖类型感知及插件相关注意事项
- 04支持 ESLint 共存与迁移
- 05按项目命令验证 lint 结果
适用场景
- 01在现有仓库中配置或调整 Oxlint
- 02排查规则、插件或类型感知 lint 问题
- 03规划 ESLint 与 Oxlint 共存或迁移
- 04验证编辑器设置或 CI 中的 lint 变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dobroslavradosavljevic/ skills --skill oxlint安装后在 Claude Code 中输入/oxlint确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/eslint-ci-editors.mdrules-plugins-typeaware.mdsetup-cli-config.mdsource-map.mdusage-guide.md详细介绍
Oxlint
当工作涉及 Oxlint 或 Oxc lint 时,使用此技能:包括安装和配置、日常使用、规则和插件、React Compiler lint 规则、类型感知 lint、与 ESLint 共存或迁移、编辑器或 CI。
工作流程
- 修改代码前,检查本地 Oxlint 的情况:
oxlint、可选的oxlint-tsgolint、eslint-plugin-oxlint、@oxlint/migrate的软件包版本。- 配置:优先使用带
defineConfig的oxlint.config.ts/.mts;也接受.oxlintrc.json(c)(每个目录只能使用一种类型)。 - 剩余的 ESLint 配置、忽略文件、脚本(
lint/lint:fix)以及编辑器中的 Oxc 设置。 - 是否启用了类型感知 lint、JS 插件或 React Compiler 规则。
- 对于设置、使用方法、渐进式采用、诊断循环、基线或故障排查,先阅读完整指南:usage-guide.md。
- 如果版本与快照不同,或工作涉及类型感知 lint、JS 插件、React Compiler 或迁移,请查阅最新官方文档。从 source-map.md 开始。
- 深入细节请参阅对应的参考文档:
- 安装、CLI、配置结构、嵌套配置、忽略项:setup-cli-config.md。
- 类别、插件、React Compiler、JS 插件、规则、行内忽略、类型感知 lint:rules-plugins-typeaware.md。
- ESLint 共存、迁移、编辑器、CI:eslint-ci-editors.md。
- 除非用户要求迁移或扩大覆盖范围,否则保留仓库现有的 lint 严重级别和插件选择。
- 使用最精简且有用的
bunx oxlint/bun run lint命令进行验证。
核心判断
- Oxlint 默认只启用
correctness类别。请谨慎启用其他类别和插件。 - 设置
plugins: [...]会替换默认插件集。如果仍需使用eslint、typescript、unicorn和oxc,请在列表中重新添加。 - 新配置优先使用
oxlint.config.ts+defineConfig(支持类型检查,可通过导入共享)。仅当项目已有.oxlintrc.json,或使用不带 Node 运行时的独立二进制文件时,才保留或使用.oxlintrc.json。CLI 帮助仍将 JS/TS 配置加载标记为实验性;官方配置文档则将oxlint.config.ts视为一等配置方式。 - 嵌套配置不会自动与父配置合并,请使用
extends(TS:导入对象;JSON:相对路径)。-c/--config会禁用嵌套配置查找。 - Vite+(
vp lint,Vite+ 1.0 固定使用特定版本的 Oxlint)会读取vite.config.*中的lint配置块;在 Vite+ 模式(1.85+)下,嵌套配置始终处于关闭状态,因此请使用根级lint.overrides。 - 优先在配置中使用
ignorePatterns,而不是分散的忽略文件,以确保编辑器和 CI 的行为一致。.gitignore适用于遍历发现;显式指定的文件仍会被 lint。 - 长期来看优先使用
oxlint-disable*注释;迁移期间仍可使用eslint-disable*(respectEslintDisableDirectives默认值为 true)。 - 类型感知 lint 需要
oxlint-tsgolint+--type-aware/options.typeAware。这些选项只能用于根级配置。启用类型感知 lint 时,不要同时传入--tsconfig。 oxlint和eslint-plugin-oxlint应使用相同的小版本。在 ESLint 中,将 oxlint 扁平配置放在最后,以禁用重叠规则。- JS 插件(
jsPlugins)处于 alpha 阶段,不受常规语义化版本约束,除非必要,否则请避免使用。 - React Compiler lint 规则仍处于实验阶段。从 1.79 开始,它们是按类别划分的
react/*规则(不再是react/react-compiler)。启用react插件并使用默认的correctness类别后,会启用推荐的 Compiler 规则。请移除任何遗留的react/react-compiler条目。 - Vue/Svelte/Astro/Angular:Oxlint 只覆盖脚本块,不覆盖模板。
- 不要将 Oxlint 当作格式化工具。格式化应交由单独的格式化工具处理(例如 Oxfmt 或 Prettier)。
验证
优先使用仓库自有命令。对于有意义的 Oxlint 工作,覆盖相关子集:
- 对变更路径运行
bunx oxlint(或项目的lint脚本)。 - 预期会自动修复时运行
bunx oxlint --fix;检查剩余诊断。 - 类型感知:在依赖项构建完成、
.d.ts文件已生成后运行bunx oxlint --type-aware。 - 若这些门禁属于项目策略,则运行符合 CI 形态的检查,并使用
--deny-warnings或--max-warnings。 - 更改 ESLint 共存配置后:运行
oxlint && eslint,并确认没有重复规则噪声。 - 更改 Oxc 扩展设置或
options.typeAware时,进行编辑器/LSP 冒烟测试。 - 在 1.79+ 版本启用
react插件后:确认实验性编译器规则是否应继续启用。
报告运行了哪些检查、哪些未运行,以及仍存在的任何软件包版本、React Compiler 或类型感知方面的假设。
评论
支持 Markdown