// Performs comprehensive code reviews for Bitwarden iOS projects, verifying architecture compliance, style guidelines, compilation safety, test coverage, and security requirements. Use when reviewing pull requests, checking commits, analyzing code changes, verifying Bitwarden coding standards, evaluating unidirectional data flow pattern, checking services container dependency injection usage, reviewing security implementations, or assessing test coverage. Automatically invoked by CI pipeline or manually for interactive code reviews.
| name | reviewing-changes |
| description | Performs comprehensive code reviews for Bitwarden iOS projects, verifying architecture compliance, style guidelines, compilation safety, test coverage, and security requirements. Use when reviewing pull requests, checking commits, analyzing code changes, verifying Bitwarden coding standards, evaluating unidirectional data flow pattern, checking services container dependency injection usage, reviewing security implementations, or assessing test coverage. Automatically invoked by CI pipeline or manually for interactive code reviews. |
Follow this process to review code changes for Bitwarden iOS:
Start with high-level assessment of the change's purpose and approach. Read PR/commit descriptions and understand what problem is being solved.
Systematically check each area against Bitwarden standards documented in CLAUDE.md:
Architecture: Follow patterns in Docs/Architecture.md
ServiceContainerStyle: Adhere to Code Style
Compilation: Analyze for potential build issues
Testing: Verify appropriate test coverage
Security: Given Bitwarden's security-focused nature
Identify specific violations with file:line_number references. Be precise about locations.
Give actionable recommendations for improvements. Explain why changes are needed and suggest specific solutions.
Highlight issues that must be addressed before merge. Distinguish between blockers and suggestions.
Note well-implemented patterns (briefly, without elaboration). Keep positive feedback concise.
## Summary
This PR adds biometric authentication to the login flow, implementing unidirectional data flow pattern with proper state management.
## Critical Issues
- `BitwardenShared/UI/Auth/Login/LoginView.swift:25` - No `scrollView` added, user can't scroll through the view.
- `BitwardenShared/Core/Auth/Services/AuthService.swift:120` - You must not use `try!`, change it to `try` in a `do...catch` block or throwing function.
## Suggested Improvements
- Consider extracting biometric prompt logic to separate struct
- Add missing tests for biometric failure scenarios
- `BitwardenShared/UI/Auth/Login/LoginView.swift:43` - Consider using existing `BitwardenTextField` component
## Good Practices
- Proper comments documentation
- Comprehensive unit test coverage
- Clear separation of concerns
## Action Items
1. Add scroll view in `LoginView`
2. Change `try!` to `try` in `AuthService`
3. Consider adding tests for error flows
DO focus on:
DON'T focus on: