/cc-quality:checklist:feature-complete — 기능 "다 됐는지" 최종 점검표#
| 항목 | 내용 |
|---|---|
| 실행 명령 | /cc-quality:checklist:feature-complete |
| 분류 | 개발 |
| 난이도 | ●●○ 보통 |
| MCP 서버 | serena |
한마디로#
기능 개발을 마치고 제출하기 전에 빠뜨린 것이 없는지 한 줄씩 체크하는 점검표입니다. 비행기가 이륙하기 전 조종사가 항목을 하나씩 짚으며 확인하는 체크리스트와 같아요.
누가·언제 쓰나요#
- 기능 개발이 끝나는 시점에, 개발자가 스스로 마무리 점검할 때
- PR(코드 제출)을 만들기 직전 자기 검토(self-review)를 할 때
- 동료에게 코드 리뷰를 요청하기 전에
무엇을 해주나요#
기능 하나가 "정말 완성되었는지"를 11개 영역으로 나눠 빠짐없이 확인하게 해줍니다. 확인하는 큰 영역은 다음과 같습니다.
- 구조 점검 — 화면, 데이터 처리, 핵심 로직이 정해진 방식대로 만들어졌는지
- 코드 생성·테스트 — 자동 생성 코드가 잘 나왔는지, 테스트가 모두 통과하고 커버리지가 80% 이상인지
- 문서·다국어 — 설명 주석이 달렸는지, 모든 화면 글자가 번역 처리되었는지
- 성능·보안·접근성 — 느려지지 않게, 안전하게, 누구나 쓸 수 있게 만들어졌는지
- 정적 분석·빌드 — 코드 검사 통과, iOS/Android 빌드 성공 여부
- PR 준비 — 커밋 메시지, 이슈 연결, 리뷰어 지정까지
마지막에는 11개 영역의 완료 여부를 한눈에 보는 요약 표(Completion Summary) 로 정리됩니다.
어떻게 쓰나요#
/checklist/feature-complete [기능_이름]
기능 이름을 함께 넣으면 해당 기능을 대상으로 점검표를 실행합니다. 점검 과정에서 아래와 같은 검증 명령들이 함께 사용됩니다.
melos run build # 자동 생성 코드 만들기
melos run test:with-html-coverage # 테스트 + 커버리지 확인
melos run analyze # 코드 정적 분석 (dart analyze + dcm)
flutter build ios --flavor development # iOS 빌드 확인
flutter build apk --flavor development # Android 빌드 확인
안에서 무슨 일이 벌어지나요#
점검표는 아래 순서로 항목을 하나씩 확인합니다.
- 구조 확인 — Domain / Data / Presentation 세 계층과 DI·라우팅이 규칙대로 만들어졌는지 본다.
- 코드 생성 —
melos run build로 필요한 자동 생성 코드가 빌드 오류 없이 나왔는지 확인한다. - 테스트 — 단위·BLoC·위젯 테스트가 모두 통과하고 커버리지가 80% 이상인지 확인한다.
- 문서·다국어 — 공개 API 주석, 복잡한 로직 설명, 모든 화면 글자의 번역 처리를 확인한다.
- 성능·보안·접근성 — 불필요한 렌더링이 없는지, 민감 정보가 노출되지 않는지, 누구나 쓸 수 있는지 본다.
- 정적 분석·통합 검증 — lint·포맷·DCM 검사를 통과하고 iOS/Android 빌드가 성공하는지 확인한다.
- PR 준비 — 커밋 메시지, 이슈 연결, 리뷰어 지정을 마무리한다.
모든 점검이 끝나면 영역별 완료 상태를 표로 요약하고, 더 자세한 점검표·PR 리뷰 점검표 위치를 안내합니다.
⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)
Triggers#
- At the point of feature development completion
- Self-review before PR creation
- Before requesting code review
Usage#
/checklist/feature-complete [feature_name]Verification Items#
1. Structure Verification#
Domain Layer
- Entity definition complete (
@immutable+ Equatable + copyWith) - 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 (
sealed class extends Equatable+ copyWith) - Widget tests written
DI & Routing
- Dependencies registered manually via GetIt (
ServiceLocator.instance.registerLazySingleton/registerFactory) - BLoC wired in
bootstrap.dart(not auto-registered) - Route defined with
go_router(@TypedGoRoute+extends GoRouteData) - Route redirect/guard applied (if needed)
2. Code Generation#
melos run build*.g.dartgenerated for go_router routes (@TypedGoRoute) and JSON- No build errors
No
*.freezed.dart(State/Event are hand-written). No@injectablecodegen (DI is manual GetIt).
3. Testing#
Unit Tests
- UseCase tests (Happy path, Error, Edge cases)
- Repository tests (mocked data source)
BLoC Tests
- Initial state test
- Event → state transition tests
- Error handling tests
Widget Tests
- Rendering tests
- Interaction tests
- State-specific UI tests
flutter test feature/{type}/{feature_name}/test/
melos run test:with-html-coverage- All tests passing
- Coverage 80% or above
4. Documentation#
- dartdoc comments on public APIs
- Explanatory comments on complex logic
- TODO comments resolved or issues filed
5. Internationalization#
- All UI text uses translation keys
- Translation files updated (
melos run generate:locale) - Pluralization/parameter handling verified
6. Performance Optimization#
- const widgets utilized
- BlocSignalBuilder buildWhen applied
- ListView.builder used (for long lists)
- Image cacheWidth/cacheHeight applied
- Resources released in dispose
7. Security Review#
- No hardcoded sensitive information
- Input validation applied
- Appropriate error messages
8. Accessibility#
- Semantics labels applied
- Touch target size verified (48x48 minimum)
- Color contrast verified
9. Static Analysis#
melos run analyze # dart analyze + dcm analyze
melos run format # kobic uses dcm format (not dart format)
melos run lint:check # combined format-check → analyze gate- No lint warnings
- Code formatting complete
- DCM analysis passed
- Pre-push hook passed (auto-verified on push)
10. Integration Verification#
flutter build ios --flavor development
flutter build apk --flavor development- iOS build successful
- Android build successful
- Working correctly in development environment
11. PR Preparation#
- Meaningful commit messages (Conventional + Gitmoji)
- Related issues linked
- Reviewers assigned
Completion Summary#
| Item | Status |
|---|---|
| Structure Verification | ⬜ |
| Code Generation | ⬜ |
| Testing | ⬜ |
| Documentation | ⬜ |
| Internationalization | ⬜ |
| Performance Optimization | ⬜ |
| Security Review | ⬜ |
| Accessibility | ⬜ |
| Static Analysis | ⬜ |
| Integration Verification | ⬜ |
| PR Preparation | ⬜ |
References#
- Detailed checklist:
.claude/checklists/feature-complete.md - PR review checklist:
.claude/commands/checklist/pr-review.md - Code review skill:
.claude/commands/quality:review.md