Guide de Contribution
Nous serions ravis d'accepter vos correctifs et contributions à ce projet. Apprenez comment commencer et faire votre première contribution.
Avant de Commencer
Exigences importantes avant de contribuer
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 →Façons de Contribuer
Il existe de nombreuses façons de contribuer au projet Gemini CLI
Contributions de Code
Fix bugs, add features, improve performance
- Corrections de bugs et correctifs
- Nouvelles commandes CLI
- Optimisations de performance
- Refactorisation de code
- Améliorations de tests
- Améliorations de gestion d'erreurs
Documentation
Improve docs, add examples, create tutorials
- Corriger les erreurs de documentation
- Ajouter des exemples d'utilisation
- Améliorer la documentation API
- Créer des tutoriels et guides
- Mettre à jour les fichiers README
- Ajouter des commentaires de code
Signalement de Problèmes
Report bugs, suggest features, provide feedback
- Rapports de bugs avec étapes de reproduction
- Demandes de fonctionnalités et propositions
- Rapports de problèmes de performance
- Rapports de vulnérabilités de sécurité
- Commentaires sur l'expérience utilisateur
- Problèmes de compatibilité
Support Communautaire
Help users, participate in discussions
- Répondre aux questions dans les issues
- Aider au dépannage
- Réviser les pull requests
- Tester les versions bêta
- Partager des exemples d'utilisation
- Encadrer les nouveaux contributeurs
Directives Pull Request
Suivez ces directives pour nous aider à réviser et fusionner vos PR rapidement
Lier à un Issue Existant
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.
Gardez-le Petit et Ciblé
Create small, atomic PRs that address a single issue. Don't bundle multiple unrelated changes.
Utilisez les PR Brouillons pour le Travail en Cours
Use GitHub's Draft Pull Request feature for early feedback before formal review.
Assurez-vous que Toutes les Vérifications Passent
Run npm run preflight before submitting to ensure all tests, linting, and style checks pass.
Mettre à Jour la Documentation
If your PR introduces user-facing changes, update the relevant documentation in the /docs directory.
Écrire des Messages de Commit Clairs
Follow Conventional Commits standard for your commit messages and PR descriptions.
Configuration de l'Environnement de Développement
Guide étape par étape pour configurer votre environnement de développement
Prérequis
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
Débogage et Tests
Outils et techniques pour déboguer et tester vos contributions
Débogage VS Code
Déboguez le CLI de manière interactive dans VS Code avec F5 ou utilisez la configuration de débogage.
# Démarrer en mode débogage npm run debug # Ou utilisez la touche F5 de VS Code # avec la configuration "Attach"
React DevTools
Déboguez l'interface utilisateur basée sur React du CLI en utilisant React DevTools version 4.x.
# Démarrer en mode développement DEV=true npm start # Installer React DevTools npm install -g react-devtools@4.28.5 react-devtools
Débogage Sandbox
Déboguez à l'intérieur du conteneur sandbox pour le développement lié à la sécurité.
# Déboguer dans le sandbox DEBUG=1 gemini # Activer le débogage sandbox GEMINI_SANDBOX=true npm start
Types de Tests
Exécutez différents types de tests pour vous assurer que vos modifications fonctionnent correctement.
# Tests unitaires npm run test # Tests d'intégration npm run test:e2e # Toutes les vérifications qualité npm run preflight
Prêt à Contribuer ?
Commencez votre parcours de contribution avec ces ressources
Ressources Supplémentaires
Liens utiles et documentation pour les contributeurs