LogoSkills

checklist-feature-complete

기능 하나가 정말 끝났는지 구조·코드 생성·테스트(커버리지 80%+)·문서/다국어·성능/보안/접근성·정적 분석/빌드·PR 준비까지 11개 영역으로 짚어 줍니다 — 제출 직전 점검표.

/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 빌드 확인

안에서 무슨 일이 벌어지나요#

점검표는 아래 순서로 항목을 하나씩 확인합니다.

  1. 구조 확인 — Domain / Data / Presentation 세 계층과 DI·라우팅이 규칙대로 만들어졌는지 본다.
  2. 코드 생성melos run build로 필요한 자동 생성 코드가 빌드 오류 없이 나왔는지 확인한다.
  3. 테스트 — 단위·BLoC·위젯 테스트가 모두 통과하고 커버리지가 80% 이상인지 확인한다.
  4. 문서·다국어 — 공개 API 주석, 복잡한 로직 설명, 모든 화면 글자의 번역 처리를 확인한다.
  5. 성능·보안·접근성 — 불필요한 렌더링이 없는지, 민감 정보가 노출되지 않는지, 누구나 쓸 수 있는지 본다.
  6. 정적 분석·통합 검증 — lint·포맷·DCM 검사를 통과하고 iOS/Android 빌드가 성공하는지 확인한다.
  7. 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.dart generated for go_router routes (@TypedGoRoute) and JSON
  • No build errors

No *.freezed.dart (State/Event are hand-written). No @injectable codegen (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#

ItemStatus
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