feature-arch について
feature-archは、Reactアプリを機能単位で構成するためのアーキテクチャガイドです。モジュール境界や構成を設計するチーム向けに、ディレクトリ、依存関係、データ取得、状態管理、テストなどの42項目を優先度別に示します。
主な機能
- 01機能単位でのディレクトリ構成
- 02インポートとモジュール境界の規則
- 03データ取得と状態管理の指針
- 04コンポーネント構成とテストの指針
- 05優先度付きの42項目のルール
活用シーン
- 01Reactプロジェクトのディレクトリ構成を計画する
- 02機能モジュール間の依存関係を確認する
- 03チームのデータ取得パターンを統一する
- 04アーキテクチャ規則を評価しテストを整理する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ thongdn-it/ react-agent-skills --skill feature-archインストール後、Claude Code で/feature-archを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdreferences/_sections.mdbound-event-based-communication.mdbound-feature-isolation.mdbound-feature-scoped-routing.mdbound-feature-size.mdbound-interface-contracts.mdbound-minimize-shared-state.mdfcomp-colocate-styles.mdfcomp-composition-over-props.mdfcomp-container-presentational.mdfcomp-error-boundaries.mdfcomp-props-as-data-boundary.mdfcomp-single-responsibility.mdfquery-avoid-n-plus-one.mdfquery-colocate-with-feature.mdfquery-feature-scoped-keys.mdfquery-parallel-fetching.mdfquery-server-component-fetching.mdfquery-single-responsibility.mdfstate-context-sparingly.mdfstate-feature-scoped-stores.mdfstate-lift-minimally.mdfstate-reset-on-unmount.mdfstate-server-state-separation.mdimport-avoid-barrel-files.mdimport-no-cross-feature.md詳細
機能ベースアーキテクチャのベストプラクティス
機能ごとに React アプリケーションを整理し、チームが独立してスケーラブルに開発できるようにする包括的なアーキテクチャガイドです。8 つのカテゴリにわたる 42 のルールを収録し、重要度に応じて、最重要のディレクトリ構造やインポートから、段階的に適用する命名規則まで優先順位を付けています。
適用する場面
次のような場合に、これらのガイドラインを参照してください。
- 新しい機能やモジュールを作成するとき
- プロジェクトのディレクトリ構造を整理するとき
- インポートルールと境界を設定するとき
- データ取得パターンを実装するとき
- 複数の機能からコンポーネントを構成するとき
- アーキテクチャ違反がないかコードをレビューするとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | ディレクトリ構造 | 最重要 | struct- |
| 2 | インポートと依存関係 | 最重要 | import- |
| 3 | モジュール境界 | 高 | bound- |
| 4 | データ取得 | 高 | fquery- |
| 5 | コンポーネントの整理 | 中〜高 | fcomp- |
| 6 | 状態管理 | 中 | fstate- |
| 7 | テスト戦略 | 中 | test- |
| 8 | 命名規則 | 低 | name- |
クイックリファレンス
1. ディレクトリ構造(最重要)
struct-feature-folders- 技術的な種類ではなく、機能ごとに整理するstruct-feature-self-contained- 機能を自己完結させるstruct-shared-layer- 本当に汎用的なコードに限り、共有レイヤーを使うstruct-flat-hierarchy- ディレクトリ階層を浅く保つstruct-optional-segments- 必要なセグメントのみを含めるstruct-app-layer- アプリケーションレイヤーと機能を分離する
2. インポートと依存関係(最重要)
import-unidirectional-flow- インポートの一方向の流れを徹底するimport-no-cross-feature- 機能間のインポートを禁止するimport-public-api- 公開 API 経由でのみエクスポートするimport-avoid-barrel-files- 深い階層でのバレルファイルからの再エクスポートを避けるimport-path-aliases- 一貫したパスエイリアスを使うimport-type-only- 型には型専用インポートを使う
3. モジュール境界(高)
bound-feature-isolation- 機能の分離を徹底するbound-interface-contracts- 明示的なインターフェース契約を定義するbound-feature-scoped-routing- ルーティングの範囲を機能に関する処理に限定するbound-minimize-shared-state- 機能間の共有状態を最小限にするbound-event-based-communication- 機能間の通信にはイベントを使うbound-feature-size- 機能の規模を適切に保つ
4. データ取得(高)
fquery-single-responsibility- クエリ関数の責務を単一に保つfquery-colocate-with-feature- データ取得処理を機能と同じ場所に配置するfquery-parallel-fetching- 独立したデータは並列に取得するfquery-avoid-n-plus-one- N+1 クエリパターンを避けるfquery-feature-scoped-keys- 機能ごとのクエリキーを使うfquery-server-component-fetching- サーバーコンポーネントのレベルでデータを取得する
5. コンポーネントの整理(中〜高)
fcomp-single-responsibility- コンポーネントに単一責任の原則を適用するfcomp-composition-over-props- プロップスのバケツリレーよりコンポジションを優先するfcomp-container-presentational- コンテナーの役割と表示の役割を分離するfcomp-props-as-data-boundary- プロップスを機能の境界として使うfcomp-colocate-styles- スタイルをコンポーネントと同じ場所に配置するfcomp-error-boundaries- 機能レベルのエラーバウンダリーを使う
6. 状態管理(中)
fstate-feature-scoped-stores- 状態ストアの範囲を機能に限定するfstate-server-state-separation- サーバー状態とクライアント状態を分離するfstate-lift-minimally- 必要な範囲に限って状態を引き上げるfstate-context-sparingly- 機能の状態にはコンテキストを必要最小限で使うfstate-reset-on-unmount- アンマウント時に機能の状態をリセットする
7. テスト戦略(中)
test-colocate-with-feature- テストを機能と同じ場所に配置するtest-feature-isolation- 機能を分離してテストするtest-shared-utilities- 機能ごとのテストユーティリティを作成するtest-integration-at-app-layer- アプリケーションレイヤーで統合テストを書く
8. 命名規則(低)
name-feature-naming- ドメイン駆動の機能名を使用しますname-file-conventions- 一貫したファイル命名規則を使用しますname-descriptive-exports- わかりやすいエクスポート名を使用します
使用方法
詳しい説明とコード例については、個別のリファレンスファイルを参照してください。
- セクションの定義 - カテゴリー構造と影響レベル
- ルールのテンプレート - 新しいルールを追加するためのテンプレート
- 個別のルール:
references/{prefix}-{slug}.md
関連スキル
- 機能の計画については、
feature-specスキルを参照してください - データのフェッチについては、
tanstack-queryスキルを参照してください - React コンポーネントのパターンについては、
react-19スキルを参照してください
コンパイル済みドキュメント全文
すべてのルールを展開した完全なガイドについては、AGENTS.md を参照してください
コメント
Markdown 対応