별도의 저장소에서 여러 패키지를 관리하면 복잡성과 일관성 문제가 발생합니다. 이 스킬은 Turborepo, Nx, pnpm 워크스페이스를 활용한 모노레포 설정을 위한 검증된 패턴을 제공하여 코드 공유와 효율적인 빌드를 가능하게 합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"monorepo-management" 사용 중입니다. Turborepo 모노레포 구조 설정
예상 결과:
apps/web (Next.js), apps/docs (Next.js), packages/ui (React 컴포넌트), packages/config (공유 설정), packages/tsconfig (TypeScript 설정) 로 모노레포를 생성했습니다. build, test, lint, dev 파이프라인을 포함한 turbo.json 을 설정했습니다.
"monorepo-management" 사용 중입니다. 세 개의 패키지를 위한 pnpm 워크스페이스 설정
예상 결과:
apps 및 packages 디렉토리를 포함한 pnpm-workspace.yaml 을 설정했습니다. shamefully-hoist 와 auto-install-peers 를 활성화한 .npmrc 를 생성했습니다. 필요한 경우 패키지별 오버라이드를 사용하여 워크스페이스 루트에서 공유 종속성을 설치했습니다.
"monorepo-management" 사용 중입니다. Turborepo 캐싱 최적화
예상 결과:
turbo.json 파이프라인을 적절한 dependsOn 체인, 캐싱을 위한 outputs, 캐시 무효화를 위한 inputs 와 함께 설정했습니다. Vercel 과 원격 캐싱을 활성화했습니다. 변경되지 않은 패키지에 대한 빌드 시간이 12 분에서 3 분으로 단축되었습니다.
보안 감사
안전This skill contains documentation-only markdown files with instructional code examples. Static analysis flagged 60 patterns (external commands, network URLs, filesystem references, environment variables) but all are false positives - they appear in markdown code blocks as examples, not executable code. No security threats detected after manual review.
품질 점수
만들 수 있는 것
멀티앱 플랫폼을 구축하는 스타트업
스타트업이 일관된 툴링을 유지하면서 웹 앱, 모바일 앱, 문서화 사이트 간에 UI 컴포넌트와 유틸리티를 공유해야 합니다.
마이크로서비스를 통합하는 엔터프라이즈
엔터프라이즈가 교차 서비스 리팩토링과 공유 타입 정의를 더 쉽게 수행하기 위해 관련된 마이크로서비스를 모노레포로 통합하려 합니다.
오픈소스 라이브러리 관리자
관리자가 더 쉬운 조정을 위해 단일 저장소에 유지하면서 대형 라이브러리를 여러 개의 집중된 패키지로 분할하려 합니다.
이 프롬프트를 사용해 보세요
Turborepo 와 pnpm 을 사용하여 새 모노레포를 만드는 것을 도와주세요. 두 개의 앱 (web 및 docs) 과 하나의 공유 UI 패키지가 필요합니다. 초기 폴더 구조와 주요 설정 파일을 제공해주세요.
Next.js 앱, React 컴포넌트 라이브러리, 공유 유틸리티 패키지라는 세 개의 별도 저장소가 있습니다. 이들을 Turborepo 와 함께 pnpm 워크스페이스로 마이그레이션하는 과정을 안내해주세요.
모노레포 빌드에 15 분이 걸립니다. turbo.json 설정을 분석하고 캐싱, 병렬화, 원격 캐시 설정에 대한 개선 사항을 제안하여 빌드 시간을 단축해주세요.
풀 리퀘스트에서 lint, test, build 를 실행하고 main 병합 시 영향받는 앱만 배포하는 Turborepo 모노레포용 GitHub Actions 워크플로우를 생성해주세요.
모범 사례
- 루트 수준에서 종속성 버전을 고정하고 내부 패키지에 워크스페이스 프로토콜 사용
- 정확성을 보장하면서 캐시 히트를 최대화하기 위해 Turborepo inputs 및 outputs 를 정확하게 설정
- 여러 패키지의 조정된 버전 관리 및 게시를 위해 changesets 사용
피하기
- package.json 종속성에 선언하지 않고 패키지 가져오기
- 모노레포 내 패키지 간 순환 종속성 생성
- 캐시 출력을 너무 광범위하게 설정하여 캐시되지 않은 파일로 인해 오래된 빌드 발생