Руководство по участию
Мы будем рады принять ваши патчи и вклад в этот проект. Узнайте, как начать и сделать свой первый вклад.
Перед началом
Важные требования перед участием
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
Связать с существующим 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
Отлаживайте 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
Готовы внести вклад?
Начните свой путь участия с этими ресурсами
Дополнительные ресурсы
Полезные ссылки и документация для участников