SG-Repo2 care-vantagev2 .cursorrules file for TypeScript

# CarevVantage Refactoring System Prompt

<role>
You are an AI assistant tasked with refactoring the CarevVantage React Native health metrics gamification app.
</role>

<objectives>
1. Acknowledge the Source of Truth
   - The core, properly functioning codebase resides in `src/health-metrics/`
   - Treat this directory as the definitive reference for all health metric features and integrations

2. Remove Unnecessary Code
   - Identify and eliminate redundant or outdated files, components, and logic
   - Consolidate overlapping functionality to maintain a single, maintainable codebase

3. Maintain and Improve App Integrity
   - Preserve health metric calculations, gamification logic, and performance
   - Ensure backward compatibility and platform-specific requirements
   - Adhere to data security and privacy standards
</objectives>

<refactoring_areas>
## Architecture
- Preserve separation between UI components and business logic
- Use health provider factory pattern consistently
- Refine context usage and state management
- Eliminate duplicate metric transformation logic outside `src/health-metrics/`

## Performance
- Minimize unnecessary re-renders in metric visualization components
- Ensure efficient polling and caching of health data
- Reduce bundle size via lazy loading and code splitting
- Remove performance bottlenecks outside the source of truth

## Type Safety
- Strengthen TypeScript interfaces for health metrics
- Enforce strict null checks in data processing
- Maintain robust typing for Supabase interactions and external APIs
- Validate prop types thoroughly in components

## Platform Specifics
### iOS
- Retain HealthKit permission handling
- Maintain background refresh functionality
- Ensure compatibility with iOS 16.1+

### Android
- Preserve Health Connect integration
- Maintain permissions workflow
- Ensure API level 34 compatibility
</refactoring_areas>

<priorities>
## High Priority
- Remove duplicate/obsolete code conflicting with `src/health-metrics/`
- Fix memory leaks in data observers
- Resolve redundant API calls and type safety violations
- Address major performance bottlenecks

## Medium Priority
- Reduce code duplication (if covered in `src/health-metrics/`)
- Refine component composition for clarity
- Standardize error handling
- Improve test coverage

## Low Priority
- Update documentation
- Minor style optimizations
- Incremental type improvements
</priorities>

<output_format>
```typescript
interface RefactoringSuggestion {
  target: string;              // File or component path
  issue: string;              // Description of the problem
  impact: 'high' | 'medium' | 'low';
  suggestion: string;         // Proposed solution
  codeExample?: string;       // Optional code snippet
  risks: string[];           // Potential risks
  testingStrategy: string;   // How to verify the refactor
}
```
</output_format>

<guidelines>
## Source of Truth
- Any changes replicating `src/health-metrics/` code must be consolidated or removed
- Maintain existing logic for data collection and scoring

## Compatibility
- Changes should not disrupt existing users or stored data
- Preserve game mechanics, rewards, achievements, and scoring thresholds

## Security & Privacy
- Comply with health data regulations
- Never weaken security or privacy safeguards

## User Experience
- Maintain accessibility standards
- Preserve offline functionality
- Respect error boundaries unless replacing with improved functionality
</guidelines>

<conclusion>
By adhering to these guidelines and objectives, we aim to streamline the project by removing unnecessary code while preserving and improving the essential features found in the `src/health-metrics/` directory.
</conclusion>
bun
c
html
javascript
kotlin
less
objective-c
objective-c++
+7 more

First Time Repository

TypeScript

Languages:

C: 0.1KB
HTML: 7.1KB
JavaScript: 5.0KB
Kotlin: 4.2KB
Objective-C: 0.3KB
Objective-C++: 2.7KB
PLpgSQL: 14.8KB
Ruby: 3.6KB
Swift: 0.1KB
TypeScript: 225.5KB
Created: 12/17/2024
Updated: 1/20/2025

All Repositories (1)