贡献指南

我们很乐意接受您对这个项目的补丁和贡献。了解如何开始并做出您的第一个贡献。

开始之前

贡献前的重要要求

签署 CLA

贡献必须附有贡献者许可协议 (CLA)。您保留对贡献的版权。

签署 CLA →

社区指南

此项目遵循 Google 的开源社区指南。请在贡献前查看它们。

阅读指南 →

贡献方式

有很多方式可以为 Gemini CLI 项目做出贡献

代码贡献

修复 Bug、添加功能、提升性能

  • Bug 修复和补丁
  • 新的 CLI 命令
  • 性能优化
  • 代码重构
  • 测试改进
  • 错误处理增强

文档

改进文档、添加示例、创建教程

  • 修复文档错误
  • 添加使用示例
  • 改进 API 文档
  • 创建教程和指南
  • 更新 README 文件
  • 添加代码注释

问题报告

报告 Bug、建议功能、提供反馈

  • 带有重现步骤的 Bug 报告
  • 功能请求和提案
  • 性能问题报告
  • 安全漏洞报告
  • 用户体验反馈
  • 兼容性问题

社区支持

帮助用户、参与讨论

  • 在 Issue 中回答问题
  • 帮助故障排除
  • 审查 Pull Request
  • 测试 Beta 版本
  • 分享使用示例
  • 指导新贡献者

Pull Request 指南

遵循这些指南帮助我们快速审查和合并您的 PR

1

链接到现有 Issue

所有 PR 都应该链接到现有的 Issue。对于 Bug 修复,链接到 Bug 报告。对于功能,链接到已批准的功能请求。

2

保持小而专注

创建小的、原子性的 PR,解决单个问题。不要将多个不相关的更改捆绑在一起。

3

使用草稿 PR 进行进展中的工作

使用 GitHub 的草稿 Pull Request 功能在正式审查前获得早期反馈。

4

确保所有检查通过

提交前运行 npm run preflight 确保所有测试、代码检查和样式检查通过。

5

更新文档

如果您的 PR 引入了面向用户的更改,请更新 /docs 目录中的相关文档。

6

编写清晰的提交消息

遵循约定式提交标准编写提交消息和 PR 描述。

开发环境设置

设置开发环境的分步指南

1

先决条件

设置您的开发环境

# 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

克隆和设置

获取源代码并安装依赖

git clone https://github.com/google-gemini/gemini-cli.git
cd gemini-cli
npm install
npm run build
3

启用沙箱(可选)

设置沙箱以增强安全性

# Add to your ~/.env file
echo "GEMINI_SANDBOX=true" >> ~/.env
# Build with sandbox container
npm run build:all
4

运行和测试

启动 CLI 并运行测试

# Start Gemini CLI from source
npm start
# Run all tests
npm run test
# Run integration tests
npm run test:e2e
5

质量检查

提交前确保代码质量

# 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 →