chore: initialize Expo SDK 55 project with TypeScript
React Native + Expo Router setup with strict TypeScript, path aliases, and dark-first configuration.
This commit is contained in:
36
CLAUDE.md
Normal file
36
CLAUDE.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Lively — Live Wallpapers App
|
||||
|
||||
## Stack
|
||||
- React Native (Expo SDK 55+, New Architecture)
|
||||
- TypeScript strict
|
||||
- Expo Router v4 (file-based routing)
|
||||
- @shopify/react-native-skia v2.6+ (GPU shaders SkSL)
|
||||
- react-native-reanimated 3 (animation orchestration)
|
||||
- react-native-gesture-handler (touch/drag)
|
||||
- Zustand + MMKV (state + persistence)
|
||||
- expo-blur (glassmorphism blur backing)
|
||||
|
||||
## Architecture
|
||||
- `app/` — Expo Router screens (file-based)
|
||||
- `src/components/glass/` — Design system glassmorphism
|
||||
- `src/shaders/` — SkSL fragment shaders (animations)
|
||||
- `src/hooks/` — React hooks (animation, gyroscope, export)
|
||||
- `src/stores/` — Zustand stores (wallpaper, settings)
|
||||
- `src/services/` — Media access, ML pipeline
|
||||
- `src/theme/` — Colors, glass constants, typography, spacing
|
||||
- `src/types/` — TypeScript type definitions
|
||||
- `modules/` — Expo native modules (Android WallpaperService, iOS Live Photo)
|
||||
|
||||
## Conventions
|
||||
- Imports: `@/` alias pour `src/`
|
||||
- Named exports partout sauf screens (default export)
|
||||
- Shaders SkSL compilés via `Skia.RuntimeEffect.Make()`
|
||||
- Uniforms standard: resolution, time, intensity, speed + spécifiques
|
||||
- État global: Zustand, pas de Context API sauf providers Expo
|
||||
|
||||
## Design System
|
||||
- Dark-first, glassmorphism
|
||||
- Blur backing via expo-blur
|
||||
- Bordures `rgba(255,255,255,0.10)` 1px
|
||||
- Palette dans `src/theme/colors.ts`
|
||||
- Teintes dérivées des images utilisateur, pas de couleurs d'accent vives
|
||||
Reference in New Issue
Block a user