ca73d9683f
- implement `ClaudeCodeProvider` using `claude -p` with plain text output - register `claudecode` as a new provider enum option in package.json - add `enumDescriptions` for all provider choices - update API key description to note it is not required for Claude Code - bump version to 1.1.5
85 lines
3.2 KiB
Markdown
85 lines
3.2 KiB
Markdown
# Zemit
|
|
|
|
Génère des messages de commit, via un modèle d'IA, directement dans VSCode.
|
|
|
|

|
|
|
|
## Ce que ça fait
|
|
|
|
Zemit lit le diff stagé et le résumé des fichiers modifiés dans ton dépôt Git, puis envoie ce contexte à un modèle d'IA pour produire un message de commit. Le message apparaît directement dans le champ de saisie du panneau Source Control.
|
|
|
|
Tu peux interrompre la génération à tout moment depuis le même panneau.
|
|
|
|
## Prérequis
|
|
|
|
- VS Code 1.85 ou plus récent
|
|
- Un dépôt Git avec des changements stagés
|
|
- Une clé API pour le fournisseur choisi (non requise pour Ollama et Claude Code)
|
|
|
|
## Installation
|
|
|
|
### Via le marketplace (recommandé)
|
|
|
|
Recherche **Zemit** dans l'onglet Extensions de ton éditeur, ou installe directement depuis :
|
|
|
|
- **VS Code** : [marketplace.visualstudio.com](https://marketplace.visualstudio.com/items?itemName=hykocx.zemit)
|
|
- **VSCodium / Open VSX** : [open-vsx.org](https://open-vsx.org/extension/hykocx/zemit)
|
|
|
|
### Via un fichier VSIX
|
|
|
|
1. Télécharge le fichier `.vsix` depuis les [releases](https://git.hyko.cx/hykocx/zemit/releases).
|
|
2. Ouvre la palette de commandes (`Ctrl+Shift+P` / `Cmd+Shift+P`).
|
|
3. Cherche **Extensions: Installer depuis un fichier VSIX...** et sélectionne le fichier téléchargé.
|
|
|
|
Ou via le menu **Extensions** (icône en barre latérale) → `...` → **Installer depuis un fichier VSIX...**
|
|
|
|
## Configuration
|
|
|
|
Les paramètres se trouvent dans les préférences VS Code sous **Zemit**.
|
|
|
|
| Paramètre | Description | Défaut |
|
|
|---|---|---|
|
|
| `zemit.provider` | Fournisseur d'IA : `anthropic`, `openai`, `ollama` ou `claudecode` | `anthropic` |
|
|
| `zemit.apiKey` | Clé API du fournisseur (inutile pour Ollama et Claude Code) | _(vide)_ |
|
|
| `zemit.model` | Modèle à utiliser | `claude-sonnet-4-6` |
|
|
| `zemit.baseUrl` | URL de base personnalisée (ex. Ollama local) | _(vide)_ |
|
|
| `zemit.promptVersion` | Version du prompt | `zemit-v2` |
|
|
| `zemit.maxDiffSize` | Taille maximale du diff envoyé à l'IA (en caractères) | `5000` |
|
|
|
|
Pour choisir un modèle parmi ceux disponibles chez ton fournisseur, lance la commande **Zemit: Select Model** depuis la palette de commandes.
|
|
|
|
## Utilisation
|
|
|
|
1. Stage tes fichiers dans le panneau Source Control.
|
|
2. Clique sur l'icône ✦ dans la barre du panneau.
|
|
3. Le message de commit se remplit automatiquement.
|
|
|
|
Pour arrêter une génération en cours, clique sur l'icône d'arrêt au même endroit.
|
|
|
|
## Fournisseurs supportés
|
|
|
|
- **Anthropic** : modèles Claude (Haiku, Sonnet, Opus)
|
|
- **OpenAI** : modèles GPT
|
|
- **Ollama** : modèles locaux, aucune clé requise
|
|
- **Claude Code** : utilise le CLI `claude` installé localement, aucune clé API requise — l'authentification est gérée par Claude Code lui-même
|
|
|
|
### Utiliser Claude Code
|
|
|
|
Assure-toi que le CLI `claude` est installé et accessible (`~/.local/bin/claude` ou dans ton `PATH`), puis configure :
|
|
|
|
```json
|
|
"zemit.provider": "claudecode",
|
|
"zemit.model": "claude-sonnet-4-6"
|
|
```
|
|
|
|
> Note : le provider Claude Code ne supporte pas le streaming — le message apparaît d'un coup à la fin de la génération, contrairement aux providers API.
|
|
|
|
## Développement
|
|
|
|
```bash
|
|
npm install
|
|
npm run build # build unique
|
|
npm run watch # recompile à chaque changement
|
|
npm run package # génère le .vsix
|
|
```
|