oxlint について
Oxlint や Oxc に関わる開発作業向けのワークフロースキルです。設定、ルール、移行、エディター、CI を扱い、リポジトリの現状確認と専用ガイドの参照、プロジェクトのコマンドによる検証を重視します。
主な機能
- 01バージョン、設定、ESLint 構成の確認
- 02CLI・設定・ルール選択のガイド
- 03型情報を使う lint とプラグインの注意点
- 04ESLint との併用や移行を支援
- 05プロジェクトのコマンドで lint 結果を検証
活用シーン
- 01既存リポジトリで Oxlint を設定・調整
- 02ルール、プラグイン、型情報を使う lint の問題を調査
- 03ESLint と 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 の設定、ignore ファイル、スクリプト(
lint/lint:fix)、エディターの Oxc 設定。 - 型を考慮した lint、JS プラグイン、React Compiler ルールが使われているかどうか。
- セットアップ、使い方、段階的な導入、診断の反復、ベースライン、トラブルシューティングについては、まずガイド全体に従ってください:usage-guide.md。
- バージョンがスナップショットと異なる場合、または型を考慮した lint、JS プラグイン、React Compiler、移行に関わる作業では、最新の公式ドキュメントを確認します。source-map.md から始めてください。
- 詳細については、関連するリファレンスを参照してください。
- インストール、CLI、設定の構造、入れ子の設定、ignore:setup-cli-config.md。
- カテゴリ、プラグイン、React Compiler、JS プラグイン、ルール、インライン ignore、型を考慮した 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を優先してください(型付けされ、import による共有が可能です)。プロジェクトですでに使用している場合、または Node ランタイムのないスタンドアロンバイナリを使用する場合に限り、.oxlintrc.jsonを維持または使用してください。CLI のヘルプでは JS/TS 設定の読み込みは引き続き実験的とされていますが、公式の設定ドキュメントではoxlint.config.tsが正式にサポートされています。 - 入れ子の設定は親の設定と自動的にマージされません。
extendsを使用してください(TS:import したオブジェクト、JSON:相対パス)。-c/--configを指定すると、入れ子の設定の検索が無効になります。 - Vite+(
vp lint、Vite+ 1.0 は特定の Oxlint バージョンに固定)はvite.config.*のlintブロックを読み込みます。Vite+ モード(1.85 以降)では入れ子の設定が常に無効になるため、ルートのlint.overridesを使用してください。 - エディターと CI の一貫性を保つため、あちこちに ignore ファイルを置くより、設定内の
ignorePatternsを優先してください。.gitignoreはファイルの走査時の検出に適用されますが、明示的に指定されたファイルは引き続き lint されます。 - 長期的には
oxlint-disable*コメントを優先してください。移行中はeslint-disable*も引き続き動作します(respectEslintDisableDirectivesのデフォルトは true)。 - 型を考慮した lint には、
oxlint-tsgolintと--type-aware/options.typeAwareが必要です。これらのオプションはルート設定のみで使用できます。型を考慮した lint と--tsconfigを併用しないでください。 oxlintとeslint-plugin-oxlintは同じマイナーバージョンにしてください。Oxlint のフラット設定は、重複するルールを無効化できるように、ESLint 設定の最後に置いてください。- JS プラグイン(
jsPlugins)はアルファ版であり、通常のセマンティックバージョニングの対象外です。必須でない限り使用しないでください。 - React Compiler の lint ルールは実験的です。1.79 以降はカテゴリごとの
react/*ルールであり、react/react-compilerではありません。デフォルトのcorrectnessを有効にしてreactプラグインを有効にすると、推奨される 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を実行します。 --deny-warningsまたは--max-warningsがプロジェクトのポリシーで定められている場合は、CI に準じた実行を行います。- ESLint との併用に関する変更後は、
oxlint && eslintを実行し、ルールの重複による不要な警告がないことを確認します。 - Oxc の拡張機能設定または
options.typeAwareを変更した場合は、エディター/LSP でスモークテストを行います。 - 1.79+ で
reactプラグインを有効にした後、実験的なコンパイラルールを有効のままにするかどうかを確認します。
実行したチェックと実行しなかったチェックを報告し、パッケージのバージョン、React Compiler、型認識に関して残っている前提も記載してください。
コメント
Markdown 対応