Files
digital-pilates/CLAUDE.md
richarjiang 3f89023447 feat: 更新 CLAUDE.md 文件及多个组件以优化用户体验和功能
- 更新 CLAUDE.md 文件,重构架构部分,增加认证和数据层的描述
- 在 GoalsScreen 中新增目标模板选择功能,支持用户选择和创建目标
- 在 CreateGoalModal 中添加初始数据支持,优化目标创建体验
- 新增 GoalTemplateModal 组件,提供目标模板选择界面
- 更新 NotificationHelpers,支持构建深度链接以便于导航
- 在 CoachScreen 中处理路由参数,增强用户交互体验
- 更新多个组件的样式和逻辑,提升整体用户体验
- 删除不再使用的中文回复规则文档
2025-08-26 15:04:04 +08:00

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 useAuthGuard hook 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
  • UI System:
    • Themed components (ThemedText, ThemedView) with color scheme support
    • Custom icon system with IconSymbol component for iOS symbols
    • Reusable UI components in components/ui/
  • Data Layer:
    • API services in services/ directory with centralized API client
    • AsyncStorage for local persistence
    • Background task management for sync operations
  • 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: pushIfAuthedElseLogin function 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 useAuthGuard hook for protected features
  • Use themed components for consistent styling
  • Follow established navigation patterns with typed routes