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
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.
Klein und fokussiert halten
Create small, atomic PRs that address a single issue. Don't bundle multiple unrelated changes.
Verwenden Sie Entwurfs-PRs für laufende Arbeiten
Use GitHub's Draft Pull Request feature for early feedback before formal review.
Stellen Sie sicher, dass alle Prüfungen bestehen
Run npm run preflight before submitting to ensure all tests, linting, and style checks pass.
Dokumentation aktualisieren
If your PR introduces user-facing changes, update the relevant documentation in the /docs directory.
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
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
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
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