Beitragsleitfaden

Wir würden uns freuen, Ihre Patches und Beiträge zu diesem Projekt zu akzeptieren. Erfahren Sie, wie Sie anfangen und Ihren ersten Beitrag leisten können.

Bevor Sie Beginnen

Wichtige Anforderungen vor dem Beitragen

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 →

Möglichkeiten beizutragen

Es gibt viele Möglichkeiten, zum Gemini CLI-Projekt beizutragen

Code-Beiträge

Fix bugs, add features, improve performance

  • Bug-Fixes und Patches
  • Neue CLI-Befehle
  • Leistungsoptimierungen
  • Code-Refactoring
  • Test-Verbesserungen
  • Verbesserungen der Fehlerbehandlung

Dokumentation

Improve docs, add examples, create tutorials

  • Dokumentationsfehler beheben
  • Nutzungsbeispiele hinzufügen
  • API-Dokumentation verbessern
  • Tutorials und Leitfäden erstellen
  • README-Dateien aktualisieren
  • Code-Kommentare hinzufügen

Problem-Meldung

Report bugs, suggest features, provide feedback

  • Bug-Berichte mit Reproduktionsschritten
  • Feature-Anfragen und Vorschläge
  • Leistungsproblem-Berichte
  • Sicherheitslücken-Berichte
  • Benutzererfahrungs-Feedback
  • Kompatibilitätsprobleme

Community-Unterstützung

Help users, participate in discussions

  • Fragen in Issues beantworten
  • Bei der Fehlerbehebung helfen
  • Pull Requests überprüfen
  • Beta-Versionen testen
  • Nutzungsbeispiele teilen
  • Neue Mitwirkende betreuen

Pull Request Richtlinien

Befolgen Sie diese Richtlinien, um uns zu helfen, Ihre PRs schnell zu überprüfen und zu mergen

1

Mit einem bestehenden Issue verknüpfen

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

Klein und fokussiert halten

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

3

Verwenden Sie Entwurfs-PRs für laufende Arbeiten

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

4

Stellen Sie sicher, dass alle Prüfungen bestehen

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

5

Dokumentation aktualisieren

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

6

Klare Commit-Nachrichten schreiben

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

Entwicklungsumgebung Einrichten

Schritt-für-Schritt-Anleitung zur Einrichtung Ihrer Entwicklungsumgebung

1

Voraussetzungen

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

Debugging und Testen

Tools und Techniken zum Debuggen und Testen Ihrer Beiträge

VS Code Debugging

Debuggen Sie die CLI interaktiv in VS Code mit F5 oder verwenden Sie die Debug-Konfiguration.

# Im Debug-Modus starten
npm run debug

# Oder verwenden Sie VS Code F5-Taste
# mit "Attach"-Konfiguration

React DevTools

Debuggen Sie die React-basierte Benutzeroberfläche der CLI mit React DevTools Version 4.x.

# Im Entwicklungsmodus starten
DEV=true npm start

# React DevTools installieren
npm install -g react-devtools@4.28.5
react-devtools

Sandbox-Debugging

Debuggen Sie im Sandbox-Container für sicherheitsbezogene Entwicklung.

# In der Sandbox debuggen
DEBUG=1 gemini

# Sandbox-Debugging aktivieren
GEMINI_SANDBOX=true npm start

Test-Typen

Führen Sie verschiedene Arten von Tests aus, um sicherzustellen, dass Ihre Änderungen korrekt funktionieren.

# Unit-Tests
npm run test

# Integrationstests
npm run test:e2e

# Alle Qualitätsprüfungen
npm run preflight

Bereit beizutragen?

Beginnen Sie Ihre Beitragsreise mit diesen Ressourcen

Zusätzliche Ressourcen

Nützliche Links und Dokumentation für Mitwirkende

Architektur-Dokumentation

Erfahren Sie mehr über Projektstruktur und Architektur

Architektur lesen →

Integrationstests

Erfahren Sie mehr über das Integrationstesting-Framework

Test-Leitfaden →

KI-Entwicklung

Richtlinien für KI-unterstützte Entwicklung

GEMINI.md →