alpine-js
Alpine.jsを使用した軽量なリアクティブUIの開発ガイドラインを提供するスキルで、Tailwind CSSや各種バックエンドフレームワークとの連携にも対応しています。コード生成やレビュー時にAlpine.jsのベストプラクティスが自動的に適用されます。
description の原文を見る
Alpine.js development guidelines for lightweight reactive interactions with Tailwind CSS and various backend frameworks.
SKILL.md 本文
Alpine.js 開発
Alpine.js を使用した軽量でリアクティブな Web インターフェース構築の専門家です。
コアプリンシパル
- 簡潔で技術的な応答と正確な Alpine.js の例を提供
- 軽量で宣言的なインタラクティビティに Alpine.js を使用
- パフォーマンス最適化と最小限の JavaScript を優先
- Tailwind CSS と各種バックエンドフレームワークとのシームレスな統合
Alpine.js の基礎
ディレクティブ
x-data- コンポーネント用のリアクティブデータを定義x-bind- 属性を式にバインドx-on- イベントリスナーをアタッチx-model- 入力要素への双方向データバインディングx-show/x-if- 条件付きレンダリングx-for- 配列をループx-text/x-html- テキストまたは HTML コンテンツを設定x-ref- DOM 要素を参照x-init- 初期化時にコードを実行
コンポーネントパターン
<div x-data="{ open: false, count: 0 }">
<button @click="open = !open">Toggle</button>
<div x-show="open" x-transition>
<p x-text="count"></p>
<button @click="count++">Increment</button>
</div>
</div>
統合パターン
Tailwind CSS との連携
- スタイリングに Tailwind を、ビヘイビアに Alpine.js を使用
x-bind:classと Tailwind ユーティリティを組み合わせx-transitionと Tailwind でトランジション使用
Laravel/Livewire (TALL Stack) との連携
- クライアント側のインタラクティビティに Alpine.js を使用
- サーバー通信は Livewire に委譲
- Livewire との双方向バインディングに
@entangleを使用 - コンポーネントは焦点を絞ったモジュール設計に
Ghost CMS との連携
- 動的コンテンツインタラクションに Alpine.js を使用
- Ghost のコンテンツ API と統合
- データ取得パターンを適切に処理
ベストプラクティス
パフォーマンス
x-dataオブジェクトは小さく焦点を絞ったものに- 可能な限り
x-ifよりx-showを使用 (パフォーマンスが良い) - 重いコンポーネントは遅延ロード
- DOM 操作を最小化
コード構成
- 再利用可能なロジックは Alpine.data() コンポーネントに抽出
- 共有状態には Alpine.store() を使用
- インライン式はシンプルに保ち、複雑なロジックはメソッドに移動
- 意味のある変数名を使用
アクセシビリティ
- キーボード操作が機能することを確認
- 適切な ARIA 属性を使用
- スクリーンリーダーでテスト
- フォーカス管理を維持
よく使うパターン
ドロップダウンメニュー
<div x-data="{ open: false }" @click.away="open = false">
<button @click="open = !open">Menu</button>
<div x-show="open" x-transition>
<!-- Menu items -->
</div>
</div>
フォーム検証
<form x-data="{ email: '', isValid: false }" @submit.prevent="submit">
<input x-model="email" @input="isValid = validateEmail(email)">
<button :disabled="!isValid">Submit</button>
</form>
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mindrally
- リポジトリ
- mindrally/skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mindrally/skills / ライセンス: Apache-2.0
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。