SolidStart 앱과 공용 TypeScript 패키지를 함께 관리하는 pnpm·Turborepo 모노레포다.
pnpm install설치가 끝나면 루트 postinstall이 turbo prepare-build를 실행해 워크스페이스 빌드 준비 작업을 수행한다.
대표 개발 서버는 필터를 지정해 실행한다.
pnpm --filter @apps/pomo devpnpm --filter @apps/coong devpnpm --filter @apps/pomo-audio-gateway dev앱별 환경 설정과 추가 명령은 해당 디렉터리의 README 또는 package.json에서 확인한다.
pnpm typecheck # 전체 워크스페이스 타입 검사
pnpm lint # Oxlint 검사
pnpm format # Oxfmt 적용
pnpm format:check # 포맷 검사
pnpm test:vitest # unit 프로젝트 테스트
pnpm test # unit·빌드 통합·Storybook 테스트
pnpm storybook:dev # 공용 Storybook 개발 서버
pnpm generate # Turborepo generator 실행Pull request에서는 GitHub Actions가 타입 검사, Oxlint, 포맷 검사와 테스트를 실행한다.
Pomo 개발 환경도 자동 배포되지 않는다. dev에 변경을 반영한 뒤 GitHub Actions에서 다음 순서로 수동 배포한다.
Deploy Pomo and Audio Gateway 선택
→ Run workflow
→ Branch: dev 선택
→ Run workflow 실행
이 workflow는 Pomo와 Pomo Audio Gateway를 함께 개발 환경에 배포한다.
dev는 통합·검증 브랜치이고 main은 유일한 운영 릴리스 소스다. main에 병합해도 자동 배포되지 않으며, GitHub Actions에서 main을 선택해 다음 workflow를 필요한 시점에 각각 실행한다.
Release packages: public npm 패키지 배포Release Pomo: Pomo 운영 배포Release Coong: Coong 운영 배포
세 대상은 서로 독립적이므로 같은 main commit을 배포할 필요가 없다. 버전 규칙, prerelease, 필수 secret·variable과 실패 복구 절차는 릴리스 설명서에서 확인한다.
저장소 기여자는 Wallaby.js OSS License를 사용할 수 있다.