JavaScriptとTypeScript向けのゼロ設定のリンター兼フォーマッター。1つのコマンドでBiome、ESLint、Oxlintをプリセットルールとともに設定できます。
shadcn-ui/lint
Tailwindのデザインシステム向けに、許可するスタイルルールを定義でき、独自のコンポーネントやテーマをもとにエージェントへ修正案を提示する、エージェントファーストのリンターです。
- スター
- 3,239
- フォーク
- 69
- 未解決の Issue
- 13
- 最終コミット
- 一昨日
これは何?
@shadcn/lintは、UIコードにデザインシステムのルールを適用するTailwind v4プロジェクト向けのリンターです。ButtonのclassName上書きを制限したり、p-[13px]のような任意の値を禁止したり、生のカラー値を拒否したりと、許可するスタイルを定義できます。ルール違反があると、何が問題なのかを説明し、プロジェクト内のコンポーネント、バリアント、テーマに基づいた代替案を提案します。
ESLintまたはOxlintのプラグインとして動作し、React、Vue、Svelteに対応しています。shadcn/uiは必須ではなく、独自のTailwindコンポーネントやテーマでも使えます。コンポーネントのimportは、プレフィックス、正規表現パターン、components.jsonファイルから読み取れます。
コントラクトを使ってコンポーネントごとにルールを適用でき、{{sizes}}のようなプレースホルダーを含むカスタムメッセージで、使用すべきサイズ、バリアント、テーマファイルをエージェントに明確に伝えられます。エージェントは変更後にlintコマンドを実行して、作業内容を確認できます。
主な機能
- 01コンポーネントごとのコントラクトで、classNameの上書きを制限します。
- 02テーマトークンの使用を促すため、任意の値や生のカラー値を禁止します。
- 03プロジェクト内のサイズ、バリアント、テーマファイルを使った修正案を提示します。
- 04ESLintとOxlintに対応し、React、Vue、Svelteで使えます。
- 05shadcn/uiは不要で、独自コンポーネントのimportも読み取れます。
ユースケース
- Tailwindのコードベースで、AIコーディングエージェントによる共有UIコンポーネントの再スタイリングを防ぐ。
- チームのデザインシステム全体で、テーマに基づくスペーシングとカラーを適用する。
- フォークせずに、サードパーティ製またはモノレポ内のコンポーネントパッケージへデザインルールを適用する。
クイックスタート
- 1
npmでパッケージとESLintをインストールします
npm install -D @shadcn/lint eslint @typescript-eslint/parser - 2
プラグインとルールを含むeslint.config.mjsを作成します(READMEを参照)
- 3
リンターを実行します
npx eslint .
使う前に知っておきたいこと
- Tailwind v4のプロジェクトでのみ動作します。
- Oxlintが読み取るのはVueおよびSvelteファイルのscriptブロックのみで、マークアップは読み取りません。
- Node.js 20.19以降が必要です。
トピック
よくある質問
- lint とは?
- Tailwindのデザインシステム向けに、許可するスタイルルールを定義でき、独自のコンポーネントやテーマをもとにエージェントへ修正案を提示する、エージェントファーストのリンターです。 @shadcn/lintは、UIコードにデザインシステムのルールを適用するTailwind v4プロジェクト向けのリンターです。ButtonのclassName上書きを制限したり、p-[13px]のような任意の値を禁止したり、生のカラー値を拒否したりと、許可するスタイルを定義できます。ルール違反があると、何が問題なのかを説明し、プロジェクト内のコンポーネント、バリアント、テーマに基づいた代替案を提案します。
- lint は無料で使えますか?ライセンスは?
- lint は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- lint は今もメンテナンスされていますか?
- 活発にメンテナンス中。lint の最終コミットは 2026年10月19日 です。
- lint は何に使えますか?
- Tailwindのコードベースで、AIコーディングエージェントによる共有UIコンポーネントの再スタイリングを防ぐ。 チームのデザインシステム全体で、テーマに基づくスペーシングとカラーを適用する。 フォークせずに、サードパーティ製またはモノレポ内のコンポーネントパッケージへデザインルールを適用する。
- lint のインストール方法は?
- npmでパッケージとESLintをインストールします: npm install -D @shadcn/lint eslint @typescript-eslint/parser プラグインとルールを含むeslint.config.mjsを作成します(READMEを参照) リンターを実行します: npx eslint .
- lint はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/shadcn-ui/lint
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
自然言語のプロンプトや画像からパラメトリックなOpenSCAD 3D CADモデルを生成する、ブラウザー上で動作するオープンソースのWebアプリ。
OpenUIを基盤に、モデルの回答をインタラクティブな地図、チャート、フォーム、実際に使えるツールとしてストリーミング表示する、ChatGPTのIntelligent UIを再現したオープンソースのNext.jsデモ。
JSX風の構文でUIコンポーネントを一度書き、React、Vue、Angular、Svelte、Solid、Qwikなど向けにコンパイルできます。
コーディング支援AIに、検索可能なUI/UXデザインルール、スタイル、配色、フォントの組み合わせ、スタック別のガイダンスを提供するスキルです。
Radix UIとTailwind CSSを基盤とする、コピーして使えるReactコンポーネント集。コードは自分で所有し、自由にカスタマイズできます。