Catégorie: Développement

Comment l’IA, Raycast, Ollama et Git améliorer mes messages de commit et Pull Request

Auteur(s) de l'article

Kevin
Kevin
Dans cet article, je vais vous expliquer comment j'ai optimisé mon workflow Git en utilisant l'IA pour générer des messages de Commit et des descriptions de Pull Request plus efficaces.
Ma motivation était simple : créer un processus fluide qui exploite l'IA avec un contexte approprié sur mon travail — en comprenant la tâche, les tickets Jira et les modifications de fichiers.
Tout au long de cet article, je vais présenter l'utilisation d'Ollama avec Gemma 3, qui offre d'excellents résultats tout en étant éco-énergétique.

Pourquoi ce workflow est important

Écrire des messages de commit et des descriptions de pull request clairs et informatifs est crucial pour la maintenabilité d'un projet, mais c'est souvent bâclé.
En automatisant le processus de génération tout en maintenant une supervision humaine, nous pouvons atteindre :
  • Cohérence : Chaque commit suit des standards similaires de formatage et d'information
  • Préservation du contexte : Les détails importants sur les changements ne sont pas perdus
  • Efficacité temporelle : Moins de charge mentale lors du passage entre le codage et la documentation
  • Meilleure collaboration : Les membres de l'équipe peuvent rapidement comprendre ce qui a changé et pourquoi
L'IA excelle dans la synthèse d'informations techniques quand on lui donne un contexte approprié, mais le jugement humain reste essentiel pour l'exactitude et la pertinence.

Ollama

Ollama fournit un excellent moyen d'exécuter des modèles de langage localement, vous donnant la puissance de l'IA sans les préoccupations de confidentialité ou l'impact environnemental des services cloud. Il supporte divers modèles et rend l'IA locale incroyablement accessible.

Installation

Voici une vidéo complète qui couvre tout ce dont vous avez besoin pour commencer :
Après l'installation, vous pouvez rapidement vérifier que tout fonctionne en exécutant :
ollama run gemma3:4b
Pour notre workflow Git, je recommande de commencer avec gemma3:4b ou gemma3:12b selon les capacités de votre système. Ces modèles offrent une excellente compréhension du code tout en maintenant des exigences de ressources raisonnables.

Raycast

La fonctionnalité Raycast AI Commands transforme notre façon d'interagir avec les modèles d'IA en permettant des instructions personnalisées avec des placeholders dynamiques. Cela la rend parfaite pour créer des workflows Git réutilisables et contextuels.

Générateur de Commit message

Cette commande analyse les changements en staging et génère des messages de commit appropriés suivant les standards de commit conventionnels.
Le template de prompt pour Raycast :
You are a Git commit message generator. Based on the provided git diff and branch name, write a clear, concise commit message following these guidelines:

1. Write in imperative mood (e.g., "Add", "Fix", "Update", not "Added", "Fixed", "Updated")
2. Keep the first line under 50 characters
3. Start with lowercase letter
4. Don't end with a period
5. If the branch name follows the pattern "feature/JIRA-123" or similar, extract the Jira ticket and add it at the end with a dash: " - PROJ-456"
6. Focus on what the change does, not how it does it
7. Use single quotes instead of double quotes if quotes are needed

Examples (note the Jira ticket is at the END with a DASH, not in brackets):
- add user authentication logic - PROJ-456
- fix null pointer exception in payment service - BUG-789
- update documentation for API endpoints
- remove deprecated helper functions - TASK-123
- refactor database connection handling - DEV-890
- implement password reset functionality - AUTH-234
- delete unused CSS classes - UI-567
- optimize image loading performance - PERF-123
- create new user registration form - USER-445
- modify email validation rules - VALID-678
- integrate third party payment gateway - PAY-901
- disable legacy authentication method - SEC-432

Git diff: {clipboard}
Branch name: {argument name="branch"}

Steps:
1. Analyze the git diff to understand the changes
2. Use the branch name to extract any Jira ticket
3. Generate commit message

At the end, provide 3 commit message variants in this exact format for easy copy-paste:

OPTION 1:
[commit message here]

OPTION 2:
[commit message here]

OPTION 3:
[commit message here]
Fonctionnalités clés :
  • Utilise {clipboard} pour analyser le git diff
  • Accepte {argument name="branch"} pour extraire les tickets Jira
  • Fournit plusieurs options de messages de commit
  • Suit les conventions de l'impératif

Générateur de Pull Request

Cette commande crée des descriptions de PR complètes qui aident les reviewers à comprendre le contexte et la portée des changements.
Le template de prompt :
You are a technical writer creating a pull request description. Analyze the provided git diff/log and create a clear, concise PR description that helps reviewers understand the changes and their impact.

Guidelines:
- Focus on WHAT changed and WHY it improves the project
- Use present tense and active voice
- Don't use double quotes in the output
- Be specific about the impact and benefits
- Extract Jira tickets from commit messages (format: PROJ-123, BUG-456, etc.)
- Prioritize the most important changes first

Write your output in a code block using this template:

💬 Description

[One-sentence summary of what this PR accomplishes]
[Bullet list of key changes - focus on user/developer impact, not implementation details]

🎟️ Issue(s)

[Only include if Jira tickets found in commits - list as "- PROJ-123"]

🔢 To Review

[Bullet list focusing on areas that need careful attention - security, performance, breaking changes, new APIs, etc.]

Examples of good vs bad descriptions:

GOOD:
- "Improves user login performance by 40%"
- "Adds email validation to prevent invalid registrations"
- "Fixes memory leak in image processing pipeline"

BAD:
- "Updates UserController.php"
- "Changes some methods"
- "Refactors code"

Git diff/log data: {argument name="diff"}

Remember: Focus on the business value and impact, not just the technical changes.
Fonctionnalités clés :
  • Analyse le diff entre la branche courante et dev
  • Génère des descriptions de PR structurées
  • Extrait automatiquement les tickets Jira des messages de commit

Connecting the Pieces

La magie opère quand nous connectons nos commandes IA à notre workflow Git via de simples fonctions bash. Ces scripts collectent automatiquement le contexte nécessaire et déclenchent les commandes Raycast appropriées.

Script de Commit message

aimsg function à l'action
unalias aimsg 1>/dev/null 2>&1
aimsg() {
    # Copy the staged diff to clipboard for AI analysis
    git --no-pager diff --cached | pbcopy
    
    # Get the current branch name
    branch=$(git symbolic-ref --short HEAD)
    
    # Open Raycast AI command with branch context
    open -g "raycast://ai-commands/commit-message?arguments={\"branch\":\"$branch\"}"
}
Comment ça fonctionne :
  1. Capture les changements en staging (git diff --cached)
  2. Copie le diff vers le clipboard pour l'analyse IA (| pbcopy)
  3. Extrait le nom de la branche courante pour la détection de tickets (git symbolic-ref --short HEAD)
  4. Lance Raycast avec la commande IA de message de commit

Script de Pull Request

aipr function en action.
unalias aipr 1>/dev/null 2>&1
aipr() {
    # Get the diff between current branch and main/dev
    diff=$(git log --oneline dev.."$(git symbolic-ref --short HEAD)")
    
    # Launch Raycast AI command with diff data
    open -g "raycast://ai-commands/pull-request-pr-description?arguments={\"diff\":\"$diff\"}"
}
Comment ça fonctionne :
  1. Génère un log des commits entre la branche courante et dev
  2. Passe ce diff directement au générateur de description PR
  3. Lance Raycast avec la commande IA de description PR

Conclusion

Ce workflow Git amélioré par l'IA a fondamentalement transformé ma façon d'aborder les messages git. Cependant, il est crucial de comprendre que l'IA est un compagnon, pas un remplacement du jugement humain.
L'aspect le plus précieux de ce workflow n'est pas seulement le gain de temps — c'est comment l'IA aide à améliorer la qualité et la cohérence de ma communication technique. Pour les non-natifs anglophones comme moi, l'IA sert d'excellent compagnon d'écriture qui aide à exprimer plus clairement les concepts techniques.
Alors que nous intégrons l'IA plus profondément dans nos workflows de développement, nous devons utiliser ces outils de manière responsable :
  • Toujours réviser la sortie IA avant de commiter ou soumettre
  • Comprendre les changements que vous documentez
  • Choisir des options durables comme les modèles locaux quand c'est possible
  • Maintenir une supervision humaine pour tout contenu généré par IA
❤️ Coeur sur vos claviers.

Sources

Yann Gouffon (2025) Mon super collègue @ Antistatique.
https://yago.io
Léo Duff (2025) Comment ChatGPT assoiffe cette population
Comment ChatGPT assoiffe cette population.
https://www.youtube.com/watch?v=LNoklk0NRmQ&t=1s
Raycast (2025) Local Models in Raycast AI (in under 2min)
https://www.youtube.com/watch?v=FjkAuklziGk
Riderman de Sousa Barbosa (2025) How I use AI, Raycast, and Lazygit to help me write better commit messages.
https://www.showwcase.com/article/83307/how-i-use-ai-raycast-and-lazygit-to-help-me-write-better-commit-messages
Hritik Jaiswal (2021) Understand how to write a good commit message through memes.
https://medium.com/@hritik.jaiswal/how-to-write-a-good-commit-message-9d2d533b9052

Resources

Claude AI https://claude.ai
Assisted with writing and refining my English.
xkcd https://xkcd.com
Added comedic context to the subject matter.
Workchronicles https://workchronicles.com
Added a touch of humor to this article.
All images copyright of their respective owners.

Continuer ma lecture

Auteur(s) de l'article

Akira
Akira

Making of : “La nuit des Losers”

Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Making of : “La nuit des Losers”

Auteur(s) de l'article

Pierre
Pierre

Dark mode : nécessité ou effet de mode

Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Dark mode : nécessité ou effet de mode

Auteur(s) de l'article

Susana
Susana

L’IA pour la gestion de projet

En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
L’IA pour la gestion de projet