React Native MCP 프로젝트에 기여해주셔서 감사합니다!
커뮤니티의 기여를 환영하며, 프로젝트 개선을 위한 노력에 감사드립니다.
이 프로젝트는 Contributor Covenant Code of Conduct를 준수합니다. 참여하시는 모든 분은 이 규칙을 준수해주시기 바랍니다.
프로젝트에 대한 질문이나 시작하는 데 도움이 필요하시면 GitHub Discussions 페이지를 이용해주세요.
React Native MCP에 기여하는 방법은 여러 가지가 있습니다:
- 버그 리포트: 버그를 발견하셨다면, 명확한 설명과 재현 단계를 포함하여 이슈를 열어주세요.
- 기능 제안: 새로운 기능 아이디어가 있으시면 Discussion을 시작하거나 이슈를 열어 의견을 공유해주세요.
- 문서 개선: 오타 수정, 예제 추가, 설명 개선 등으로 문서를 개선해주세요.
- Pull Request 제출: 버그 수정, 기능 추가, 기존 코드 개선을 위한 PR을 제출해주세요.
React Native MCP는 mise를 사용하여 Bun 버전을 관리하여 팀 전체에서 일관된 개발 환경을 유지합니다.
# mise 신뢰 및 도구 설치
mise trust
mise install# Bun 워크스페이스 의존성 설치
bun install간소화된 개발 환경을 위해 하나의 명령어로 모든 서비스를 실행할 수 있습니다:
bun run dev개발 중에는 각 패키지를 개별적으로 실행할 수 있습니다:
# MCP 서버 실행
bun run dev:server각 패키지별로 테스트를 실행할 수 있습니다:
# 전체 테스트 실행
bun run test:unit
# 커버리지 포함 테스트
bun run test:coverage모든 주석은 한글로 작성합니다.
예시:
// 연결 상태 업데이트
function updateConnection() {
// ...
}
// WebSocket 메시지 처리
async function handleMessage(msg: string) {
// ...
}원칙:
- 한글로 간결하게 작성
- 짧은 주석은 한 줄로 작성
- 긴 설명이 필요한 경우 여러 줄로 나누어 작성 가능
- 코드 자체로 명확한 경우 주석 생략 가능
Pull Request를 제출하기 전에 모든 코드 품질 검사를 통과했는지 확인하세요.
-
Lint 검사:
bun run lint
-
포맷팅 검사 및 적용:
# 포맷팅 적용 bun run format # 포맷팅 검사만 (CI용) bun run format:check
- PR을 열기 전에 로컬에서 모든 품질 검사를 실행하세요.
- CI는 빌드 프로세스와 테스트를 포함한 포괄적인 검증을 실행합니다.
- 모든 검사가 통과해야 PR이 병합될 수 있습니다.
- 저장소 포크: GitHub에서 저장소를 포크합니다.
- 변경사항 구현: 버그 수정, 기능 추가, 개선사항을 구현합니다.
- 로컬 테스트: 위에 언급된 모든 코드 품질 검사를 실행하여 모든 것이 통과하는지 확인합니다.
- 변경사항 커밋: 커밋 메시지 가이드라인을 따릅니다.
- Push 및 Pull Request 생성: 브랜치를 푸시하고
main브랜치에 대한 PR을 엽니다. - CI 검증: CI 워크플로우는 모든 품질 검사, 빌드 프로세스, 테스트를 실행합니다.
우리는 Conventional Commits 사양을 따릅니다.
<type>(<scope>): <subject>
[optional body]
[optional footer]
feat: 새로운 기능 추가fix: 버그 수정refactor: 코드 리팩토링 (기능 변경 없음)test: 테스트 추가/수정docs: 문서 업데이트chore: 빌드 설정, 의존성 업데이트 등style: 코드 포맷팅, 세미콜론 누락 등 (기능 변경 없음)
server: MCP 서버 패키지 관련react-native: React Native 클라이언트 관련docs: 문서 관련scripts: 빌드/초기화 스크립트 관련config: 프로젝트 설정 파일 관련
- 단일 목적: 하나의 커밋은 하나의 목적만 가져야 함
- 논리적 분리: 관련 없는 변경사항은 별도 커밋으로 분리
- 독립적 의미: 각 커밋은 독립적으로 의미가 있어야 함
- 되돌리기 용이: 특정 기능만 되돌릴 수 있도록 구성
- 작은 단위: 가능한 작은 단위로 커밋 (하지만 너무 작지 않게)
React Native MCP에 기여해주셔서 감사합니다! 여러분의 노력이 이 프로젝트를 더 나은 도구로 만들어줍니다.