oxlint
oxlintの実行と設定を行うスキルです。`package.json`のdevDependenciesに`oxlint`が含まれているか、`.oxlintrc.json`や`oxlint.config.ts`が存在するプロジェクトで使用します。コード変更後のLint実行、Lintエラーの修正、ルール・プラグインの設定、`.oxlintrc.json`のセットアップ、ESLintからの移行作業などに活用してください。
description の原文を見る
Run and configure oxlint — the high-performance JavaScript/TypeScript linter built on the Oxc compiler stack. Use this skill whenever working in a project that has oxlint installed (check for `oxlint` in package.json devDependencies or an `.oxlintrc.json` / `oxlint.config.ts` config file). This includes when you need to lint code after making changes, fix linting errors, configure oxlint rules/plugins, set up or modify `.oxlintrc.json`, or migrate from ESLint.
SKILL.md 本文
Oxlint — 高性能 JS/TS リンター
Oxlint は ESLint より 50~100 倍高速です。ESLint コア、TypeScript、React、Jest、Unicorn、jsx-a11y など、690 以上のルールを備えています。デフォルトでは高シグナル正確性チェック(不正なコード、危険なコード、無駄なコード)を優先するため、チームは偽陽性に溺れることなく導入できます。
検出
リント前に、以下のいずれかを確認して、プロジェクトが oxlint を使用しているか確認してください:
package.jsonの devDependencies/dependencies にoxlintが存在- プロジェクトルートに
.oxlintrc.jsonファイルが存在 - プロジェクトルートに
oxlint.config.tsファイルが存在 package.jsonのoxlintまたはlintスクリプトがoxlintを参照
これらのいずれもない場合、プロジェクトは oxlint を使用していません。実行しないでください。
Oxlint の実行
コード変更後
作業を確認するために oxlint を実行します。プロジェクトに npm スクリプトがあれば、それを優先してください:
# package.json に oxlint を使用する lint スクリプトがある場合
npm run lint
# それ以外の場合は直接実行
npx oxlint
問題を自動修正
npx oxlint --fix
安全な自動修正には --fix を使用してください。ユーザーが明示的に要求しない限り --fix-dangerously は使用しないでください。安全でない変換を適用する可能性があります。
特定ファイルのリント
少数ファイルのみを編集した場合は、それらだけをリントできます:
npx oxlint src/components/Button.tsx src/utils/helpers.ts
出力の解釈
Oxlint は診断情報をルール名とともに括弧で表示します。例:(no-unused-vars)。修正時は:
- 診断メッセージを注意深く読んでください。oxlint は正確で実行可能な情報を提供します
- ルールを抑制するのではなく、基となるコードの問題を修正してください
// oxlint-ignoreコメントを追加するのは、診断が本当の偽陽性の場合のみ最後の手段とします
出力フォーマット
CI またはツール統合の場合:
npx oxlint --format json # マシン可読 JSON
npx oxlint --format github # GitHub Actions アノテーション
npx oxlint --format unix # シンプルな行単位エラー形式
設定
設定の作成
npx oxlint --init
スターター設定ファイル .oxlintrc.json を生成します。
設定ファイル形式 (.oxlintrc.json)
設定は JSONC(コメント付き JSON)を使用します。主要セクション:
{
// 個別ルールを重大度レベルで有効/無効化
"rules": {
"no-unused-vars": "error",
"no-console": "warn",
"no-plusplus": ["error", { "allowForLoopAfterthoughts": true }]
},
// カテゴリ別に関連ルールのグループを有効化
"categories": {
"correctness": "error", // 明らかに間違ったコード
"suspicious": "warn", // おそらく間違ったコード
"pedantic": "off", // 意見的なスタイルチェック
"perf": "warn", // パフォーマンスのアンチパターン
"style": "off", // 見た目の好み
"restriction": "off", // 追加の厳密ルール(オプトイン)
"nursery": "off" // 不安定/実験的ルール
},
// 有効にするプラグイン(これを設定するとデフォルトが上書きされるため、必要なものをすべてリストしてください)
"plugins": ["typescript", "unicorn", "oxc"],
// ファイル固有のオーバーライド
"overrides": [
{
"files": ["**/*.test.{ts,tsx}"],
"rules": { "no-console": "off" }
},
{
"files": ["scripts/**"],
"rules": { "no-console": "off" }
}
],
// 環境グローバル
"env": {
"browser": true,
"node": true
},
// プラグイン全体の設定
"settings": {
"react": {
"linkComponents": [{ "name": "Link", "linkAttribute": "to" }]
},
"jsx-a11y": {
"components": { "Link": "a", "Button": "button" }
}
},
// 型を考慮したリント(tsconfig が必須)
"options": {
"typeAware": true
}
}
ルール重大度レベル
"off"/"allow"— ルールを無効化"warn"— 報告するがビルドは失敗しない"error"/"deny"— 報告して 0 以外で終了
一意のルール名はプラグインプレフィックスを省略できます:"no-console" = "eslint/no-console"
カテゴリ
カテゴリはルールを意図で分類します。推奨される開始点:
correctness: "error"— 常にオン。実際のバグをキャッチします。suspicious: "warn"— 優れたシグナルですが、ノイズが入ることもあります。- その他:チームが準備できたらインクリメンタルに有効化します。
利用可能なプラグイン
デフォルト有効: typescript, unicorn, oxc
オプション(CLI フラグまたは設定):
| プラグイン | CLI フラグ | 目的 |
|---|---|---|
| react | --react-plugin | React 固有のルール |
| jsx-a11y | --jsx-a11y-plugin | JSX のアクセシビリティルール |
| nextjs | --nextjs-plugin | Next.js のベストプラクティス |
| import | --import-plugin | インポート/エクスポート検証 |
| jest | --jest-plugin | Jest テストルール |
| vitest | --vitest-plugin | Vitest テストルール |
| jsdoc | --jsdoc-plugin | JSDoc ドキュメンテーションルール |
| node | --node-plugin | Node.js 固有ルール |
| promise | --promise-plugin | Promise のベストプラクティス |
| react-perf | --react-perf-plugin | React パフォーマンスルール |
| vue | --vue-plugin | Vue.js ルール |
デフォルトプラグインを無効化:--disable-typescript-plugin、--disable-unicorn-plugin、--disable-oxc-plugin
共有設定の拡張
{
"extends": ["./configs/base.json", "./configs/frontend.json"]
}
後の項目が前の項目を上書きします。パスは宣言している設定を基準に相対的に解決されます。
モノレポサポート
Oxlint はネストされた設定をサポートします。各ディレクトリは親の設定を上書きする独自の .oxlintrc.json を持つことができます。不要な場合は --disable-nested-config で無効化します。
CLI クイックリファレンス
| フラグ | 実行内容 |
|---|---|
-c, --config=PATH | 特定の設定ファイルを使用 |
--tsconfig=PATH | パスエイリアス用 TypeScript 設定 |
--fix | 安全な問題を自動修正 |
--fix-suggestions | 提案された修正も適用 |
-A, --allow=RULE | ルールを抑制(例:-A no-console) |
-W, --warn=RULE | ルールに警告 |
-D, --deny=RULE | ルールエラー化 |
--quiet | 警告を抑制、エラーのみ表示 |
--deny-warnings | 警告をエラー扱い(0 以外で終了) |
--max-warnings=N | 警告が N を超えた場合失敗 |
-f, --format=FMT | 出力フォーマット:default、json、github、unix など |
--ignore-pattern=PAT | パターンマッチのファイルを除外 |
--type-aware | 型を考慮したルールを有効化(tsconfig 必須) |
--print-config | 解決された設定を表示(デバッグに有用) |
--rules | 利用可能なすべてのルールをリスト |
カテゴリも -A/-W/-D で使用できます:
npx oxlint -D correctness -W suspicious -A pedantic
インラインでのルール抑制
// oxlint-ignore no-console -- デバッグログに必要
console.log(debugInfo);
// oxlint-ignore-next-line no-unused-vars
const _placeholder = computeValue();
eslint-disable ではなく oxlint-ignore を使用してください。oxlint は両方を認識しますが、ネイティブ構文を優先してください。
ESLint からの移行
プロジェクトが ESLint から oxlint に移行する場合:
-
並行実行アプローチ — 両方のリンターを実行し、
eslint-plugin-oxlintで oxlint が既にカバーしているルールを無効化:npm install -D eslint-plugin-oxlintESLint 設定の最後のプラグインとして追加します。
-
完全置き換え —
@oxlint/migrateで ESLint 設定を変換:npx @oxlint/migrate既存の ESLint 設定から
.oxlintrc.jsonを生成します。
サポートされるファイルタイプ
.js, .mjs, .cjs, .ts, .mts, .cts, .jsx, .tsx, .vue, .svelte, .astro
.vue、.svelte、.astro ファイルの場合、oxlint は <script> ブロックのみをリントします。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- delexw
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/delexw/claude-code-misc / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。