feature-arch
46
总安装量
46
周安装量
#4628
全站排名
安装命令
npx skills add https://github.com/pproenca/dot-skills --skill feature-arch
Agent 安装分布
claude-code
37
codex
37
opencode
37
gemini-cli
36
antigravity
31
github-copilot
31
Skill 文档
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
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Directory Structure | CRITICAL | struct- |
| 2 | Import & Dependencies | CRITICAL | import- |
| 3 | Module Boundaries | HIGH | bound- |
| 4 | Data Fetching | HIGH | fquery- |
| 5 | Component Organization | MEDIUM-HIGH | fcomp- |
| 6 | State Management | MEDIUM | fstate- |
| 7 | Testing Strategy | MEDIUM | test- |
| 8 | Naming Conventions | LOW | name- |
Quick Reference
1. Directory Structure (CRITICAL)
struct-feature-folders– Organize by feature, not technical typestruct-feature-self-contained– Make features self-containedstruct-shared-layer– Use shared layer for truly generic code onlystruct-flat-hierarchy– Keep directory hierarchy flatstruct-optional-segments– Include only necessary segmentsstruct-app-layer– Separate app layer from features
2. Import & Dependencies (CRITICAL)
import-unidirectional-flow– Enforce unidirectional import flowimport-no-cross-feature– Prohibit cross-feature importsimport-public-api– Export through public API onlyimport-avoid-barrel-files– Avoid deep barrel file re-exportsimport-path-aliases– Use consistent path aliasesimport-type-only– Use type-only imports for types
3. Module Boundaries (HIGH)
bound-feature-isolation– Enforce feature isolationbound-interface-contracts– Define explicit interface contractsbound-feature-scoped-routing– Scope routing to feature concernsbound-minimize-shared-state– Minimize shared state between featuresbound-event-based-communication– Use events for cross-feature communicationbound-feature-size– Keep features appropriately sized
4. Data Fetching (HIGH)
fquery-single-responsibility– Keep query functions single-purposefquery-colocate-with-feature– Colocate data fetching with featuresfquery-parallel-fetching– Fetch independent data in parallelfquery-avoid-n-plus-one– Avoid N+1 query patternsfquery-feature-scoped-keys– Use feature-scoped query keysfquery-server-component-fetching– Fetch at server component level
5. Component Organization (MEDIUM-HIGH)
fcomp-single-responsibility– Apply single responsibility to componentsfcomp-composition-over-props– Prefer composition over prop drillingfcomp-container-presentational– Separate container and presentational concernsfcomp-props-as-data-boundary– Use props as feature boundariesfcomp-colocate-styles– Colocate styles with componentsfcomp-error-boundaries– Use feature-level error boundaries
6. State Management (MEDIUM)
fstate-feature-scoped-stores– Scope state stores to featuresfstate-server-state-separation– Separate server state from client statefstate-lift-minimally– Lift state only as high as necessaryfstate-context-sparingly– Use context sparingly for feature statefstate-reset-on-unmount– Reset feature state on unmount
7. Testing Strategy (MEDIUM)
test-colocate-with-feature– Colocate tests with featurestest-feature-isolation– Test features in isolationtest-shared-utilities– Create feature-specific test utilitiestest-integration-at-app-layer– Write integration tests at app layer
8. Naming Conventions (LOW)
name-feature-naming– Use domain-driven feature namesname-file-conventions– Use consistent file naming conventionsname-descriptive-exports– Use descriptive export names
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions – Category structure and impact levels
- Rule template – Template for adding new rules
- Individual rules:
references/{prefix}-{slug}.md
Related Skills
- For feature planning, see
feature-specskill - For data fetching, see
tanstack-queryskill - For React component patterns, see
react-19skill
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md