2. 전체 기술 스택
프레임워크 및 언어
핵심 의존성
문서 사이트
apps/site/scripts/package-docs-plugin.ts — 패키지 README를 동적으로 문서 페이지로 변환하는 커스텀 Rspress 플러그인
빌드 및 번들링
번들링 설정 공통 사항 (packages/common/build/tsup.config.mjs):
- ESM 포맷 (
"format": ["esm"]) @modelcontextprotocol/sdk,zod는 external (번들에 포함하지 않음)@julong/*,@common은 noExternal (내부 모듈이므로 번들에 포함)- Minify 활성화 (
"minify": true) - 각 패키지는 3개의 엔트리 포인트:
index.ts,server.ts,cli.ts
CI/CD
릴리스 규칙 (release-please-config.json + .release-please-manifest.json)
버전 관리는 Conventional Commits를 기준으로 동작합니다. main에 push될 때 즉시 릴리스하는 대신, release-please가 버전 Bump와 CHANGELOG 항목을 담은 릴리스 PR을 열거나 업데이트합니다. 이 PR을 머지하면 태그와 GitHub Release가 생성되고 npm 배포가 트리거됩니다. 패키지별 현재 버전은 .release-please-manifest.json에서 추적됩니다.
release-please-config.json 주요 옵션: release-type: "node", include-component-in-tag: true, include-v-in-tag: false, separator: "@" (태그는 기존 <package-name>@<version> 형식을 유지, 예: @julong/mono-rele2-core@1.34.0), plugins: ["node-workspace"], 그리고 packages/core, packages/utils, apps/site를 포함하는 packages 맵.
부재 항목 (현재 미사용)
- 린터: ESLint 설정 없음
- 포매터: Prettier 설정 없음
- 테스트 프레임워크: Vitest, Jest 등 테스트 도구 미설정
- 테스트 파일:
*.test.ts파일 존재하지 않음 - UI 프레임워크: React, Next.js 등 미사용 (MCP 서버 전용)
- 데이터베이스: 미사용
- HTTP 서버: 미사용 (MCP stdio 전송 방식만 사용)