Fabric : Automatiser vos commits avec les LLM
Qu’est-ce que Fabric ?
Section intitulée « Qu’est-ce que Fabric ? »Fabric est un framework CLI open-source pour intégrer les LLM dans vos workflows. Son principe : des patterns réutilisables qui transforment une entrée texte via un LLM.
| Pattern | Usage |
|---|---|
write_git_commit | Générer un message de commit |
summarize | Résumer un texte |
extract_wisdom | Extraire les idées clés |
analyze_code | Analyser du code source |
improve_writing | Améliorer un texte |
Installation
Section intitulée « Installation »# Installation via pipx (recommandé)pipx install fabric
# Vérifierfabric --versionConfiguration
Section intitulée « Configuration »Lancez fabric --configure et choisissez votre provider :
| Provider | Type | Prérequis |
|---|---|---|
| Ollama | Local, gratuit | Ollama installé |
| Groq | Cloud, gratuit | Clé API sur console.groq.com |
| OpenRouter | Cloud, multi-modèles | Clé API sur openrouter.ai |
Commits automatisés
Section intitulée « Commits automatisés »Utilisation de base
Section intitulée « Utilisation de base »# Générer un message de commitgit diff --staged | fabric --pattern write_git_commit
# Commit direct avec message générégit diff --staged | fabric --pattern write_git_commit | git commit -F -
# Générer puis relire avant de commiter (recommandé)git diff --staged | fabric --pattern write_git_commit > /tmp/msg.txtcat /tmp/msg.txtgit commit -F /tmp/msg.txtAlias Git
Section intitulée « Alias Git »Ajoutez dans ~/.gitconfig :
[alias] cm-gen = "!f() { git diff --staged | fabric --pattern write_git_commit; }; f" cm-auto = "!f() { git diff --staged | fabric --pattern write_git_commit | git commit -F -; }; f" cm-edit = "!f() { git diff --staged | fabric --pattern write_git_commit > /tmp/commit-msg.txt && git commit -e -F /tmp/commit-msg.txt; }; f"git cm-gen # Générer le messagegit cm-auto # Commit automatiquegit cm-edit # Générer et éditer avant commit (recommandé)Pattern personnalisé
Section intitulée « Pattern personnalisé »Créez vos propres patterns pour adapter les commits à vos conventions :
mkdir -p ~/.config/fabric/patterns/commit_gitops
cat > ~/.config/fabric/patterns/commit_gitops/system.md << 'EOF'# IDENTITYYou are an expert in GitOps workflows and conventional commits.
# OUTPUT FORMAT- Use conventional commits: type(scope): subject- Types: docs, feat, fix, refactor, ci, chore- Include bullet points of changes- Keep subject under 72 characters
# EXAMPLEdocs(gitops): improve monitoring section
- Add healthcheck endpoint documentation- Update deployment flow diagram- Include rollback procedure stepsEOF
# Utilisergit diff --staged | fabric --pattern commit_gitopsBonnes pratiques
Section intitulée « Bonnes pratiques »- Toujours relire le message généré avant de commiter
- Commits atomiques : un commit = une fonctionnalité (facilite le LLM)
- Pattern personnalisé : adaptez aux conventions de votre équipe
- Modèle local : Ollama pour la confidentialité et zéro coût