Structure du Projet
Comprendre l'organisation de la base de code et l'architecture de Gemini CLI
Aperçu du Projet
Gemini CLI est organisé comme un monorepo avec plusieurs packages interconnectés
Gemini CLI est un projet monorepo basé sur Lerna qui modularise les fonctionnalités en packages indépendants pour faciliter le développement, les tests et la maintenance.
Structure des Packages
Packages principaux qui composent l'écosystème Gemini CLI
Package CLI
packages/cli
Interface de ligne de commande principale et commandes orientées utilisateur
Responsabilités Clés:
- Analyse et routage des commandes
- Interface utilisateur et interaction
- Gestion de la configuration
- Gestion et rapport d'erreurs
- Affichage de l'aide et de la documentation
Package Core
packages/core
Fonctionnalité principale et logique métier
Responsabilités Clés:
- Implémentations de client API
- Interactions de modèle
- Système de gestion d'outils
- Gestion du protocole MCP
- Gestion d'état
Package Outils
packages/tools
Outils intégrés et utilitaires
Responsabilités Clés:
- Opérations du système de fichiers
- Exécution de commandes shell
- Requêtes web et recherches
- Gestion de la mémoire
- Enregistrement d'outils
Package Extensions
packages/extensions
Système d'extension et gestion de plugins
Responsabilités Clés:
- Chargement et gestion d'extensions
- Registre de plugins
- API d'extension
- Gestion du cycle de vie
- Résolution de dépendances
Flux de Travail de Développement
Comment travailler efficacement avec la base de code
Commandes Globales
npm run bootstrap
Installer et lier tous les packages
npm run build
Construire tous les packages
npm run test
Exécuter tous les tests
npm run lint
Linter tous les packages
Commandes Spécifiques aux Packages
lerna run build --scope @gemini/cli
Construire un package spécifique
lerna run test --scope @gemini/core
Tester un package spécifique
lerna add lodash packages/core
Ajouter une dépendance au package
Ressources Connexes
Continuez à explorer la documentation de développement