Руководство по участию

Мы будем рады принять ваши патчи и вклад в этот проект. Узнайте, как начать и сделать свой первый вклад.

Перед началом

Важные требования перед участием

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

  • Отвечать на вопросы в issues
  • Помогать с устранением неполадок
  • Рецензировать pull requests
  • Тестировать бета-версии
  • Делиться примерами использования
  • Наставлять новых участников

Руководящие принципы 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

Отлаживайте CLI интерактивно в VS Code с помощью F5 или используйте конфигурацию отладки.

# Запустить в режиме отладки
npm run debug

# Или используйте клавишу F5 VS Code
# с конфигурацией "Attach"

React DevTools

Отлаживайте React-интерфейс CLI с помощью React DevTools версии 4.x.

# Запустить в режиме разработки
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

Готовы внести вклад?

Начните свой путь участия с этими ресурсами

Дополнительные ресурсы

Полезные ссылки и документация для участников

Документация архитектуры

Изучите структуру и архитектуру проекта

Читать архитектуру →

Интеграционные тесты

Изучите фреймворк интеграционного тестирования

Руководство по тестированию →

Разработка ИИ

Руководящие принципы для разработки с помощью ИИ

GEMINI.md →