A checklist to verify before completing feature development.
Usage#
@checklist:feature-complete [feature_name]
1. Structure Verification#
Domain Layer#
- Entity definition complete (Freezed)
- Repository Interface defined (I prefix)
- UseCase implementation complete
- Failure class defined
- Unit tests written
Data Layer#
- Repository implementation complete
- Serverpod Mixin implemented (if needed)
- Local Database implemented (if needed)
- DTO ↔ Entity mapper implemented
- Caching strategy applied (SWR/Cache-First)
Presentation Layer#
- Page widget implemented
- Reusable Widgets extracted
- BLoC/Cubit implemented
- Event/State defined (Freezed)
- Widget tests written
DI & Routing#
- Injectable annotations added
- Route defined (Auto_route)
- Route Guard applied (if needed)
2. Code Generation#
# Feature package build
melos run generate:{feature_name}
# Or full build
melos run build
- Freezed code generated (*.freezed.dart)
- Injectable code generated (*.g.dart)
- Route code generated
- No build errors
3. Testing#
Unit Tests#
-
UseCase tests
- Happy path tests
- Error case tests
- Edge case tests
- Repository tests (mocked data source)
BLoC Tests#
- Initial state test
- Event → state transition tests
- Error handling tests
- Sequential event tests
Widget Tests#
- Rendering tests
- Interaction tests
- State-specific UI tests
Execution Verification#
# Run feature tests
flutter test feature/{type}/{feature_name}/test/
# Check coverage
melos run test:with-html-coverage
- All tests passing
- Coverage 80% or above
4. Documentation#
Code Documentation#
- dartdoc comments on public APIs
- Explanatory comments on complex logic
- TODO comments resolved or issues filed
Feature Documentation#
- README.md updated (if needed)
- API changes documented
- Breaking Changes noted
5. Internationalization#
- All UI text uses translation keys
-
Translation files updated
melos run generate:locale - Pluralization/parameter handling verified
- All supported languages translated
6. Performance Optimization#
UI Performance#
- const widgets utilized
- BlocBuilder buildWhen applied
- ListView.builder used (for long lists)
- Image cacheWidth/cacheHeight applied
Data Performance#
- Appropriate caching strategy
- Pagination applied (if needed)
- Unnecessary API calls removed
Memory Management#
- Resources released in dispose
- Stream subscriptions cancelled
- Controllers disposed
7. Security Review#
- No hardcoded sensitive information
- Input validation applied
- Appropriate error messages (no information leakage)
- Authentication/authorization applied (if needed)
8. Accessibility#
- Semantics labels applied
- Touch target size verified (48x48 minimum)
- Color contrast verified
- Screen reader tested
9. Static Analysis#
# Lint check
melos run analyze
# Formatting check
melos run format
- No lint warnings
- Code formatting complete
10. Integration Verification#
Local Testing#
- Working correctly in development environment
- Error case scenarios tested
- Network offline tested
Build Verification#
# iOS build
flutter build ios --flavor development
# Android build
flutter build apk --flavor development
- iOS build successful
- Android build successful
11. PR Preparation#
- Meaningful commit messages (Conventional + Gitmoji)
- Related issues linked
- Reviewers assigned
- Labels added
Commit Message Example#
feat(home): ✨ Add user profile feature
- Profile view/edit UseCase implementation
- ProfileBloc state management
- Profile edit UI implementation
Closes #123
Completion Summary#
| Item | Status |
|---|---|
| Structure Verification | ⬜ |
| Code Generation | ⬜ |
| Testing | ⬜ |
| Documentation | ⬜ |
| Internationalization | ⬜ |
| Performance Optimization | ⬜ |
| Security Review | ⬜ |
| Accessibility | ⬜ |
| Static Analysis | ⬜ |
| Integration Verification | ⬜ |
| PR Preparation | ⬜ |
Overall Complete: ⬜/11
Related Agents#
@feature: Feature structure generation@test: Test writing guide@code-review: Code review checklist@i18n: Internationalization guide