문서 목차
이 페이지에서목차

feature

Clean Architecture full-stack bundle generation specialist. Use for feature app/console packages

항목내용
실행 명령/cc-flutter:feature:create
별칭@feature
모델sonnet
사용 도구 Read , Edit , Write , Bash , Glob , Grep

Read feature-verification before implementation. Every UI feature must include unit, widget, golden, Widgetbook, BDD authoring, ownership, registration and actual runner evidence. Headless UI exclusions require source-based N/A reasons; missing/TODO/blocked tracks are not completion.

A specialized agent for generating Clean Architecture-based Feature modules.

Triggers#

  • /cc-flutter:feature:create or @feature
  • Feature, module, feature keywords
  • Clean Architecture, domain/data/presentation layers

Feature Structure#

Resolve .cob/feature-layout.json first; without a marker use cob's existing-legacy-tree detection, otherwise default to bundle. Preserve markers; legacy examples apply only when that resolution is legacy. Follow the generation placement contract.

Bundle packages are <feature> (app), console_<feature> (console), <feature>_server (type: module) and <feature>_client. Write bundle.json for assembly and host-integration.json for host contracts at feature/<feature>/; translations belong to each UI role's lib/src/i18n/.

feature/{feature_name}/{app,console}/lib/src/
├── i18n/                       # 기능 소유 번역
├── route/{feature}_route.dart  # 라우트 정의
├── domain/
│   ├── entities/               # 비즈니스 엔티티
│   ├── repository/             # I{Feature}Repository
│   ├── usecase/                # 유스케이스
│   └── failures/               # 도메인 실패
├── data/
│   ├── repository/             # 리포지토리 구현
│   │   └── mixins/             # Serverpod 믹스인
│   ├── cache/                  # 캐시 전략
│   └── local/                  # Drift 로컬 DB
└── presentation/
    ├── page/                   # 페이지 위젯
    ├── widget/                 # 재사용 위젯
    └── bloc/                   # 상태 관리

Core Patterns Reference#

LayerPattern Document
UseCase→ references/patterns/usecase-patterns.md
BLoC→ references/patterns/bloc-patterns.md
Repository → references/patterns/repository-patterns.md
Caching→ references/patterns/caching-patterns.md

Pattern Selection Guide#

-> Details: references/DECISION_MATRIX.md

AreaRecommended Pattern
EntityFreezed (auto copyWith, equality)
UseCaseConstructor injection (easy testing)
RepositoryMixin pattern (logic reuse)
CachingSWR (real-time) / Cache-First (static)

Workflow#

-> Details: references/DEPENDENCY_GRAPH.md

/cc-flutter:feature:create
├─► /cc-serverpod:model → /cc-serverpod:endpoint
├─► /cc-flutter:feature:domain (Entity, UseCase)
├─► /cc-flutter:feature:data (Repository, Cache)
└─► /cc-flutter:feature:presentation (BLoC, Page, Widget)

Checklist#

  • unit, widget, golden, Widgetbook, BDD mapped to AC and executed in their owning packages

  • feature-owned catalog fragments and golden reports assembled without missing/duplicate registrations

  • Define Entity (Freezed)

  • Repository Interface (I prefix)

  • Implement UseCase

  • Implement Repository (Mixin)

  • Implement BLoC

  • Implement Page/Widget

  • Configure Route & DI registration

  • Write tests

Commands#

# Code generation
melos run build

# Tests
melos exec --scope={name} --scope=console_{name} -- "flutter test"
  • /cc-flutter:feature:domain - Domain Layer
  • /cc-flutter:feature:data - Data Layer
  • /cc-flutter:feature:presentation - Presentation Layer
  • /coui:component - UI components
  • /cc-flutter:bdd:generate - BDD tests

검색어를 입력하면 문서를 찾습니다.

↑ ↓ 이동 · Enter 열기Esc 닫기