react-native-architecture
Feature-first project structure and separation of concerns for React Native. Use when structuring a React Native project or applying clean architecture patterns.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
React Native Architecture
Priority: P0 (CRITICAL)
Feature-first organization for scalable mobile apps.
Project Structure
src/
├── features/ # Feature modules (Home, Auth, Profile)
│ └── home/
│ ├── screens/ # Screens for this feature
│ ├── components/ # Feature-specific components
│ ├── hooks/ # Feature-specific hooks
│ └── services/ # Feature-specific business logic
├── components/ # Shared components
├── navigation/ # Navigation configuration
├── services/ # Shared services (API, storage)
├── hooks/ # Shared custom hooks
├── utils/ # Utility functions
├── theme/ # Colors, typography, spacing
└── types/ # TypeScript types
Implementation Guidelines
- Feature-First: Organize by feature/module, not by type.
- Colocation: Keep related files together (screens, components, hooks within feature).
- Separation: UI (screens/components) separate from logic (hooks/services).
-
Atomic Components: Reusable components in
/components. Feature-specific in feature folder. -
Absolute Imports: Configure
tsconfig.jsonpaths (@/components,@/features). - Single Responsibility: Each file has one clear purpose.
-
Expo vs CLI: Structure works for both. Expo uses
app.json, CLI usesindex.js.
Anti-Patterns
-
No Type-Based Folders: Avoid
/containers,/screensat root. Use features. - No Logic in Screens: Extract to hooks or services.
- No Circular Deps: Features should not import from each other directly.
- No Deep Nesting: Max 3 levels deep.
Navigation Strategy
- Expo Router: Use for new projects, web-parity, and file-based routing.
- React Navigation: Use for complex deep-linking, legacy apps, or high-customization needs.
Verification Checklist (Mandatory)
- Feature-First: Is the file inside a feature directory?
- Colocation: Are hooks/services colocated with screens?
- Logic-Free Screens: Is there any business logic in the screen component?
- Navigation Choice: Does the project use the navigation strategy defined above?
References
See references/folder-structure.md for full directory tree, path mapping, and service layer patterns.
Related Topics
common/system-design | components | navigation | react/hooks | react/component-patterns
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-03-11
- Index updated
- 2026-03-11
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!