9. 안전한 변경 규칙
핵심 아키텍처 보호
변경 금지 (사전 승인 필요)
신중한 변경 필요 (영향도 확인 필수)
공용 API 경로 변경 금지
각 패키지가 npm에 배포되므로, exports 필드를 통해 노출하는 공개 API 경로를 함부로 변경하면 안 됩니다:
데이터베이스 스키마 무단 변경
본 프로젝트는 데이터베이스를 사용하지 않습니다. (별도 데이터 저장소 없음)
인증/권한 시스템
본 프로젝트는 자체 인증/권한 시스템을 포함하지 않습니다. MCP 서버 인증은 클라이언트(Claude Desktop, Cursor 등)의 환경변수 설정으로 위임됩니다.
버전 호환성 유지 규칙
- minor 버전에서 도구 추가는 자유롭게 가능 (
feat커밋) - 기존 도구의 이름 변경은 금지 — 새 도구를 추가하고 이전 도구는 deprecated 메시지를 출력
- 기존 도구의 inputSchema 필드 제거는 금지 — 필드는 추가만 가능 (optional로 추가)
- 기존 도구 handler의 반환 타입 변경은 금지 —
ToolResult({ content: [...] })를 유지 - major 버전 변경 시에만 호환되지 않는 변경 허용
대규모 구조 변경 시 사전 승인 필요
다음 변경은 실행 전 반드시 팀 리뷰 또는 승인이 필요합니다:
- 신규 패키지 추가 (모노레포 구조 변경)
packages/common/kit/의 핵심 인터페이스 재설계- 빌드 시스템 변경 (tsup → 다른 번들러)
- CI/CD 파이프라인 재구성
- Conventional Commits 정책 변경
- Node.js/TypeScript 메이저 버전 업그레이드
릴리스 브랜치 보호
develop브랜치: CI 통과 필수 (타입 검사 + 빌드)main브랜치:develop에서 Auto PR로만 병합 가능 (직접 push 금지)main에 push되면 release-please가 버전 Bump + CHANGELOG가 담긴 릴리스 PR을 열거나 업데이트하며, 실제 태그/GitHub Release/npm 배포는 그 릴리스 PR을 머지할 때만 수행됨[skip ci]를 커밋 메시지에 포함하면 CI를 건너뛸 수 있음 (릴리스 커밋 등)