Gentle-Programming/gentle-ai-work-unit-commits

Planifiez les commits sous forme d'unités de travail révisables. Déclencheur : implémentation, découpage de commits, PRs chaînées, ou regroupement des tests et de la documentation avec le code.

Qu'est-ce que gentle-ai-work-unit-commits ?

Cette compétence aide les agents IA (tels que Claude Code, Cursor ou Codex) à structurer les commits et les pull requests en unités de travail cohérentes et révisables. Elle est particulièrement utile lors de l'implémentation d'une fonctionnalité, du découpage de commits, de la préparation de PRs chaînées, ou pour garantir que les tests et la documentation restent associés au code qu'ils concernent. Les règles critiques incluent : ne pas commiter par type de fichier (modèles, puis services, puis tests), mais par unité de comportement livrable ; inclure tests et documentation dans le même commit que le code ; et respecter une limite de 400 lignes modifiées par PR (ou la valeur configurée via `review_budget_lines`). La compétence fournit également une checklist de validation avant commit, des exemples de découpage faible vs. meilleur découpage, et des instructions pour gérer les prévisions de charge de travail issues des tâches SDD (faible, moyen, haut risque) avec des stratégies comme 'ask-on-risk', 'auto-chain', ou 'size:exception'. Enfin, elle propose des commandes git pour inspecter le diff et l'historique des commits.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Gentleman-Programming/gentle-shell/tree/main/skills/work-unit-commits

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Quand l'utiliser

Chargez cette compétence lorsque vous décidez ce qui doit appartenir à chaque commit ou PR.

Utilisez-la pour :

  • Découper une fonctionnalité en unités révisables.
  • Préparer des commits avant d'ouvrir une PR.
  • Transformer une grosse modification en PRs chaînées ou empilées.
  • Maintenir une charge cognitive raisonnable pour le relecteur.
  • Appliquer des tâches SDD sans produire accidentellement une PR de plus de 400 lignes modifiées.

Règles critiques

RègleExigence
Commit par unité de travailUn commit représente un comportement livrable, une correction, une migration ou une unité de documentation.
Ne pas commiter par type de fichierÉvitez les commits séparés pour models, puis services, puis tests si aucun ne fonctionne seul.
Garder les tests avec le codeLes tests doivent être dans le même commit que le comportement qu'ils vérifient.
Garder la documentation avec le changement visible par l'utilisateurLa documentation doit être dans le commit de la fonctionnalité ou du flux qu'elle explique.
Raconter une histoireUn relecteur doit comprendre pourquoi chaque commit existe à partir de son diff et de son message.
Prêt pour une future PRChaque commit doit pouvoir devenir une PR chaînée lorsque la modification s'agrandit.
Garde-fou de charge de travail SDDSi les tâches SDD prévoient une modification de >400 lignes, regroupez les commits en tranches de PRs chaînées avant l'implémentation.
Le budget n'est pas du golf de codeNe réduisez jamais un diff en supprimant des commentaires, lignes vides, documentation ou tests, ni en compressant du code, pour respecter le budget de relecture (400 par défaut, ou review_budget_lines de la session). Découpez par unité de travail ou signalez le dépassement.

Checklist d'unité de travail

Avant de commiter, vérifiez :

  • Le commit a un seul objectif clair.
  • Le dépôt a toujours du sens après l'application de ce seul commit.
  • Les tests ou la documentation pour cette unité sont inclus lorsqu'ils sont pertinents.
  • Un rollback est raisonnable sans annuler un travail non lié.
  • Le message de commit explique le résultat, pas la liste des fichiers.

Exemples de découpage

Mauvais découpageMeilleur découpage (par unité de travail)
add modelsfeat(auth): add token validation domain model and tests
add servicesfeat(auth): wire token validation into login flow
add testsTests inclus avec chaque commit de comportement
update docsDocumentation incluse avec le changement utilisateur qu'elle explique

Relation avec les PRs

Utilisez les commits par unité de travail comme base des PRs chaînées :

  1. Construisez la plus petite unité de travail indépendante.
  2. Incluez la vérification pour cette unité.
  3. Commitez-la avec un message de commit conventionnel.
  4. Si la PR approche 400 lignes modifiées, promouvez les commits ou groupes de commits en PRs chaînées.

Relation avec SDD

Lorsque sdd-tasks produit une prévision de charge de travail de relecture :

  • Risque faible : gardez les commits par unité de travail dans une seule PR.
  • Risque moyen : commitez par unité de travail et surveillez le nombre de lignes modifiées avant la création de la PR.
  • Risque élevé : suivez la delivery_strategy de SDD — demandez via ask-on-risk, découpage automatique via auto-chain, exigez size:exception pour un single-pr hors budget, ou enregistrez un size:exception accepté pour exception-ok.
  • Le découpage est borné : après une première passe honnête de découpage, si aucun découpage cohérent par unité de travail ne tient dans le budget, arrêtez-vous et signalez le plus petit nombre honnête avec une recommandation size:exception. N'itérez pas pour réduire le code afin d'atteindre le nombre.

Chaque unité de travail SDD doit correspondre clairement à un commit ou une PR avec :

  • un état de départ clair,
  • un état final clair,
  • une vérification dans la même unité,
  • un rollback qui ne supprime pas un travail non lié.

Commandes

# Examiner l'histoire avant de commiter
git diff --stat
git diff --cached --stat

# Vérifier le style des commits récents
git log --oneline -5

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Skills associés