기여 가이드

이 프로젝트에 대한 패치와 기여를 기꺼이 받아들이겠습니다. 시작하는 방법과 첫 번째 기여를 하는 방법을 배워보세요.

시작하기 전에

기여하기 전의 중요한 요구사항

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을 빠르게 검토하고 병합할 수 있도록 도와주세요

1

기존 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.

2

작고 집중적으로 유지

Create small, atomic PRs that address a single issue. Don't bundle multiple unrelated changes.

3

진행 중인 작업에 대해 초안 PR 사용

Use GitHub's Draft Pull Request feature for early feedback before formal review.

4

모든 검사가 통과하는지 확인

Run npm run preflight before submitting to ensure all tests, linting, and style checks pass.

5

문서 업데이트

If your PR introduces user-facing changes, update the relevant documentation in the /docs directory.

6

명확한 커밋 메시지 작성

Follow Conventional Commits standard for your commit messages and PR descriptions.

개발 환경 설정

개발 환경을 설정하기 위한 단계별 가이드

1

전제 조건

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
2

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
3

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
4

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
5

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

기여할 준비가 되셨나요?

이러한 리소스로 기여 여정을 시작하세요

추가 리소스

기여자를 위한 유용한 링크와 문서

아키텍처 문서

프로젝트 구조와 아키텍처에 대해 알아보기

아키텍처 읽기 →

통합 테스트

통합 테스트 프레임워크에 대해 알아보기

테스트 가이드 →

AI 개발

AI 지원 개발을 위한 가이드라인

GEMINI.md →