LogoSkills

checklist:feature-complete

Feature development completion verification checklist

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/checklist:feature-complete
Aliases/check:feature, /feature:checklist
Categorykobic-development
Complexitymoderate
MCP Serversserena

/checklist:feature-complete โ€” ๊ธฐ๋Šฅ "๋‹ค ๋๋Š”์ง€" ์ตœ์ข… ์ ๊ฒ€ํ‘œ#

ํ•œ๋งˆ๋””๋กœ#

๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์„ ๋งˆ์น˜๊ณ  ์ œ์ถœํ•˜๊ธฐ ์ „์— ๋น ๋œจ๋ฆฐ ๊ฒƒ์ด ์—†๋Š”์ง€ ํ•œ ์ค„์”ฉ ์ฒดํฌํ•˜๋Š” ์ ๊ฒ€ํ‘œ์ž…๋‹ˆ๋‹ค. ๋น„ํ–‰๊ธฐ๊ฐ€ ์ด๋ฅ™ํ•˜๊ธฐ ์ „ ์กฐ์ข…์‚ฌ๊ฐ€ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜์”ฉ ์งš์œผ๋ฉฐ ํ™•์ธํ•˜๋Š” ์ฒดํฌ๋ฆฌ์ŠคํŠธ์™€ ๊ฐ™์•„์š”.

๋ˆ„๊ฐ€ยท์–ธ์ œ ์“ฐ๋‚˜์š”#

  • ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ๋๋‚˜๋Š” ์‹œ์ ์—, ๊ฐœ๋ฐœ์ž๊ฐ€ ์Šค์Šค๋กœ ๋งˆ๋ฌด๋ฆฌ ์ ๊ฒ€ํ•  ๋•Œ
  • 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
  • BlocBuilder 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/code-review.md