spartan-ng-developer について
Spartan/ng Developer Guidelines は、Spartan/ng で Angular の UI を構築するコーディングエージェント向けのスキルです。Helm コンポーネント、Brain プリミティブ、セットアップ要件、フォーム、アクセシビリティを解説します。
主な機能
- 01Spartan/ng のバージョンとセットアップ指針
- 02Helm コンポーネントの生成パターン
- 03Brain のヘッドレスプリミティブの指針
- 04フォームとアクセシビリティの実践
- 05チャットとエージェント UI コンポーネント
活用シーン
- 01Angular CLI または Nx ワークスペースでのコンポーネント生成
- 02Helm コンポーネントと Brain プリミティブの選択
- 03ReactiveForms または Signal Forms によるフォーム構築
- 04チャットまたはコードレビュー UI の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mofirojean/ angular-ui-skills --skill spartan-ng-developerインストール後、Claude Code で/spartan-ng-developerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/accessibility.mdbrain.mdchat.mddata-display.mddisplay.mdform-controls.mdforms.mdhelm-conventions.mdlayout.mdoverlays.mdrecipes.mdsetup.mdtheming.md詳細
Spartan/ng 開発ガイドライン
angular-developerと併用してください - このスキルでは Angular の基礎(シグナル、DI、ルーティング、フォーム、SSR、アクセシビリティ)を扱います。このスキルでは Spartan/ng 固有の内容に焦点を当てています。最適な環境を得るには、両方をインストールしてください。
互換性
- 対象バージョン:
@spartan-ng/brainv1.8.0(2026-10-16 リリース)。Spartan は 2026 年 6 月に 1.0 安定版に到達しました。1.x 系では API サーフェスのバージョン管理と各更新時の再検証を維持しながら、コンポーネントを迅速に追加しています。 - 1.1 → 1.8 の主な変更点: 1.1 では Calendar / Date Picker に年月ピッカーと日付入力の完全なサポートが追加され、
brn-radio/brn-checkbox/brn-switchのホストスタイルのオーバーライド、CLI のスキャフォールド整合性ヘルスチェック、厳格な CSP に対応するインラインスタイルの修正も追加されました。1.2 ではメッセージ、バブル、添付ファイル、マーカーの各コンポーネントに加え、Date Picker と Input OTP の Signal Forms 互換性が追加されました。1.3 / 1.3.1 では autocomplete / combobox / command のアクセシビリティ修正と、Sidebar のdefaultOpenオプションが追加されました。1.4 ではQuestionnaire(Brain + Helm、Signal Forms 対応)、Chart の TanStack Charts 統合(アルファ版)、Slider のmaxStepsBetweenThumbs/preventStepOverThumb、Calendar のフォーカス日付 API が追加されました。1.5 ではチャットの会話履歴向けのMessage Scroller、ディレクティブとしてのbrn-switch-thumb、Switch のforceInvalid、Sonner のテンプレート用action/cancelAction、Tooltip の既定のshowDelay/hideDelayとして0が追加されました。1.6 では Accordion に遅延コンテンツ(hlmAccordionContentLazy)が追加されました。1.7 では Pagination のラベルを設定できるようになりました。1.8 ではTrace と Code Block の各コンポーネント、ディレクティブのexportAs、すべてのコンポーネントを非対話形式で追加する CLI(ui all)が追加されました。各パッチリリースでは、アクセシビリティ(select、autocomplete、combobox、dialog、sidebar sheet)や popover / overlay のスクロールストラテジーに関する問題が修正されました。1.x 系を通じて、API に破壊的変更はありません。 - Angular: v21 または v22。
@spartan-ng/[email protected]のピア依存関係は@angular/* >=21.0.0 <23.0.0のため、Angular 21 と 22 の両方が公式にサポートされています。スタンドアロンコンポーネント、制御フロー(@if/@for)、シグナル API(input()/output())を前提としており、NgModuleベースまたはデコレーターベースのコードは生成しません。 - Tailwind: v4 が必須です。 Spartan 1.x のピア依存関係は
tailwindcss >=4.0.0で、v3 はサポートされなくなりました。また、ピア依存関係としてluxon >=3.0.0(日付プリミティブ)、clsx >=2.0.0、tw-animate-css >=1.0.0も必要です。これらがインストールされていることを確認してください。setup.md を参照してください。 - サポート対象外: 古いアルファ版(
v0.0.1-alpha.*。1.0 より前の API との差異があります)、Angular v20 以下、Tailwind v3、@spartan-ng/ui-*パッケージを使用するプロジェクト(非推奨で、@spartan-ng/helmに置き換えられています)。
プロジェクトにインストールされているバージョンが対象バージョンと大きく異なる場合は、コードを生成する前にユーザーに警告してください。API サーフェスが変更されている可能性があります。
-
ガイダンスを提供する前に、必ずプロジェクトの Spartan/ng バージョンを確認してください。Spartan は 1.0 安定版になりましたが、現在も進化を続けています。正確な情報源は
package.jsonです。 -
まずプロジェクトの構成を確認します。
nx.jsonがある場合 → Nx ワークスペースです。npx nx g @spartan-ng/cli:ui <name>コマンドを使用します。- ない場合 → Angular CLI です。
ng g @spartan-ng/cli:ui <name>コマンドを使用します。
生成される Helm ソースの出力先は
components.jsonのcomponentsPathで設定します。出力先を決めつけないでください。initの後にtsconfig.jsonのpathsを確認して、実際の場所を特定してください。setup.md を参照してください。 -
プロジェクトがTailwind v4(
package.jsonのtailwindcss依存関係)を使用していることを確認してください。Spartan 1.x には Tailwind v4(ピア依存関係>=4.0.0)が必須で、v3 はサポートされなくなりました。また、luxon、clsx、tw-animate-cssの各ピア依存関係も揃っていることを確認してください。setup.md を参照してください。 -
Spartan コンポーネントを使用するコードを生成した後、
ng buildを実行してコンパイルエラーがないことを確認してください。コンポーネントがスタイルなしで表示される場合、ほとんどの場合は Tailwind の設定に問題があります。setup.md のトラブルシューティングのセクションを参照してください。
Spartan のアーキテクチャ:Helm と Brain(重要)
Spartan には、独自の関係を持つ 2 つのパッケージがあります。
-
@spartan-ng/helm-node_modulesではなく、ユーザーのプロジェクト内に配置されるスタイル付きコンポーネントです。CLI(ng g @spartan-ng/cli:ui button)は、components.json(componentsPath)で設定されたパスにコンポーネントのソースをコピーします。@spartan-ng/helm/<name>のインポートは、生成されたソースを指す tsconfig のパスエイリアスです。Helm コンポーネントをカスタマイズするには、ユーザーのリポジトリ内のファイルを編集してください。node_modules内を探さないでください。 -
@spartan-ng/brain- npm から通常どおりインストールする、ヘッドレスでアクセシブルなプリミティブです。Helm コンポーネントは、Angular のhostDirectivesを介して Brain のプリミティブを組み合わせます。
まず Helm を使ってください。 次の場合に限り Brain を使用します。(1)必要なプリミティブが Helm で公開されていない場合、(2)複数の Helm コンポーネントをラップする再利用可能なコンポジションを構築する場合、(3)Helm が隠しているアクセシビリティ属性を制御する必要がある場合。
インストールとテーマ設定
- セットアップ:CLI をインストールして Spartan を追加し、Tailwind v4(必須。
luxon/clsx/tw-animate-cssのピア依存関係も含む)を設定します。CLI と Nx の判定についても確認してください。setup.md をお読みください。 - テーマ設定:CSS 変数、ダークモード、カスタムテーマ。theming.md をお読みください。
コンポーネント
Spartan/ng には、カテゴリ別にまとめられた 66 個の安定版 Helm コンポーネントがあります。共通の規約ファイルはすべてのコンポーネントに適用され、カテゴリ別ファイルでは各コンポーネント固有の API と注意点を説明します。
- Helm の規約:
hlm*ディレクティブのパターン、シグナル入力、hostDirectivesによるコンポジション、cn()ヘルパー、HlmXImportsバレルパターン、よくある問題。helm-conventions.md をお読みください。 - フォームコントロール:オートコンプリート、ボタン、ボタングループ、チェックボックス、コンボボックス、日付ピッカー、フィールド、入力、入力グループ、入力 OTP、ラベル、ネイティブセレクト、ラジオグループ、セレクト、スライダー、スイッチ、テキストエリア、トグル、トグルグループ。form-controls.md をお読みください。
- オーバーレイ:アラートダイアログ、コマンド、コンテキストメニュー、ダイアログ、ドロワー、ドロップダウンメニュー、ホバーカード、メニューバー、ナビゲーションメニュー、ポップオーバー、シート、Sonner(トースト)、ツールチップ。overlays.md をお読みください。
- レイアウト:アコーディオン、アスペクト比、カード、折りたたみ、サイズ変更可能、スクロール領域、区切り線、サイドバー、タブ。layout.md をお読みください。
- 表示:アラート、アバター、バッジ、空の状態、アイコン、項目、Kbd、進行状況、スケルトン、スピナー。display.md をお読みください。
- データ表示:パンくずリスト、カレンダー、カルーセル、チャート、データテーブル、ページネーション、テーブル。data-display.md をお読みください。
- チャットとエージェント UI:メッセージ、バブル、添付ファイル、マーカー、メッセージスクローラー、トレース、コードブロック、質問票。chat.md をお読みください。
レシピ
複数の Helm コンポーネントを組み合わせて、目的に特化した UI を構築するクックブック形式のパターンです。ここで提供するのはレシピであり、Helm コンポーネントとして提供されるものはありません。コードレビュー用ツールを構築する場合は、差分ビューアー(シンタックスハイライト、行ごとのガター、ファイルツリー、インライン行コメント)から始めてください。recipes.md をお読みください。
Brain のプリミティブ
- Brain:ヘッドレスプリミティブ、Helm から Brain に切り替える場面、カスタムコンポジションの構築。brain.md をお読みください。
フォーム連携
- フォーム:Helm のフォームコンポーネントと ReactiveForms または Signal Forms の接続、
ControlValueAccessorのパターン、バリデーション表示。forms.md をお読みください。
アクセシビリティ
- アクセシビリティ:Helm と Brain が標準で提供するアクセシビリティ規約、知っておくべき ARIA パターン、注意点。accessibility.md をお読みください。