AMD ROCm / HIP GPU コンピューティングリファレンス。 hipMalloc, hipLaunchKernelGGL, HIP Graph, HIPRTC, hipify, rocBLAS, MIOpen, RCCL, rocprofv3, amd-smi, rocminfo, CDNA1-4 / RDNA1-4, MI300 / MI350, gfx942, Matrix Core, wave32/64。
feature-sliced-design
Feature-Sliced Design (FSD、フロントエンドアーキテクチャ手法) リファレンスとルール。別名: fsd, feature sliced design, feature-sliced。
レイヤー (app / pages / widgets / features / entities / shared)、 依存方向、Public API パターン、スライス、セグメント (ui / model / api / lib / config)。コードレビュー・リファクタリング時に自動参照。
含まれるファイル(24)
- SKILL.md6.6 KB
- references/import-rules.md3.4 KB
- references/layers.md3.8 KB
- references/public-api.md3.8 KB
- references/README.md665 B
- references/slices-segments.md3.3 KB
- rules/layer-dependency.md1.7 KB
- rules/public-api-enforcement.md1.9 KB
- rules/README.md613 B
- rules/segment-naming.md2.0 KB
- rules/slice-isolation.md1.7 KB
- samples/composition-in-pages.md1.8 KB
- samples/cross-entity-import.md1.1 KB
- samples/layer-imports.md1.5 KB
- samples/nextjs-app-router.md1.7 KB
- samples/project-structure.md2.0 KB
- samples/react-query-integration.md2.3 KB
- samples/README.md1.5 KB
- samples/slice-groups.md1.7 KB
- samples/slice-public-api.md1.4 KB
- scripts/generate.md1.7 KB
- scripts/install.md769 B
- scripts/lint.md1.3 KB
- scripts/README.md472 B
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Feature-Sliced Design ガイドライン
ディレクトリ構成
skills/feature-sliced-design/
SKILL.md
references/
README.md
import-rules.md
layers.md
public-api.md
slices-segments.md
samples/
README.md
project-structure.md
slice-public-api.md
layer-imports.md
cross-entity-import.md
slice-groups.md
composition-in-pages.md
nextjs-app-router.md
react-query-integration.md
scripts/
README.md
install.md
generate.md
lint.md
rules/
README.md
layer-dependency.md
public-api-enforcement.md
slice-isolation.md
segment-naming.md
探索手順
タスクからカテゴリを引き、カテゴリの README.md で目的のページを特定する:
- 下記マッピング表でタスクに対応するカテゴリを探す
- そのカテゴリの
README.mdを参照して目的のページを特定する - 該当ページの
.mdを Read して詳細を確認する
タスク → カテゴリ マッピング
| タスク | カテゴリ | 参照 README |
|---|---|---|
| レイヤー構成・責務を知りたい | references | references/README.md |
| インポートルール・依存方向を確認したい | references | references/README.md |
| Public API パターンを理解したい | references | references/README.md |
| スライス・セグメントの定義を知りたい | references | references/README.md |
| 典型的な FSD プロジェクト構成の例を見たい | samples | samples/README.md |
| Next.js / React Query との組み合わせ例を見たい | samples | samples/README.md |
| @x 記法・クロスエンティティ依存の実例を見たい | samples | samples/README.md |
| pages / widgets での合成パターンを知りたい | samples | samples/README.md |
| ツールチェーンのインストール・CLI コマンドを知りたい | scripts | scripts/README.md |
| steiger でアーキテクチャ準拠チェックを実行したい | scripts | scripts/README.md |
| @feature-sliced/cli でコード生成したい | scripts | scripts/README.md |
| レイヤー依存方向のルールを自動適用したい | rules | rules/README.md |
| Public API 経由のみ許可するルールを確認したい | rules | rules/README.md |
| スライス分離・セグメント命名規約を確認したい | rules | rules/README.md |
コア概念の詳細は references/<topic>.md、チェックルールは rules/<rule>.md を参照。
必須ルール
- コードは 6 つの標準レイヤーに分割する:
app,pages,widgets,features,entities,shared - インポートは下位レイヤーへの一方向のみ許可。同一レイヤー内のスライス間インポートは禁止
- 各スライスは
index.tsで Public API を定義する。外部からは Public API 経由でのみインポートする export *は使用しない。公開するものを明示的に列挙する- セグメント名は「目的」で命名する(
ui,model,api)。「本質」で命名しない(components,hooks,types) appとsharedにスライスは持たない。セグメントのみで構成する
レイヤー構成(上位 → 下位)
app — ルーティング、プロバイダー、グローバル設定(スライスなし)
pages — 画面単位のスライス
widgets — 複数ページで再利用される大規模 UI ブロック
features — ビジネス価値をもたらすユーザーインタラクション
entities — ビジネスエンティティ(User, Product 等)
shared — 汎用的な再利用可能コード(スライスなし)
標準セグメント
| セグメント | 内容 |
|---|---|
ui | UI コンポーネント、フォーマッタ、スタイル |
api | バックエンド連携、リクエスト関数、レスポンス型 |
model | データスキーマ、ストア、ビジネスロジック |
lib | スライスローカルのユーティリティ |
config | 設定定数、フィーチャーフラグ |
ディレクトリ構造例
src/
├── app/
│ ├── routes/
│ ├── store/
│ └── styles/
├── pages/
│ └── feed/
│ ├── ui/
│ ├── api/
│ └── index.ts
├── widgets/
│ └── header/
│ ├── ui/
│ └── index.ts
├── features/
│ └── search-articles/
│ ├── ui/
│ ├── model/
│ └── index.ts
├── entities/
│ └── user/
│ ├── ui/
│ ├── model/
│ ├── api/
│ └── index.ts
└── shared/
├── ui/
├── api/
├── lib/
└── config/
よくある間違い
- セグメント名に
components/,hooks/,types/を使う →ui/,model/,lib/を使用する export *でまとめてエクスポートする → 明示的にexport { Name } fromで列挙する- 同一レイヤーのスライスを直接インポートする → 上位レイヤーで合成するか、
@x記法を使用する - 再利用されないコードを
featuresやwidgetsに早期移動する → まずpagesに置き、再利用が確定してから昇格する sharedにビジネスロジックを置く → ビジネスロジックはentities以上に配置する- 独自レイヤーを追加する → 標準の 6 レイヤーのみ使用する
- Public API なしでスライスを作成する → 必ず
index.tsを先に定義する - 型定義を
types/フォルダにまとめる → ドメインごとにmodel/セグメント内に配置する
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Android アプリ開発 (Kotlin) の推奨アーキテクチャリファレンス。 Jetpack, androidx, UI layer, Domain layer, Data layer, state holder, UDF, SSOT, オフラインファースト, モジュール化, ViewModel, viewModelScope, SavedStateHandle, Lifecycle, repeatOnLifecycle, collectAsStateWithLifecycle, LiveData, Hilt による DI, Paging 3 によるページング処理。
Android アプリ開発 (Kotlin) のバックグラウンド・非同期処理リファレンス。 Jetpack androidx WorkManager: Worker, CoroutineWorker, WorkRequest, Constraints, WorkInfo, WorkContinuation, expedited work, テスト。 Service: フォアグラウンドサービス, バウンドサービス, AIDL, Messenger。 AlarmManager, PendingIntent, BroadcastReceiver, JobScheduler, Doze。 Kotlin コルーチン, Flow, StateFlow, SharedFlow, Channel。
Android アプリ開発 (Kotlin) の Gradle ビルドシステムリファレンス。 Android Gradle Plugin (AGP), Kotlin DSL (build.gradle.kts), version catalog, KSP, R8/ProGuard, App Bundle, baseline profile。
Android Jetpack Compose (Kotlin) の androidx Material3 コンポーネントリファレンス。 Button, IconButton, FloatingActionButton, Checkbox, Switch, Slider, TextField, SearchBar, DropdownMenu, Chip, DatePicker, TimePicker, Card, Scaffold, Dialog, BottomSheet, TopAppBar, NavigationBar, NavigationRail, Tab, Snackbar, ProgressIndicator, Badge, Icon, MaterialTheme, ColorScheme, Typography, Shapes。
Android Jetpack Compose (Kotlin) のアニメーション・描画リファレンス。 androidx.compose.animation / graphics API。 AnimatedVisibility, AnimatedContent, animate*AsState, Animatable, AnimationSpec, Canvas, DrawScope, Brush, Path, Color, Image。