mcpField
F
feature-arch

feature-arch

github.com/pymodelDevelopment40488 installsUpdated 4w ago
Repository

About feature-arch

A reference skill for structuring React applications around features. Its 42 rules cover eight areas, from directory layout and import boundaries to data fetching, state, testing, and naming.

Key features

  1. 0142 rules across eight categories
  2. 02Feature-based directory organization
  3. 03Import boundaries and public APIs
  4. 04Feature isolation and contracts
  5. 05Data fetching and state guidance
  6. 06Component, testing, and naming practices

Use cases

  1. 01Organizing a new React feature
  2. 02Setting import rules and module boundaries
  3. 03Reviewing architecture violations
  4. 04Planning feature-level data fetching and tests

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pymodel/react-frontend-skills --skill feature-arch

After installing, type/feature-archin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
bound-event-based-communication.md
bound-feature-isolation.md
bound-feature-scoped-routing.md
bound-feature-size.md
bound-interface-contracts.md
bound-minimize-shared-state.md
fcomp-colocate-styles.md
fcomp-composition-over-props.md
fcomp-container-presentational.md
fcomp-error-boundaries.md
fcomp-props-as-data-boundary.md
fcomp-single-responsibility.md
fquery-avoid-n-plus-one.md
fquery-colocate-with-feature.md
fquery-feature-scoped-keys.md
fquery-parallel-fetching.md
fquery-server-component-fetching.md
fquery-single-responsibility.md
fstate-context-sparingly.md
fstate-feature-scoped-stores.md
fstate-lift-minimally.md
fstate-reset-on-unmount.md
fstate-server-state-separation.md
import-avoid-barrel-files.md
import-no-cross-feature.md
import-path-aliases.md
import-public-api.md
import-type-only.md
import-unidirectional-flow.md
name-descriptive-exports.md

Details

From the project README

Feature-Based Architecture Best Practices

Comprehensive architecture guide for organizing React applications by features, enabling scalable development with independent teams. Contains 42 rules across 8 categories, prioritized by impact from critical (directory structure, imports) to incremental (naming conventions).

When to Apply

Reference these guidelines when:

  • Creating new features or modules
  • Organizing project directory structure
  • Setting up import rules and boundaries
  • Implementing data fetching patterns
  • Composing components from multiple features
  • Reviewing code for architecture violations

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Directory StructureCRITICALstruct-
2Import & DependenciesCRITICALimport-
3Module BoundariesHIGHbound-
4Data FetchingHIGHfquery-
5Component OrganizationMEDIUM-HIGHfcomp-
6State ManagementMEDIUMfstate-
7Testing StrategyMEDIUMtest-
8Naming ConventionsLOWname-

Quick Reference

1. Directory Structure (CRITICAL)
  • struct-feature-folders - Organize by feature, not technical type
  • struct-feature-self-contained - Make features self-contained
  • struct-shared-layer - Use shared layer for truly generic code only
  • struct-flat-hierarchy - Keep directory hierarchy flat
  • struct-optional-segments - Include only necessary segments
  • struct-app-layer - Separate app layer from features
2. Import & Dependencies (CRITICAL)
  • import-unidirectional-flow - Enforce unidirectional import flow
  • import-no-cross-feature - Prohibit cross-feature imports
  • import-public-api - Export through public API only
  • import-avoid-barrel-files - Avoid deep barrel file re-exports
  • import-path-aliases - Use consistent path aliases
  • import-type-only - Use type-only imports for types
3. Module Boundaries (HIGH)
  • bound-feature-isolation - Enforce feature isolation
  • bound-interface-contracts - Define explicit interface contracts
  • bound-feature-scoped-routing - Scope routing to feature concerns
  • bound-minimize-shared-state - Minimize shared state between features
  • bound-event-based-communication - Use events for cross-feature communication
  • bound-feature-size - Keep features appropriately sized
4. Data Fetching (HIGH)
  • fquery-single-responsibility - Keep query functions single-purpose
  • fquery-colocate-with-feature - Colocate data fetching with features
  • fquery-parallel-fetching - Fetch independent data in parallel
  • fquery-avoid-n-plus-one - Avoid N+1 query patterns
  • fquery-feature-scoped-keys - Use feature-scoped query keys
  • fquery-server-component-fetching - Fetch at server component level
5. Component Organization (MEDIUM-HIGH)
  • fcomp-single-responsibility - Apply single responsibility to components
  • fcomp-composition-over-props - Prefer composition over prop drilling
  • fcomp-container-presentational - Separate container and presentational concerns
  • fcomp-props-as-data-boundary - Use props as feature boundaries
  • fcomp-colocate-styles - Colocate styles with components
  • fcomp-error-boundaries - Use feature-level error boundaries
6. State Management (MEDIUM)
  • fstate-feature-scoped-stores - Scope state stores to features
  • fstate-server-state-separation - Separate server state from client state
  • fstate-lift-minimally - Lift state only as high as necessary
  • fstate-context-sparingly - Use context sparingly for feature state
  • fstate-reset-on-unmount - Reset feature state on unmount
7. Testing Strategy (MEDIUM)
  • test-colocate-with-feature - Colocate tests with features
  • test-feature-isolation - Test features in isolation
  • test-shared-utilities - Create feature-specific test utilities
  • test-integration-at-app-layer - Write integration tests at app layer
8. Naming Conventions (LOW)
  • name-feature-naming - Use domain-driven feature names
  • name-file-conventions - Use consistent file naming conventions
  • name-descriptive-exports - Use descriptive export names

How to Use

Read references/<rule-id>.md for each rule above that matches the task: why it matters, then incorrect vs. correct code.

The layering and boundary rules align with Feature-Sliced Design (FSD), the most widely adopted React architecture standard; see feature-sliced.design for the full methodology.

Related Skills

  • For data fetching, see tanstack-query skill
  • For React component patterns, see react skill

Comments

Markdown supported