/cc-bricks:create-project — 새 프로젝트 "처음부터 세팅" 자동 안내#
| 항목 | 내용 |
|---|---|
| 실행 명령 | /cc-bricks:create-project |
coco-de/co-bricks의cob도구(CLI + MCP)를 이용해, 빈 상태에서 모노레포 코드 골격과 Firebase/GCP/iOS/GitHub Secrets 인프라까지 초기 세팅을 한 번의 흐름으로 진행합니다.
한마디로#
새 가게를 열 때 ① 건물 골조·인테리어(코드 골격)를 세우고 → ② 전기·수도·인터넷(클라우드 인프라)을 연결하는 두 단계를, 미리 준비된 표준 설계도(cob
브릭)로 자동으로 처리해 주는 도우미입니다. "프로젝트 이름과 조직명 한 장"만 정하면, 폴더 구조·기능 뼈대·배포에 필요한 계정과 열쇠(Secrets)까지 순서대로 갖춰 줍니다.
누가·언제 쓰나요#
- 완전히 새로운 프로젝트를 처음 만들 때 (그린필드)
- 기존 kobic 스타일 표준 구조(Flutter + Serverpod + CoUI 모노레포)를 그대로 따라 시작하고 싶을 때
- 여러 기능(feature)을 한 스펙(
project.yaml)으로 한꺼번에 찍어내고 싶을 때
👉 이미 만들어진 프로젝트에 기능 하나만 추가하려면 이 커맨드가 아니라
cob compose(풀스택 feature 1개) 또는 각feature-*스킬을 쓰세요. 이 커맨드는 "프로젝트 자체를 처음 만드는" 진입점입니다.
무엇을 해주나요 (2단계)#
| 단계 | 하는 일 | 대표 명령 |
|---|---|---|
| A. 코드 스캐폴드 | 그린필드 모노레포 + N개 feature 골격 생성, 라우트·melos 워크스페이스 자동 등록 |
cob create
·
cob generate -s project.yaml
·
cob create-from-config
|
| B. 인프라 부트스트랩 | Firebase 프로젝트/앱 → GCP 서비스계정 → flutterfire configure → SHA-1 → iOS App Store Connect 앱 → GitHub Actions Secrets 업로드 (7-stage) | cob init |
⚠️ 인프라(B)는 CLI 전용입니다. cob MCP는 코드 생성 계열(
cob_create/cob_create_from_config등)만 노출하며init/firebase/gcp/ios/secrets는 노출하지 않습니다. 인프라 단계는 반드시cobCLI로 진행하고,firebase/gcloud/gh/fastlane로그인이 선행되어야 합니다.
어떻게 쓰나요#
# 대화형(권장): 이름·조직·feature 포함 여부를 프롬프트로 하나씩 확인
/cc-bricks:create-project
# 이름을 미리 지정 (그 외는 대화형/기본값)
/cc-bricks:create-project --name my_app
# 인프라 부트스트랩까지 이어서 진행
/cc-bricks:create-project --name my_app --with-infra
# 코드만 생성 (인프라는 나중에)
/cc-bricks:create-project --name my_app --code-only
# project.yaml 스펙으로 모노레포+features 일괄 생성
/cc-bricks:create-project --spec project.yaml
안에서 무슨 일이 벌어지나요 (실행 흐름)#
-
사전 점검(Gate 0) —
cobCLI 설치 여부 확인. 없으면 설치 안내 후 중단(degrade). 인프라 단계 선택 시firebase/gcloud/gh/fastlane로그인 상태도 함께 점검. -
입력 정리 — 프로젝트명(snake_case)·조직·TLD·GitHub·백엔드(serverpod)·포함할 feature 목록을 수집.
--spec지정 시project.yaml(spec v1)을 단일 진실원으로 사용. -
코드 스캐폴드(A) —
cob create(대화형/단일 모노레포) 또는cob generate -s project.yaml(모노레포 + N feature 합성)로 골격 생성. 라우트 등록·워크스페이스 갱신은 cob이 담당(brickpost_gen건너뜀). - 검수 — 생성된 폴더/워크스페이스/라우트 등록 확인,
melos bootstrap등 빌드 준비. -
인프라 부트스트랩(B, 선택) —
--with-infra시cob init7-stage 실행 안내(각 스테이지는 실패해도 경고만 남기고 다음 진행, iOS 디렉토리 없으면 iOS 자동 스킵). -
마무리 — 다음 단계(첫 feature는
cob compose, 개발 사이클은/cc-dev:run) 안내.
⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)
Triggers#
- 그린필드 프로젝트를 처음 스캐폴딩할 때 (모노레포 부트스트랩)
project.yaml(spec v1) 한 장으로 모노레포 + N feature를 합성할 때- 신규 프로젝트의 클라우드/CI 인프라(Firebase/GCP/iOS/Secrets)를 초기화할 때
Options#
| 옵션 | 설명 | 기본값 |
|---|---|---|
--name <snake_case> | 프로젝트명 (non-interactive 시 필수) | (대화형 프롬프트) |
--spec <path> | project.yaml(spec v1)로 모노레포 + features 일괄 생성 (cob generate -s) | 없음 |
--with-infra | 코드 생성 후 cob init(7-stage 인프라 부트스트랩)까지 진행 | off |
--code-only | 코드 스캐폴드(A)만 수행, 인프라(B) 생략 | on |
--config <name> | 저장된 설정으로 생성 (cob create-from-config -c <name>) | 없음 |
--output-dir <path> | 출력 디렉토리 | . |
--dry-run | 실제 파일 생성 없이 계획만 출력 (cob generate --dry-run) | off |
Execution Contract#
Gate 0 — tooling degradation (throw 아님, degrade)#
command -v cob > /dev/null || {
echo " ⚠️ cob 미설치 — 아래로 설치 후 재시도: "
echo " dart pub global activate --source git https://github.com/coco-de/co-bricks.git "
echo ' echo ' " ' " ' export PATH= " $PATH:$HOME/.pub-cache/bin " ' " ' " ' > > ~/.zshrc & & source ~/.zshrc '
exit 0 # 파이프라인 차단이 아닌 안내 후 중단
}--with-infra 선택 시 추가 로그인 점검 (미로그인은 해당 스테이지만 스킵 가능):
| CLI | 로그인 | 사용 스테이지 |
|---|---|---|
firebase | firebase login | firebase create/init/sha |
gcloud | gcloud auth login | gcp service-account |
gh | gh auth login | secrets push |
fastlane | App Store Connect API 키 | ios create |
A. 코드 스캐폴드 — 3 경로#
| 입력 | 명령 | 비고 |
|---|---|---|
| 대화형/단일 모노레포 | cob create --type monorepo [--name … --no-interactive] | 미지정 옵션은 프롬프트 수집. --save-config로 projects/<name>.json 저장 가능 |
project.yaml 스펙 | cob generate -s project.yaml [-o <dir>] [--dry-run] [--continue-on-error] | create-from-config + N×compose를 래핑. 모노레포 + N feature 한 번에 |
| 저장된 설정 | cob create-from-config -c <name> [-o <dir>] [--auto-start] | type: monorepo만 지원 |
cob create/generate는 brickpre_gen만 실행하고post_gen은 건너뜀 — 라우트 등록·워크스페이스 pubspec 갱신은 cob이 직접 처리한다. 원샷mason make/cob apply경로는 단일 브릭 스캐폴딩용으로 별개.
B. 인프라 부트스트랩 — cob init 7-stage#
firebase create → gcp service-account → firebase init(configure)
→ firebase sha → ios create → secrets encode → secrets push각 스테이지는 내부적으로 standalone 서브커맨드를 --env all(dev/stg/prod)로 호출. 스테이지 실패는 경고 후 다음 진행(중단 아님). 스킵 옵션: --skip-firebase/--skip-gcp/--skip-configure/--skip-sha/--skip-ios/--skip-secrets. iOS 디렉토리(app/<project>/ios) 없으면 iOS 자동 스킵.
산출물 (예시)#
< project > / # 모노레포 루트 (melos)
├── app/ < project > / # Flutter 앱
├── backend/ < project > _server/ # Serverpod 백엔드
├── feature/application/… # 생성된 feature 모듈
├── melos.yaml / pubspec.yaml # 워크스페이스 (cob이 등록)
└── .envrc # (인프라 시) Secrets base64 + App ID다음 단계#
- 첫 풀스택 feature 추가:
cob compose -m feature.yaml(또는 각feature-*스킬) - 개발 사이클 자동화:
/cc-dev:run "…"(이슈→브랜치→PR→머지) - 백엔드 코드 생성:
melos run backend:pod:generate
Related#
skills/project-init/SKILL.md— project.yaml 스펙·cob 명령·MCP 상세 가이드- 플러그인 README → "Project Initialization (greenfield)" 섹션
cobMCP 등록: 플러그인.mcp.json(opt-in) — create 계열만 노출