À propos du projet

AI Commits est un outil en ligne de commande qui génère des messages de commit Git à partir de vos modifications indexées à l'aide d'un fournisseur d'IA choisi. Il est distribué sur npm et nécessite Node.js v22 ou une version plus récente. La configuration commence par une installation globale (`npm install -g aicommits`) suivie de `aicommits setup`, qui guide à travers la sélection du fournisseur, la configuration de la clé API, la sélection du modèle et le format de message de commit préféré. Les fournisseurs pris en charge incluent TogetherAI, OpenAI, Groq, xAI, OpenRouter, Ollama (local), LM Studio (local) et tout point de terminaison personnalisé compatible OpenAI. La configuration peut également être écrite directement pour un usage en CI/CD via `aicommits config set`. L'utilisation typique consiste à indexer des fichiers avec `git add` puis à exécuter `aicommits`. Les options inconnues sont transmises à `git commit`. Les options CLI notables incluent `--all` pour indexer les modifications suivies, `--clipboard` pour copier le message au lieu de committer, `--generate` pour produire plusieurs messages candidats, `--exclude` pour omettre des fichiers de l'analyse, `--description` pour ajouter un corps, `--type` pour sélectionner un format, `--prompt` pour des instructions personnalisées, `--no-verify` pour contourner les hooks, et `--yes` pour ignorer la confirmation. Un alias `aic` est fourni. Cinq formats de message de commit sont disponibles : plain, conventional, conventional+body, gitmoji et subject+body. Des prompts personnalisés peuvent orienter la langue, le ton ou le focus. Un hook Git `prepare-commit-msg` peut être installé avec `aicommits hook install` afin que les invocations normales de `git commit` génèrent un message qui s'ouvre dans votre éditeur pour relecture. La configuration est résolue dans l'ordre suivant : arguments de ligne de commande, variables d'environnement, fichier de configuration, puis valeurs par défaut. Les paramètres incluent OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL, provider, locale, generate count, timeout, max-length et type. Des commandes telles que `aicommits config`, `aicommits config get`, `aicommits config set`, `aicommits model` et `aicommits update` gèrent la configuration et les mises à niveau. L'outil ne lit que l'instantané indexé de Git, donc les modifications non indexées ne sont pas envoyées au modèle. Le README note que générer plusieurs messages consomme plus de tokens et coûte donc plus cher.