Logocob

Atomic Brick 카탈로그

cob compose가 조립하는 atomic brick 14종

Atomic Brick 카탈로그#

cob의 브릭 체계는 vertical-slice feature 브릭(완성된 feature를 통째로 복사)에서 atomic brick(레이어별 부품을 조립) 체계로 전환되었습니다. feature 브릭은 표준 CRUD feature를 한 번에 찍어내는 데는 효율적이지만, 기존 feature에 usecase 하나·bloc 하나만 추가하거나 도메인에 맞게 부품 구성을 바꾸는 데는 유연하지 않았습니다. atomic brick은 entity·usecase·bloc·endpoint 같은 부품 단위 브릭 14종으로 분해되어 있고, cob composefeature.yaml 매니페스트를 읽어 필요한 부품만 골라 조립합니다.

SSOT: 이 카탈로그의 단일 소스는 coco-de/bricks 저장소의 bricks/registry.yaml입니다. 이 문서는 그 미러이며, 새 atomic brick 추가·변경은 registry.yaml에 먼저 반영됩니다.

공통 규약#

registry.yaml 헤더에 명시된 규약(Epic #18)으로, 모든 atomic brick이 따릅니다.

규약내용
자기 파일만 생성atomic brick은 자기 파일만 생성하고 상위 barrel을 수정하지 않는다
barrel 등록 책임 barrel 등록은 recipe runner(cob compose/cob add) 또는 개발자가 수행한다
core.dart re-export 금지 core.dart에 feature를 re-export하지 않는다 (cross-feature는 pubspec 명시 + 직접 import)
DI 생성자 주입 전용DI는 생성자 주입 전용 — getIt/injectable 미사용

이 규약 덕분에 brick 생성은 멱등에 가깝고, barrel·라우터 같은 공유 파일의 변경은 전부 cob 측 책임으로 일원화됩니다.

14종 카탈로그#

App 계열 7종(domain/data/presentation) + Backend 계열 7종(b- 접두사, Serverpod)으로 구성됩니다.

App 계열 (7종)#

이름레이어설명상세
entity domain 순수 도메인 엔티티 (Equatable/Freezed/Plain) 상세
failure domain 도메인 Failure sealed class + 메시지 상수 (core Failure 상속) 상세
usecase domain Clean Architecture UseCase (생성자 주입, getIt 미사용) 상세
repository data Repository 인터페이스 + 구현체 + 네트워크별 mixin (생성자 주입) 상세
bloc presentation BLoC (Started/ItemSelected 골격, usecases 선언 시 생성자 주입 와이어링) 상세
page presentation Feature 페이지 위젯 (HookWidget, BlocProvider 선택, page_type 5종) 상세
widget presentation 재사용 UI 위젯 (stateless/stateful/hook 3유형) 상세

Backend 계열 (7종)#

이름레이어설명상세
b-entity backend Serverpod spy.yaml 엔티티 (DB 테이블) — 앱-백엔드 계약서 상세
b-dto backend Serverpod spy.yaml Request/Response DTO — 엔드포인트 입출력 계약 상세
b-endpoint backend Serverpod 엔드포인트 (app/console/public 3유형, CRUD 또는 커스텀 메서드) 상세
b-service backend Serverpod 백엔드 서비스 — 엔드포인트가 위임하는 비즈니스 로직 상세
b-exception backend 백엔드 sealed class 예외 계층 (SerializableException — 클라이언트 전파) 상세
b-validator backend 백엔드 입력값 검증 클래스 (id/paging/required_fields 규칙 조합) 상세
b-constant backend 백엔드 상수/캐시 설정/에러 메시지 (페이징·ID·DB작업·필드명 기본 상수 포함) 상세

구 vertical-slice 브릭#

기존 56개 feature 브릭(27 App + 29 Console)은 폐기되지 않았으며, cob apply용으로 그대로 유지됩니다. 완성형 feature를 통째로 가져올 때는 여전히 feature 브릭이 빠른 경로입니다. 전체 목록은 전체 브릭 목록을 참고하세요.

관련 문서#