Ultracite icon

Ultracite

Ultracite 是 JavaScript 與 TypeScript 專案的零設定程式碼檢查與格式化預設,可設定 Oxlint、Biome 或 ESLint 工具鏈,支援編輯器、Git Hook 與 coding agent 工作流程,確保程式碼檢查一致。

Ultracite

什麼是 Ultracite?

Ultracite 是 JavaScript 與 TypeScript 程式碼檢查及格式化的零設定預設。它本身不是程式碼檢查器,而是圍繞共用且嚴格的標準,設定搭配 Oxfmt 的 Oxlint、Biome,或搭配 Prettier 與 Stylelint 的 ESLint。

此工具專為需要在開發期間進行一致檢查的團隊與 coding agent 設計。它可以從命令列與編輯器執行,在儲存時套用修正,並連結 agent Hook,讓產生的編輯內容在進入審查前完成檢查。其預設著重於型別安全、React 與 Hook 模式、無障礙、非同步正確性、匯入與格式化。

功能

支援三種工具鏈

為搭配 Oxfmt 的 Oxlint、Biome,以及搭配 Prettier 和 Stylelint 的 ESLint 提供共用預設,讓專案採用符合現有工具的引擎。

具明確立場的 JavaScript 與 TypeScript 規則

預設預設涵蓋型別安全、React 與 Hooks、無障礙、非同步正確性、匯入與格式化。範例包括檢查 `any`、Hook 相依性、圖片替代文字、相等性,以及未處理的 Promise。

零設定安裝

`init` 指令會偵測專案技術堆疊、寫入所選引擎的設定,並可設定編輯器、agent 與 Git Hook。專案也提供 React、Next.js、Vue、Svelte、Angular、Astro 等框架的預設,以及其他列出的框架預設。

Coding agent 工作流程

Ultracite 可以將指南寫入 `AGENTS.md`,並為支援的 coding agent 設定 Hook。Hook 可在編輯後執行,而 agent 專用的修正指令會將未解決的診斷結果傳回 Claude Code 或 Codex。

快速回饋與自動修正

專案文件說明了適合儲存時與每次編輯工作流程的快速檢查。其公開的基準測試顯示,Oxlint、Biome 與 ESLint 工具鏈會依專案大小和設定呈現不同的取捨。

使用情境

  • 檢查 AI 產生的程式碼

    加入 `AGENTS.md`、agent 專用設定與編輯後 Hook,讓產生的檔案在 agent 的正常寫入週期中接受檢查。未解決的問題可以回傳給支援的 agent 進行進一步編輯。

  • 將 JavaScript 或 TypeScript 專案標準化

    使用初始化工具與儲存時檢查,在不必從頭組建設定的情況下建立共用的程式碼檢查與格式化慣例。當程式碼庫需要不同行為時,團隊可以覆寫個別規則。

  • 選擇或遷移程式碼檢查基礎架構

    根據專案需求選擇 Oxlint、Biome 或 ESLint:原生速度、單一整合工具,或使用更廣泛的 ESLint 與 Prettier 外掛生態系。之後可以透過 `init` 變更工具鏈。

  • 加入持續的本機回饋

    在編輯後、儲存時或透過 Git Hook 執行檢查,在程式碼進入審查或 CI 前,找出型別安全、無障礙、React、非同步與格式化問題。

Pros and Cons

Pros

  • 支援三種成熟的 JavaScript 與 TypeScript 工具鏈,而不要求使用單一底層引擎。
  • 在初始化工作流程中整合程式碼檢查、格式化、編輯器設定與 coding agent 指示。
  • 針對 agent 產生程式碼中常見的問題,例如不安全的型別、不完整的 Hook 相依性、缺少無障礙屬性,以及非同步錯誤。
  • 提供命令列、儲存時、Git Hook 與編輯後工作流程,並支援自動修正及將未解決的診斷結果交接給 agent。

Cons

  • 其具明確立場的預設可能需要為採用不同慣例的專案覆寫規則,但這些預設可以自訂。
  • 支援的引擎在規則涵蓋範圍、外掛支援、格式化工具與效能特性上各不相同,因此團隊必須選擇符合專案的工具鏈。
  • 產品網站說明了設定與工作流程整合,但參考的定價頁面未提供定價資訊。

FAQ

如何設定 Ultracite?

執行 `npx ultracite init`,或使用對應的 `pnpm dlx`、`yarn dlx`、`bunx` 或 `nubx` 指令。初始化工具會偵測專案技術堆疊、安裝並設定所選的工具鏈,也可以設定編輯器、agent 與 Git Hook 整合。現有的 ESLint、Prettier、Stylelint、Biome 或 Oxlint 專案可以逐步或一次完成遷移。

專案應該使用哪個程式碼檢查引擎?

Ultracite 支援搭配 Oxfmt 的 Oxlint、Biome,以及搭配 Prettier 和 Stylelint 的 ESLint。Oxlint 是文件建議的起點,適合重視原生速度與 ESLint 規則名稱的專案;Biome 適合希望使用單一程式碼檢查器、格式化工具與設定檔的專案;ESLint 則適合依賴其外掛、Prettier 外掛,或需要 Vue 與 Svelte 範本檢查的專案。

Ultracite 如何融入 agent 或編輯器工作流程?

設定完成後,Ultracite 可以從命令列與編輯器執行檢查和修正。它也能在儲存時進行格式化並套用修正,而 agent Hook 可在檔案寫入或編輯操作後執行 `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
主要使用者
軟體團隊與 coding agent
Agent 涵蓋範圍
為 40 個 coding agent 提供設定指南
授權條款
MIT