Un outil CLI puissant pour gérer vos projets Git et GitHub avec simplicité. Créez des repos, synchronisez votre code, gérez vos commits, créez des backups et générez de la documentation automatiquement !
- 🚀 HE CLI
- ✅ Création de repos GitHub en une commande (avec GitHub Pages optionnel)
- ✅ Synchronisation automatique (commit + pull + push)
- ✅ Génération de README automatique avec IA (Ollama)
- ✅ Gestion de l'historique Git (rollback multi-commits, logs avec filtres)
- ✅ Gestion des branches (création + push en une commande)
- ✅ Backups automatiques du projet
- ✅ Détection de fichiers sensibles (.env, credentials, clés)
- ✅ Maintenance système complète (Windows/Linux/macOS)
- ✅ Installation automatique des dépendances
- ✅ Cross-platform (Windows, Linux, macOS)
- Git : Télécharger Git
- PowerShell Core (pwsh) : Requis pour Linux/macOS
- Linux : Installé automatiquement lors de l'installation
- macOS :
brew install --cask powershell
- GitHub CLI : Installé lors de la première utilisation de
createrepo - Python 3.7+ : Nécessaire pour
he readme(installation guidée) - Ollama : Nécessaire pour
he readme(installation guidée)
Option 1 : Installation rapide (une ligne)
irm https://raw.githubusercontent.com/Lelio88/he_CLI/main/install.ps1 | iexOption 2 : Installation manuelle
# Télécharger et exécuter
curl -O https://raw.githubusercontent.com/Lelio88/he_CLI/main/install.bat
.\install.batChemin d'installation : %USERPROFILE%\he-tools
Option 1 : Installation rapide (une ligne)
curl -fsSL https://raw.githubusercontent.com/Lelio88/he_CLI/main/install. sh | bashOption 2 : Installation manuelle
# Télécharger et exécuter
curl -O https://raw.githubusercontent.com/Lelio88/he_CLI/main/install.sh
chmod +x install.sh
./install.shChemins d'installation :
- Installation système :
/usr/local/bin(nécessite sudo, déjà dans le PATH) - Installation utilisateur :
~/.local/bin(sans sudo, ajout au PATH automatique)
| Commande | Description | Flags |
|---|---|---|
he createrepo <nom> |
Créer un nouveau repository GitHub | -pr (privé), -pu (public), -d (auto-delete branches), -pages (GitHub Pages) |
he firstpush <url> |
Premier push vers un repository distant | -m <message>, -Force |
he update |
Commit + Pull + Push complet | -m <message> (message de commit) |
he newbranch [nom] |
Creer une nouvelle branche et la pusher | Nom optionnel (demande interactive sinon) |
Exemples :
# Créer un repo public avec GitHub Pages
he createrepo mon-site -pu -pages
# Créer un repo avec auto-suppression des branches
he createrepo mon-projet -pu -d
# Premier push avec message personnalisé
he firstpush https://github.com/user/repo.git -m "Initial commit"
# Premier push forcé (si le remote a divergé)
he firstpush https://github.com/user/repo.git -Force
# Synchronisation avec message
he update -m "feat: nouvelle fonctionnalité"
# Créer une nouvelle branche
he newbranch feature/loginHE CLI peut générer des messages de commit intelligents en utilisant soit Google Gemini (Cloud, plus rapide), soit Ollama (Local, privé).
Pour utiliser Gemini, vous devez définir une variable d'environnement GEMINI_API_KEY.
Windows (PowerShell) :
# Temporaire (pour la session actuelle)
$env:GEMINI_API_KEY = "votre_cle_api_ici"
# Permanent (nécessite un redémarrage du terminal)
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "votre_cle_api_ici", "User")Linux/macOS :
# Ajoutez ceci à votre .bashrc ou .zshrc
export GEMINI_API_KEY="votre_cle_api_ici"Si aucune clé Gemini n'est trouvée, HE CLI cherchera Ollama installé localement.
| Commande | Modèle | Vitesse | Description |
|---|---|---|---|
he update -a |
phi3:mini | 2-3s | Recommandé - Meilleure qualité |
he update -a -f |
gemma2:2b | 1-2s | Ultra-rapide pour commits fréquents |
- Gemini API (si
GEMINI_API_KEYest présente) - Ollama (si installé)
- Mode Simple (analyse des extensions de fichiers)
Prérequis : Python 3.7+ est toujours requis.
Options avancées du générateur :
# Génération basique (utilise Gemini ou Ollama selon config)
python generate_message.py
# Forcer l'utilisation d'une clé spécifique
python generate_message.py --key "AIzaSy..."
# Mode strict (score >= 9/10) avec feedback détaillé
python generate_message.py --strict --verboseFonctionnalités :
- ✅ Analyse intelligente : 4000 caractères de diff (10x plus qu'avant)
- ✅ Sécurité : Masquage automatique des secrets (.env, API keys, tokens)
- ✅ Validation : Score de qualité 0-10 avec feedback détaillé
- ✅ Auto-correction : Corrige majuscules, points finaux, préfixes
- ✅ Guidelines projet : Support de
COMMIT_MESSAGE.mdpersonnalisé - ✅ Multi-langues : Français (défaut), anglais, espagnol, etc.
- ✅ Retry intelligent : Jusqu'à 3 tentatives avec ajustement du prompt
Exemple avec feedback (mode verbose) :
$ python generate_message.py --verbose
✅ Guidelines trouvées : COMMIT_MESSAGE.md
🔄 Collecte du contexte Git...
• 3 fichiers modifiés
• Diff : 2847 caractères
• Secrets masqués : 2 patterns
🔄 Tentative 1/3...
📊 Score : 9/10
Message : feat(cli): ajoute la commande backup automatique
💡 Suggestions :
✅ Scope présent (bonne pratique)
✅ Format conventionnel
✅ Message validé !
feat(cli): ajoute la commande backup automatiqueCréer des guidelines personnalisées :
Créez un fichier COMMIT_MESSAGE.md à la racine de votre projet :
# Règles de commit pour mon projet
## Format requis
- Type : feat, fix, docs, style, refactor, chore
- Scope obligatoire : cli, git, backup, config
- Maximum 60 caractères
- En français uniquement
## Exemples valides
- feat(cli): ajoute la commande backup
- fix(git): corrige l'encodage UTF-8
- docs(readme): met à jour les instructions| Commande | Description | Arguments |
|---|---|---|
he rollback |
Annuler un ou plusieurs commits | -n <nombre>, -d (confirm auto local), -r (push force auto), -hard |
he logcommit [nombre] |
Afficher l'historique des commits | -author, -search, -since, -s (compact) |
he backup |
Créer une archive ZIP du projet | Aucun |
Exemples :
# Annuler le dernier commit (soft, fichiers conservés)
he rollback
# Annuler les 3 derniers commits
he rollback -n 3
# Annuler avec suppression des modifications
he rollback -hard
# Annuler sans confirmation + push force auto
he rollback -d -r
# Voir les 20 derniers commits
he logcommit 20
# Filtrer par auteur
he logcommit -author "Lelio"
# Rechercher dans les messages
he logcommit -search "fix"
# Commits depuis une date
he logcommit -since "2025-06-01"
# Mode compact (graphe uniquement)
he logcommit -s
# Créer un backup
he backup| Commande | Description | Options |
|---|---|---|
he readme |
Générer automatiquement un README. md avec IA | -Path <chemin> (chemin du projet) |
Prérequis pour he readme :
- Python 3.7+ (installation proposée si absent)
- Ollama installé localement (installation guidée)
- Modèle
qwen2.5-coder(téléchargement automatique)
Fonctionnalités :
- ✅ Analyse automatique du code source (respecte
.gitignore) - ✅ Détection des TODOs et FIXME
- ✅ Génération de la structure (installation, architecture, stack technique)
- ✅ Backup automatique du README existant (
.bak) - ✅ Choix de la langue (Français/Anglais)
- ✅ Instructions personnalisables
- ✅ Optimisation automatique selon la RAM disponible
- ✅ Fallback : création d'un README basique si échec
Exemples :
# Générer le README du projet actuel
he readme
# Générer le README d'un projet spécifique
he readme -Path "C:\MesProjets\MonApp"| Commande | Description | Options | OS supportés |
|---|---|---|---|
he maintenance |
Maintenance complète du système | --preview (aperçu sans modification)--exclude <packages> (exclure des packages Python) |
Windows, Linux, macOS |
he selfupdate |
Mettre à jour HE CLI | Aucune | Tous |
Maintenance inclut :
- Tous les OS : Mise à jour des packages Python globaux (pip, packages obsolètes)
- Windows : Winget update, DISM, SFC, nettoyage disque, CHKDSK
- Linux : APT/DNF/Pacman update, nettoyage packages, journaux systemd
- macOS : Homebrew update & cleanup
Options avancées :
# Aperçu des mises à jour sans les effectuer
he maintenance --preview
# Exclure certains packages Python de la mise à jour
he maintenance --exclude numpy tensorflow torch
# Combinaison : aperçu avec exclusions
he maintenance --preview --exclude pandas scikit-learnPackages Python mis à jour :
- ✅ pip (toujours mis à jour en premier)
- ✅ Tous les packages obsolètes détectés
- ✅ Support des exclusions pour packages critiques
- ✅ Affichage des versions (actuelle → nouvelle)
Exemples :
# Maintenance du système
he maintenance
# Mise à jour de HE CLI
he selfupdate| Commande | Description |
|---|---|
he heian |
Afficher le logo Heian Enterprise |
he matrix |
Effet Matrix dans le terminal |
he help |
Afficher l'aide complète |
he cs |
Lance une partie de cs dans le terminal |
he flash |
Lance une grenade flash dans le terminal |
# Créer un dossier et initialiser
mkdir mon-projet
cd mon-projet
# Créer le repository public sur GitHub
he createrepo mon-projet -pu
# Ajouter du code...
echo "console.log('Hello');" > index.js
# Générer automatiquement le README
he readme
# Synchroniser avec GitHub
he update -m "docs: add auto-generated README"# Créer le projet
mkdir mon-site
cd mon-site
# Ajouter un fichier HTML
echo "<h1>Mon Site</h1>" > index.html
# Créer le repo avec GitHub Pages activé
he createrepo mon-site -pu -pages
# Votre site sera disponible à : https://votre-username.github.io/mon-site# Cloner un projet existant
git clone https://github.com/user/repo.git
cd repo
# Créer une branche pour la nouvelle feature
he newbranch feature/login
# Faire des modifications...
echo "New feature" >> feature.js
# Voir l'historique
he logcommit 5
# Créer un backup avant modification importante
he backup
# Synchroniser avec GitHub
he update -m "feat: add login feature"
# Annuler le dernier commit si erreur
he rollback
# Annuler les 2 derniers commits en mode hard
he rollback -n 2 -hard# Mettre à jour HE CLI vers la dernière version
he selfupdateLa commande détecte automatiquement votre OS et télécharge la bonne version.
# Télécharger et exécuter
curl -O https://raw.githubusercontent.com/Lelio88/he_CLI/main/uninstall.bat
.\uninstall.bat# Télécharger et exécuter
curl -fsSL https://raw.githubusercontent.com/Lelio88/he_CLI/main/uninstall.sh | bashLa désinstallation :
- Supprime tous les fichiers installés
- Nettoie le PATH automatiquement
- Crée un backup de vos fichiers de configuration shell
| OS | Version minimale | Package Manager | Notes |
|---|---|---|---|
| Windows 10/11 | PowerShell 5.1+ | Winget | Installé par défaut |
| Ubuntu/Debian | 20.04+ | APT | PowerShell Core installé automatiquement |
| Fedora | 35+ | DNF | PowerShell Core installé automatiquement |
| RHEL/CentOS | 8+ | DNF | PowerShell Core installé automatiquement |
| Arch Linux | Rolling | Pacman | PowerShell Core via AUR |
| macOS | 11+ (Big Sur) | Homebrew | Homebrew requis |
- Windows : PowerShell, CMD
- Linux/macOS : bash, zsh, fish
Les contributions sont les bienvenues ! N'hésitez pas à :
- 🍴 Forker le projet
- 🔧 Créer une branche (
git checkout -b feature/AmazingFeature) - 💾 Commiter vos changements (
git commit -m 'feat: add amazing feature') - 📤 Pusher vers la branche (
git push origin feature/AmazingFeature) - 🔃 Ouvrir une Pull Request
MIT License - Copyright (c) 2025 Lelio B
Voir le fichier LICENSE pour plus de détails.
Lelio B - @Lelio88
Version 1.2.0 - 2025-12-10
- 🐛 Bugs : Ouvrir une issue
- 💬 Questions : Discussions GitHub
- 📧 Contact : Via GitHub
- 📖 Documentation :
he helpou README.md
Made with ❤️ by Lelio B
⭐ Si ce projet vous aide, n'hésitez pas à lui donner une étoile !
Ce repository est sous licence propriétaire. Vous n'êtes pas autorisé à modifier ce CLI et à le partager ou le redistribuer sans l'accord explicite de l'auteur. Toute modification non autorisée est strictement interdite.