Skip to content

Plan — Org & Cloudflare Reorg v1

autogen-labs 레포·Cloudflare 재구성 기획서 v1

status: 실행 기준 문서
org: autogen-labs · Cloudflare prod-only account
naming SSOT: topology v6 (docs/NAMING_AND_TOPOLOGY.md)
as-of: 2026-08-28

핵심 결론

solution-init Phase 0–8 프롬프트는 신규 제품 스캐폴드다. 현재 org에는 이미 운영 중인 4개 표면이 있다. 이를 core 하나에 /apps/web + /apps/docs로 합치면 topology의 “web + API + admin + kits를 단일 Turborepo로 만들지 말 것” 규칙을 깨고, 오늘 배포된 Worker를 중복 생성한다.

적용 방식: init 페이즈를 레포별로 재매핑하고, Cloudflare 이름은 topology v6 + 실자원을 SSOT로 고정한다. 새 D1은 만들지 않는다.

flowchart LR
subgraph repos [GitHub repos]
coreRepo[core]
webRepo[web-public]
docsRepo[docs]
appRepo[app-dashboard]
end
subgraph cf [Cloudflare]
coreApi[core-api]
coreAdmin[core-admin]
webPublic[web-public]
appDash[app-dashboard]
docsPages[docs]
end
coreRepo --> coreApi
coreRepo --> coreAdmin
webRepo --> webPublic
docsRepo --> docsPages
appRepo --> appDash
coreApi --> coreD1[core-d1]
coreApi --> coreR2[core-r2]

목표 토폴로지

~/develop/autogen-labs/
├── docs/ # Pages docs (Astro + Starlight)
├── core/
│ ├── workers/core-api/ # Worker core-api
│ ├── apps/admin-web/ # CF name core-admin
│ └── packages/
├── web-public/ # Worker/Pages name web-public
└── app-dashboard/ # Worker name app-dashboard

유지하는 Cloudflare 이름

  • Workers: core-api, core-admin, web-public, app-dashboard
  • Pages: docs
  • D1: core-d1
  • R2: core-r2

생성하지 않을 것

  • core 안의 Vite /apps/web 또는 두 번째 Hono Worker app-web-api
  • 새 D1 core-core-db (기존 core-d1 편입)
  • core-jobs / core-ops / Queue / KV / Vectorize — 소비자 생기기 전 mint 금지
  • 단일 org Turborepo
  • Cloudflare name-dev / -stg / -prod

정책 충돌 해소

표면폐기 (kit 방언)SSOT (topology v6)
Worker APIapp-web-apicore-api
D1core-core-dbcore-d1 (기존 편입)
R2신규만 r2-<domain>-<purpose>기존 core-r2 유지
문서 사이트/apps/docs in core별도 레포 docs

Worker name을 바꾸면 새 프로젝트가 생기고 *.workers.dev URL이 끊기므로 라이브 이름은 바꾸지 않는다.

STOP-AND-ASK

  1. 기존 core-d1 대신 새 D1 생성 전
  2. .env.example에 없는 새 Secret 키 이름 확정 전
  3. CODEOWNERS에 실제 GitHub username 작성 전

완료 보고 기준

  • Phase 0 정책 킷 (core 개정 + satellite 백필)
  • D1/R2 편입 검토 코멘트 (workers/core-api/wrangler.prod.toml 등)
  • 리소스명 topology v6 준수 (라이브 name 유지)
  • wrangler deploy는 GitHub Actions 경유
  • Secret 하드코딩 없음 (wrangler.dev.toml에서 AUTH_SECRET 제거)
  • ops-ci-workflows 미존재 — 인라인 CI 유지 (이유 기록)
  • 기존 스키마 유지 — remote core-d1에 tenants/users/sessions 등 14개 테이블 확인
  • Astro 문서 사이트 ≠ Astra DB (별도 docs 레포)
  • CODEOWNERS 플레이스홀더 + 실계정 요청
  • Branch Protection 수동 설정 안내

Follow-up implemented (2026-08-28)

  • Hono RPC typed clients — @autogen-labs/api-client-kit in core; satellite Hono contracts + hc in web-public / app-dashboard
  • shadcn token alignment — satellite --cl-* + Tailwind presets synced to ui-kit SSOT
  • solution-init prompts rewritten for multi-repo topology v6 (manifest 1.1.0)

Still manual / deferred

  • CODEOWNERS real GitHub usernames (STOP-AND-ASK)
  • Branch Protection on main (GitHub UI)
  • ops-ci-workflows reusable, kit repo split, core-jobs / Queue mint — not in scope until consumers exist

고아 리소스 (2026-08-28 재확인)

  • nf-shared-db-admin / nf-shared-r2-assets는 코드 참조 없음. 계정에서 이미 사라짐 (D1/R2 list에 core-d1 / core-r2만 존재). 삭제 작업 불필요. 새 D1은 만들지 않음.