"기본 레이아웃은 루트에 앱 하나. 진짜 프로젝트는 앱이 여럿 중 한 폴더이길 원할 때가 많아."
왜 모노레포
스캐폴드는 앱을 레포 루트에 둬, 단일 앱엔 완벽하지. 근데 Tauri 앱을 더 큰 레포 안에 두고 싶을 수 있어 — 공유 컴포넌트 라이브러리, 문서 사이트, 형제 프로젝트 옆에. 그게 모노레포고, Tauri는 잘 다뤄. 경로 몇 개만 제대로 가리키면 돼.
Cinder가 정확히 이래: Tauri 앱이 apps/cinder/에 살고, 네이티브 반쪽은 apps/cinder/src-tauri/에, 다른 workspace 패키지들 옆에 앉아 있어. Tauri의 뭐도 루트 레이아웃을 강요 안 해 — 설정의 경로가 풀리기만 하면 돼.
유일한 규칙: 경로는 src-tauri 기준
tauri.conf.json의 경로 — 특히 frontendDist랑 devUrl — 는 레포 루트가 아니라 src-tauri/ 디렉터리 기준으로 해석돼. 프론트엔드가 apps/cinder/dist로 빌드되는 모노레포에서도, src-tauri/가 dist/ 옆에 앉아 있으니 frontendDist는 여전히 ../dist야. 이 상대경로 멘탈 모델을 제대로 잡으면 모노레포 Tauri가 신비롭지 않게 돼.
workspace에서 CLI 돌리기
npm/pnpm/yarn workspaces로는 앱 패키지에 스코프해서 Tauri CLI를 불러. 루트 package.json의 npm run tauri --workspace apps/cinder dev 같은 스크립트가 레포 어디서든 앱의 dev 루프를 돌려. CLI는 여전히 그 workspace 안의 src-tauri/tauri.conf.json을 찾아서 정상 진행해.