expo-architect
Modular architecture and technical standards for Expo with Jotai, Expo Router, and Biome.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Modular architecture and technical standards for Expo with Jotai, Expo Router, and Biome.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Implementation and management of Atomic Design methodology in Expo.
Guidelines for creating API routes in Expo Router with EAS Hosting
Helps understand and write EAS workflow YAML files for Expo projects. Use this skill when the user asks about CI/CD or workflows in an Expo or EAS context, mentions .eas/workflows/, or wants help with EAS build pipelines or deployment automation.
Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes
Guidelines for upgrading Expo SDK versions and fixing dependency issues
| name | expo-architect |
| description | Modular architecture and technical standards for Expo with Jotai, Expo Router, and Biome. |
| version | 1.0.0 |
| license | MIT |
Consult these resources for detailed implementation patterns:
src/ directory organization.This document outlines the architectural patterns and technical standards used in this boilerplate.
The project follows a modular architecture that separates concerns into clear layers:
src/)app/: Expo Router routes and layouts. Handles file-based navigation.components/: Reusable UI components. Each component should be in its own folder.constants/: Global constants (Environment variables, Storage keys, Strings).hooks/: Custom React hooks for shared logic.models/: TypeScript interfaces and types (Data models).services/: API integration and external service handlers.stores/: Jotai atoms for global and persistent state.styles/: Global styles and styled-component-like abstractions.tasks/: Background tasks and cron-like jobs.theme/: Design tokens (Colors, Spacing, Fonts, Opacity, Border).utils/: Low-level utility functions (Storage, Cache, Matchers).We use Jotai for atomic state management.
src/stores/.Atom suffix for atom variables (e.g., articlesAtom).atomWithStorage for data that should persist across app reloads.Example:
import { atom } from 'jotai';
import { atomWithStorage } from 'jotai/utils';
export const countAtom = atom(0);
export const persistentCountAtom = atomWithStorage('count', 0);
Each component should follow the "Folder-per-Component" pattern:
src/components/MyComponent/
├── MyComponent.tsx # Implementation
├── MyComponent.styles.ts # StyleSheet definitions
├── MyComponent.stories.tsx # Storybook documentation
└── MyComponent.test.tsx # Unit tests (Co-located)
.styles.ts.theme() function from @/theme/colors inject colors.AppBar.tsx).http utility for base requests.src/services/api.ts.src/services/mocks/ for development and testing.app/ files lean. Delegate logic to hooks or stores._layout.tsx for shared UI (Headers, Providers, Sidebars).Slot or Stack depending on the navigation needs.bun format to ensure code style compliance.@/) to avoid deep relative paths (e.g., ../../../../utils).EXPO-TEST-SETUP.instructions.md.@testing-library/react-native.theme() from src/theme/colors.ts.src/theme/ (spacing, fonts, etc.) for consistency.expo-image over native Image for better caching and performance.