이 저장소의 출처 — 생성 · 가져온 도구 · 우회

이 저장소는 Figma 「Cocode Scaffold App v1.0」 의 한 앱 페이지(49:6)를 Flutter 앱으로 만드는 샘플 앱이다(에픽 #1455 · 이 앱의 이슈 #1462). coco-de/scaffold-booking(7f28d21)이 먼저 만든 방식을 따랐고, coco-de/scaffold-shop 이 세 앱(shop · class · clinic)이 같은 도구를 쓰도록 일반화한 판을 가져왔다.

생성

항목 값
명령 cob generate --base kernel -s project.yaml(project.yaml 은 name · demo 뿐, 생성할 때만 scaffold_only: true)
핀 kernel cf069bd0ae52715f8604397b8c033d4c985a20b1 · cob 0.6.0 · bricks db4eae51 · --layout bundle
CoUI 생성 시점 coui_flutter-v0.176.0 / coui_core-v0.175.0 → #3 · #8 에서 coui_flutter-v0.177.1(9870648f992bdef5f37291b4b7f660055bf6f127) / coui_core-v0.175.1(e40c92f8cf94f765d3131b7955523f50eab99dfc) — 패키지별 태그 ref(짝 규칙: packages/coui_core 는 두 커밋 사이에 바뀌지 않았다). #3 은 두 패키지를 한 SHA + 줄 끝 태그 주석으로 고정했고 #8 이 정본 형태(패키지별 태그)로 바꿨다. tool/gates/check_coui_pin.py 는 두 형태를 다 읽는다
Serverpod 4.1.0
첫 커밋 9418835 — 생성 직후 트리에서 정체성 값(표시 이름 · 번들 ID)만 손질했다(scaffold-shop 첫 커밋과 이름만 다른 같은 775파일)

다른 저장소에서 가져온 것 (M0)

이 저장소 가져온 곳 바꾼 것
#1 Serverpod import 별칭 재생성 booking #7 · shop #1 해시는 패키지 이름에서 나오므로 이 앱 값(_irpusal5 · _ie1dous5)으로 다시 만들었다
#2 pub 미러 우회(dart-lang/pub#4912) booking #4 (5fdf11a) 없음 — git apply 그대로(shop #2 와 바이트까지 같다)
#3 · #8 coui 핀 상향 이 저장소에서 새로(#8 은 scaffold-class#3 과 같은 형태) #3: 한 SHA + 줄 끝 태그 주석 · 핀 게이트가 그 형태도 읽도록 확장(시험 10개) → #8: 패키지별 태그 ref 로 정정(같은 커밋이라 렌더 불변, 골든 기준선은 다시 만들지 않았다)
#4 브랜드 테마 + 첫 골든 기준선 shop #3 (ff868c4) Green 토큰으로 다시 생성, 시험의 대표 hex 두 표만 이 앱 값 · 기준 이미지는 CI 봇 커밋 e442d1e(PNG 120개)
#5 Figma 대조 도구 shop #4 (9ccb2fc) 화면 코드 MK→HP, 시험 suite clinic, 파일럿 HP-01@390(이 앱에는 스플래시 프레임이 없다)
#6 화면 대장 + 원본 PNG shop #5 (ae3bbf2) 역할표 roles.json 으로 두 도구 확장(코드가 숫자뿐인 앱) · 앱/콘솔 분리 근거 docs/product/surface-split.md

상류가 닫히면 지울 우회

우회 상류 이슈 지우는 조건
Serverpod import 별칭 재생성 커밋(#1) coco-de/co-bricks#917 생성이 서버 코드젠을 한 번 돌려 별칭을 맞추면 새 핀에서 필요 없다
pub_git_prefetch.py · selfhost-prep 의 git-token(#2) coco-de/kernel#57, dart-lang/pub#4912 Dart 3.14(pub#4914 포함)를 싣는 Flutter stable 로 FLUTTER_VERSION 을 올린 뒤

이 저장소에서 새로 정한 것 · 알아 둘 것