---
description: Production readiness check — run all checks, fix as you go, commit incrementally
---

# Production Readiness — PeakPulse

## Steps

1. Check git status is clean:
   // turbo

```bash
cd /Users/sd9235/code/mygh/learning_ai_peakpulse && git status --short
```

2. Verify project.yml generates successfully:

```bash
cd /Users/sd9235/code/mygh/learning_ai_peakpulse/ios && xcodegen generate
```

3. Build all iOS targets:

```bash
cd /Users/sd9235/code/mygh/learning_ai_peakpulse/ios && xcodebuild -project PeakPulse.xcodeproj -scheme PeakPulse -destination 'platform=iOS Simulator,name=iPhone 16' -quiet build
```

4. Run unit tests:

```bash
cd /Users/sd9235/code/mygh/learning_ai_peakpulse/ios && xcodebuild -project PeakPulse.xcodeproj -scheme PeakPulse -destination 'platform=iOS Simulator,name=iPhone 16' -quiet test
```

5. Verify no print() statements in production code:
   // turbo

```bash
grep -rn "print(" /Users/sd9235/code/mygh/learning_ai_peakpulse/ios/PeakPulse/ --include="*.swift" | grep -v "// " || echo "PASS: No print() found"
```

6. Verify no hardcoded colors (should use PeakPulseColors.\*):
   // turbo

```bash
grep -rn "Color(" /Users/sd9235/code/mygh/learning_ai_peakpulse/ios/PeakPulse/Views/ --include="*.swift" | grep -v "PeakPulseColors" | grep -v Theme | head -10 || echo "PASS: No hardcoded colors"
```

7. Verify entitlements are correct:
   // turbo

```bash
cat /Users/sd9235/code/mygh/learning_ai_peakpulse/ios/PeakPulse/PeakPulse.entitlements
```

8. Verify .env.example has all required keys:
   // turbo

```bash
cat /Users/sd9235/code/mygh/learning_ai_peakpulse/.env.example
```

9. Run platform-service peak-sessions tests:

```bash
cd /Users/sd9235/code/mygh/learning_ai_common_plat && npx vitest run services/platform-service/src/modules/peak-sessions/peak-sessions.test.ts
```

10. Verify CI workflow exists and is valid:
    // turbo

```bash
cat /Users/sd9235/code/mygh/learning_ai_peakpulse/.github/workflows/ci.yml | head -20
```

11. Check file counts match docs:
    // turbo

```bash
echo "Swift files:" && find /Users/sd9235/code/mygh/learning_ai_peakpulse/ios -name "*.swift" | wc -l && echo "Test files:" && find /Users/sd9235/code/mygh/learning_ai_peakpulse/ios/PeakPulseTests -name "*.swift" | wc -l
```

12. Final commit and push if any fixes were made.
