Files
lively/CLAUDE.md
Mathis Pruvot 961d29ebe8 chore: initialize Expo SDK 55 project with TypeScript
React Native + Expo Router setup with strict TypeScript,
path aliases, and dark-first configuration.
2026-05-28 11:48:49 +00:00

37 lines
1.4 KiB
Markdown

# 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