Ultracite icon

Ultracite

Ultracite 是面向 JavaScript 和 TypeScript 项目的零配置代码检查与格式化预设,可配置 Oxlint、Biome 或 ESLint 工具链,并支持编辑器、Git 钩子及编码代理工作流,统一代码检查。

Ultracite

什么是 Ultracite?

Ultracite 是面向 JavaScript 和 TypeScript 代码检查与格式化的零配置预设。它本身不是代码检查器,而是围绕共享的严格标准配置 Oxlint 搭配 Oxfmt、Biome,或 ESLint 搭配 Prettier 和 Stylelint。

该工具面向需要在开发过程中执行一致检查的团队和编码代理。它可以从命令行和编辑器运行,在保存时应用修复,并连接到代理钩子,以便在生成的编辑内容进入审查前进行检查。其预设重点关注类型安全、React 和 Hooks 模式、无障碍、异步正确性、导入和格式化。

功能

支持三种工具链

为 Oxlint 搭配 Oxfmt、Biome,或 ESLint 搭配 Prettier 和 Stylelint 提供共享预设,让项目可以采用最适合现有工具的引擎。

主张明确的 JavaScript 和 TypeScript 规则

默认预设涵盖类型安全、React 和 Hooks、无障碍、异步正确性、导入和格式化。示例包括对 `any`、Hook 依赖、图片替代文本、相等性以及未处理 Promise 的检查。

零配置设置

`init` 命令会检测项目技术栈,写入所选引擎的配置,并可以配置编辑器、编码代理和 Git 钩子。预设支持 React、Next.js、Vue、Svelte、Angular、Astro 等项目列出的框架。

编码代理工作流

Ultracite 可以将指导信息写入 `AGENTS.md`,并为受支持的编码代理配置钩子。钩子可以在编辑后运行,而针对特定代理的修复命令会将未解决的诊断信息传回 Claude Code 或 Codex。

快速反馈与自动修复

项目文档介绍了适合保存时和逐次编辑工作流的快速检查。其公开基准测试显示,根据项目规模和配置不同,Oxlint、Biome 和 ESLint 工具链之间存在不同的权衡。

使用场景

  • 审查 AI 生成的代码

    添加 `AGENTS.md`、代理专属设置和编辑后钩子,让生成的文件在代理的正常写入周期中接受检查。未解决的问题可以返回给受支持的代理,以便进行进一步编辑。

  • 统一 JavaScript 或 TypeScript 项目规范

    使用初始化程序和保存时检查,在无需从头组装配置的情况下建立共享的代码检查和格式化约定。当代码库需要不同的行为时,团队可以覆盖单个规则。

  • 选择或迁移代码检查基础设施

    根据项目需求选择 Oxlint、Biome 或 ESLint:原生速度、单一集成工具,或访问更广泛的 ESLint 和 Prettier 插件生态。之后可以通过 `init` 更换工具链。

  • 增加持续的本地反馈

    在编辑后、保存时或通过 Git 钩子运行检查,在代码进入审查或 CI 之前发现类型安全、无障碍、React、异步和格式化问题。

Pros and Cons

Pros

  • 支持三种成熟的 JavaScript 和 TypeScript 工具链,而不是强制使用某一个底层引擎。
  • 在初始化工作流中结合了代码检查、格式化、编辑器设置和编码代理指令。
  • 针对常见的代理生成代码问题,例如不安全的类型、不完整的 Hook 依赖、缺少无障碍属性以及异步错误。
  • 提供命令行、保存时、Git 钩子和编辑后工作流,并支持自动修复以及将未解决的诊断信息交给编码代理。

Cons

  • 其主张明确的默认设置可能需要为采用不同约定的项目覆盖规则,但预设支持自定义。
  • 所支持的引擎在规则覆盖范围、插件支持、格式化工具和性能特征方面各不相同,因此团队必须选择与项目匹配的工具链。
  • 产品网站介绍了设置和工作流集成,但在所引用的定价页面上没有提供定价信息。

FAQ

如何设置 Ultracite?

运行 `npx ultracite init`,或使用等效的 `pnpm dlx`、`yarn dlx`、`bunx` 或 `nubx` 命令。初始化程序会检测项目技术栈,安装并配置所选工具链,还可以设置编辑器、编码代理和 Git 钩子集成。现有的 ESLint、Prettier、Stylelint、Biome 或 Oxlint 项目可以逐步迁移,也可以一次性完成迁移。

项目应该使用哪个代码检查引擎?

Ultracite 支持 Oxlint 搭配 Oxfmt、Biome,以及 ESLint 搭配 Prettier 和 Stylelint。对于追求原生速度和 ESLint 规则名称的项目,文档建议从 Oxlint 开始;希望使用单一代码检查器、格式化工具和配置文件的项目适合 Biome;依赖 ESLint 插件、Prettier 插件,或需要 Vue 和 Svelte 模板检查的项目适合 ESLint。

Ultracite 如何融入编码代理或编辑器工作流?

设置完成后,Ultracite 可以从命令行和编辑器运行检查与修复。它还可以在保存时格式化并应用修复,编码代理钩子则可在文件写入或编辑操作后运行 `ultracite fix --hook`。自动修复会处理可解决的问题;剩余诊断信息可以通过相应的 `ultracite fix` 标志交给 Claude Code 或 Codex。

团队可以自定义或更换所选工具链吗?

可以。预设默认采用零配置方式,但仍支持自定义。你可以在初始化期间选择引擎、覆盖规则,之后还可以通过 `npx ultracite init --linter ...` 在 Oxlint、Biome 和 ESLint 之间切换。

Quick Facts

类别
开发者工具
主要语言
JavaScript 和 TypeScript
支持的工具链
Oxlint + Oxfmt;Biome;ESLint + Prettier + Stylelint
主要用户
软件团队和编码代理
代理覆盖范围
为 40 个编码代理提供设置指导
许可证
MIT