기여 가이드
이 프로젝트에 대한 패치와 기여를 기꺼이 받아들이겠습니다. 시작하는 방법과 첫 번째 기여를 하는 방법을 배워보세요.
시작하기 전에
기여하기 전의 중요한 요구사항
Sign the CLA
Contributions must be accompanied by a Contributor License Agreement (CLA). You retain the copyright to your contribution.
Sign the CLA →Community Guidelines
This project follows Google's Open Source Community Guidelines. Please review them before contributing.
Read Guidelines →기여 방법
Gemini CLI 프로젝트에 기여할 수 있는 많은 방법이 있습니다
코드 기여
Fix bugs, add features, improve performance
- 버그 수정 및 패치
- 새로운 CLI 명령
- 성능 최적화
- 코드 리팩토링
- 테스트 개선
- 오류 처리 향상
문서
Improve docs, add examples, create tutorials
- 문서 오류 수정
- 사용 예제 추가
- API 문서 개선
- 튜토리얼 및 가이드 생성
- README 파일 업데이트
- 코드 주석 추가
문제 보고
Report bugs, suggest features, provide feedback
- 재현 단계가 포함된 버그 보고서
- 기능 요청 및 제안
- 성능 문제 보고서
- 보안 취약점 보고서
- 사용자 경험 피드백
- 호환성 문제
커뮤니티 지원
Help users, participate in discussions
- Issue에서 질문 답변
- 문제 해결 도움
- Pull Request 검토
- 베타 버전 테스트
- 사용 예제 공유
- 새로운 기여자 멘토링
Pull Request 가이드라인
이 가이드라인을 따라 PR을 빠르게 검토하고 병합할 수 있도록 도와주세요
기존 Issue에 링크
All PRs should be linked to an existing issue. For bug fixes, link to the bug report. For features, link to an approved feature request.
작고 집중적으로 유지
Create small, atomic PRs that address a single issue. Don't bundle multiple unrelated changes.
진행 중인 작업에 대해 초안 PR 사용
Use GitHub's Draft Pull Request feature for early feedback before formal review.
모든 검사가 통과하는지 확인
Run npm run preflight before submitting to ensure all tests, linting, and style checks pass.
문서 업데이트
If your PR introduces user-facing changes, update the relevant documentation in the /docs directory.
명확한 커밋 메시지 작성
Follow Conventional Commits standard for your commit messages and PR descriptions.
개발 환경 설정
개발 환경을 설정하기 위한 단계별 가이드
전제 조건
Set up your development environment
# Install Node.js ~20.19.0 (required for development) # Use nvm to manage Node.js versions nvm install 20.19.0 nvm use 20.19.0
Clone and Setup
Get the source code and install dependencies
git clone https://github.com/google-gemini/gemini-cli.git cd gemini-cli npm install npm run build
Enable Sandboxing (Optional)
Set up sandboxing for enhanced security
# Add to your ~/.env file echo "GEMINI_SANDBOX=true" >> ~/.env # Build with sandbox container npm run build:all
Run and Test
Start the CLI and run tests
# Start Gemini CLI from source npm start # Run all tests npm run test # Run integration tests npm run test:e2e
Quality Checks
Ensure code quality before submitting
# Run all quality checks npm run preflight # Format code npm run format # Lint code npm run lint
디버깅 및 테스트
기여를 디버깅하고 테스트하기 위한 도구와 기술
VS Code 디버깅
VS Code에서 F5 또는 디버그 구성을 사용하여 CLI를 대화식으로 디버깅합니다.
# 디버그 모드로 시작 npm run debug # 또는 VS Code F5 키 사용 # "Attach" 구성으로
React DevTools
React DevTools 4.x를 사용하여 CLI의 React 기반 UI를 디버깅합니다.
# 개발 모드로 시작 DEV=true npm start # React DevTools 설치 npm install -g react-devtools@4.28.5 react-devtools
샌드박스 디버깅
보안 관련 개발을 위해 샌드박스 컨테이너 내에서 디버깅합니다。
# 샌드박스 내에서 디버깅 DEBUG=1 gemini # 샌드박스 디버깅 활성화 GEMINI_SANDBOX=true npm start
테스트 유형
변경사항이 올바르게 작동하는지 확인하기 위해 다양한 유형의 테스트를 실행합니다.
# 단위 테스트 npm run test # 통합 테스트 npm run test:e2e # 모든 품질 검사 npm run preflight
추가 리소스
기여자를 위한 유용한 링크와 문서