Message de commit
Cet outil rédige un message de commit à partir d’un diff git. Il lit les modifications, en dégage l’intention et propose un résumé court suivi, au besoin, d’un corps de message. Vous pouvez demander le format Conventional Commits. Fini les « update » qui ne disent rien six mois plus tard.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Du diff au résumé
Vous collez la sortie de votre diff, l’outil identifie ce qui a changé et le condense en une ligne de résumé lisible. Quand les modifications le justifient, il ajoute un corps qui liste les points marquants. Le message décrit vos changements dans un langage clair, à la place du « modifs diverses » que l’on tape à la va-vite en fin de journée et que personne ne comprend ensuite.
Conventional Commits, si vous le voulez
Si votre équipe suit la convention, demandez le format correspondant : le message commence alors par un type — feat, fix, chore, refactor, docs — suivi d’une description à l’impératif. C’est utile pour générer automatiquement un journal des versions ou déterminer le prochain numéro de version. Sinon, un message classique en prose reste tout à fait possible, selon les habitudes de votre dépôt et de vos relecteurs.
Il décrit le quoi, à vous le pourquoi
L’outil voit le code qui a changé, pas la raison métier ni le numéro du ticket. Il vous dira qu’une validation d’e-mail a été ajoutée ; il ne sait pas qu’elle répond à un signalement client précis. Complétez le message avec ce contexte : la référence du ticket, la décision derrière le changement. Le meilleur message combine ce que l’outil résume et ce que vous seul savez.
Dans votre flux git
Le plus rapide : collez votre diff sur cette page et récupérez le message. Pour l’automatiser, l’API s’appelle depuis un script ou un hook git, afin de proposer un message à chaque commit, et d’autres canaux suivront. La rédaction cesse d’être le moment où l’on bâcle, faute d’énergie, la seule trace durable de son travail : elle devient une étape rapide et propre.
Cas d’usage
Fin de journée, dix commits à écrire
Julien enchaîne les correctifs et n’a plus la tête à rédiger. Il colle chaque diff, obtient un message propre, et son historique reste lisible pour l’équipe du lendemain.
Uniformiser les messages d’une équipe
Studio Lumen SAS adopte Conventional Commits. En passant chaque diff par l’outil au bon format, l’historique devient cohérent et son journal des versions se génère tout seul.
Relire avant un push
Avant d’envoyer sa branche, Sophie remplace un message vague par une description claire : la personne qui relira la pull request comprend l’intention sans ouvrir chaque fichier.
Questions fréquentes
Le format Conventional Commits est-il pris en charge ?
Oui. Demandez-le et le message commence par un type — feat, fix, chore, entre autres — suivi d’une description concise, prêt pour la génération automatique d’un journal des versions.
Le message est-il en français ou en anglais ?
Au choix. L’anglais est courant dans les historiques git, mais le français est pleinement pris en charge pour une équipe ou un projet francophone.
Devine-t-il le numéro de ticket ou la raison du changement ?
Non. Il décrit ce que montre le diff, pas le contexte métier. Ajoutez vous-même la référence du ticket et la décision derrière le changement pour un message complet.
Mon diff est-il conservé ?
Il est transmis le temps de rédiger le message, puis n’est pas conservé ni journalisé au-delà du traitement. Évitez d’y laisser un secret en clair, comme dans tout partage de diff.
Combien ça coûte ?
$0.003 par appel, plus $0.0135 par diff traité, en dollars US. Tarif affiché, sans abonnement.
Faut-il un compte ?
Non. Vous collez le diff et obtenez le message directement. L’achat, pour un usage facturé, se fait en une fois, sans inscription.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/commit-message \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/commit-message", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/commit-message",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/commit-message", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/commit-message", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.commit_message",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |