- 更新 CLAUDE.md 文件,重构架构部分,增加认证和数据层的描述 - 在 GoalsScreen 中新增目标模板选择功能,支持用户选择和创建目标 - 在 CreateGoalModal 中添加初始数据支持,优化目标创建体验 - 新增 GoalTemplateModal 组件,提供目标模板选择界面 - 更新 NotificationHelpers,支持构建深度链接以便于导航 - 在 CoachScreen 中处理路由参数,增强用户交互体验 - 更新多个组件的样式和逻辑,提升整体用户体验 - 删除不再使用的中文回复规则文档
2.2 KiB
2.2 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Commands
- Start development server:
npm start - Run on Android:
npm run android - Run on iOS:
npm run ios - Run on Web:
npm run web - Lint:
npm run lint - Reset project:
npm run reset-project
Architecture
- Framework: React Native (Expo) with TypeScript using Expo Router for file-based navigation
- State Management: Redux Toolkit with domain-specific slices (
store/) and typed hooks (hooks/redux.ts) - Authentication: Custom auth guard system with
useAuthGuardhook for protected navigation - Navigation:
- File-based routing in
app/directory with nested layouts - Tab-based navigation with custom styling and haptic feedback
- Route constants defined in
constants/Routes.ts
- File-based routing in
- UI System:
- Themed components (
ThemedText,ThemedView) with color scheme support - Custom icon system with
IconSymbolcomponent for iOS symbols - Reusable UI components in
components/ui/
- Themed components (
- Data Layer:
- API services in
services/directory with centralized API client - AsyncStorage for local persistence
- Background task management for sync operations
- API services in
- Native Integration:
- Health data integration with HealthKit
- Apple Authentication
- Camera and photo library access for posture assessment
- Push notifications with background task support
- Haptic feedback integration
Key Architecture Patterns
- Redux Auto-sync: Listener middleware automatically syncs checkin data changes to backend
- Type-safe Navigation: Uses Expo Router with TypeScript for route type safety
- Authentication Flow:
pushIfAuthedElseLoginfunction handles auth-protected navigation - Theme System: Dynamic theming with light/dark mode support and color tokens
- Service Layer: Centralized API client with interceptors and error handling
Development Conventions
- Use absolute imports with
@/prefix for all internal imports - Follow existing Redux slice patterns for state management
- Implement auth guards using
useAuthGuardhook for protected features - Use themed components for consistent styling
- Follow established navigation patterns with typed routes