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

1

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.

2

Gardez-le Petit et Ciblé

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

3

Utilisez les PR Brouillons pour le Travail en Cours

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

4

Assurez-vous que Toutes les Vérifications Passent

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

5

Mettre à Jour la Documentation

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

6

É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

1

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

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

Documentation Architecture

Apprenez la structure et l'architecture du projet

Lire l'Architecture →

Tests d'Intégration

Apprenez le framework de tests d'intégration

Guide de Tests →

Développement IA

Directives pour le développement assisté par IA

GEMINI.md →