-
Notifications
You must be signed in to change notification settings - Fork 0
Code Reviewer
Ali Sadeghi edited this page Jan 6, 2026
·
8 revisions
Reviews feature implementations against architecture rules.
Manual Invocation:
> Use code-reviewer agent to review the login feature- Interface + Impl pairs for DataSource/Repository
- Either for all fallible operations
- setState { } for state updates (never direct assignment)
- 4-state UI: Uninitialized/Loading/Success/Failed
- X-components only (no Material3)
- ImmutableList for collections
- Callback parameters for navigation
- Lowercase packages (no hyphens/underscores)
- @Serializable on all models
- Type-safe navigation routes
- settings.gradle.kts includes module
- composeApp/build.gradle.kts has dependency
- initKoin.kt registers DI module
- BaseAppNavHost.kt wires navigation
Reviewing feature: login
✓ Data Layer
✓ LoginRemoteDataSource: Interface + Impl found
✓ LoginRepository: Interface + Impl found
✓ Either<T> used for all suspend functions
✓ Models have @Serializable
✓ UI Layer
✓ LoginUiState: All 4 states present
✓ LoginViewModel: Uses setState { }
✓ LoginScreen: Uses X-components
✓ Navigation: Type-safe routes with callbacks
✓ Integration
✓ settings.gradle.kts: Module included
✓ composeApp/build.gradle.kts: Dependency added
✓ initKoin.kt: DI module registered
✓ BaseAppNavHost.kt: Navigation wired
⚠ Issues Found:
⚠ LoginScreen.kt:45 - Using Material3 Button instead of XButton
⚠ LoginViewModel.kt:32 - Direct state assignment instead of setState { }
✗ Review Failed: 2 issues found
Back to Agents