Skip to content

Intégration Git

Stib isole les modifications de code de chaque carte grâce aux worktrees Git. Lorsqu'une carte entre dans une colonne active, elle obtient son propre worktree et sa propre branche — les changements restent séparés de la branche principale et des autres cartes.

Activer les Worktrees Git

Pour utiliser l'intégration Git, votre projet doit pointer vers un dépôt Git. Lors de la création d'une carte, cochez l'option Use Worktree (visible uniquement pour les projets Git). Stib créera alors un worktree et une branche dédiés pour cette carte.

Les worktrees sont stockés dans :

{chemin-du-dépôt}/.stib-worktrees/card-{id}

TIP

Chaque worktree est une copie de travail complète de votre dépôt. Les agents peuvent lire et modifier les fichiers sans affecter la branche principale.

Nommage Automatique des Branches

Stib génère un nom de branche à partir du titre de la carte et de l'identifiant de la carte. Il détecte les préfixes de commit conventionnels et les utilise comme chemin de branche.

Titre de la carteBranche générée
fix: auth token expiryfix/card-{id}-auth-token-expiry
feat add dark modefeat/card-{id}-add-dark-mode
refactor: cleanup utilsrefactor/card-{id}-cleanup-utils
Add search featurefeat/card-{id}-add-search-feature

Préfixes supportés : fix, feat, chore, refactor, docs, test, perf, ci, build, style, revert, hotfix

Règles de détection des préfixes :

  • Correspondance insensible à la casse
  • Le préfixe doit être suivi d'un deux-points (:) ou d'un espace — fix: bug et fix bug fonctionnent tous les deux
  • Si aucun préfixe reconnu n'est trouvé, feat/ est utilisé par défaut

Le reste du titre est « slugifié » : mis en minuscules, les accents sont supprimés, les caractères non-alphanumériques sont remplacés par des tirets, et le résultat est tronqué à 50 caractères au tiret le plus proche. Si le slug est vide après traitement, la branche est simplement {préfixe}/card-{id}.

Noms de Branches Personnalisés

Vous pouvez remplacer le nom de branche généré automatiquement en saisissant un nom personnalisé dans le modal de création de carte. Ce champ apparaît lorsque Use Worktree est activé.

Le placeholder affiche un aperçu de la branche basé sur votre titre. Le nom final de la branche inclura également l'identifiant de la carte (ex : card-{id}) qui est ajouté par le serveur.

INFO

Les noms de branches personnalisés sont utiles pour correspondre à des branches existantes dans votre dépôt ou suivre les conventions de nommage de votre équipe.

Colonnes Éligibles aux Worktrees

Toutes les colonnes ne déclenchent pas la création d'un worktree. Seuls les types de colonnes actives utilisent les worktrees :

Type de colonneWorktree actifExemples
passiveNonBacklog, Done
conversationalOuiPlan
devOuiDev
skillOuiCode Review, Test, PR

INFO

Les colonnes conversationnelles sont éligibles aux worktrees pour que les sessions de planification s'exécutent dans le worktree. Ainsi, le contexte de travail est préservé lorsqu'une carte passe d'une colonne de plan à une colonne de dev.

Consulter les Diffs

Le panneau agent inclut un onglet Diff qui affiche toutes les modifications de fichiers effectuées par l'agent dans le worktree de la carte.

ÉlémentDescription
Badges de statutModified, Added ou Deleted (libellés affichés en anglais dans l'interface)
Coloration syntaxiquePar type de fichier (TypeScript, Rust, SQL, JSON, etc.)
En-têtes de hunkPlages de numéros de lignes pour chaque bloc de changement
Lignes coloréesVert pour les ajouts, rouge pour les suppressions, gris pour le contexte

Le diff inclut les changements suivis (staged et validés) ainsi que les nouveaux fichiers non suivis. Les fichiers non suivis de plus de 1 Mo sont ignorés pour éviter les problèmes de mémoire.

TIP

L'onglet Diff est disponible sur les colonnes dev et skill (comme Code Review). Cliquez sur l'en-tête d'un fichier pour réduire ou développer ses changements. Les colonnes conversationnelles (ex : Plan) disposent d'un worktree actif mais n'affichent pas l'onglet Diff.

Cycle de Vie du Worktree

ÉvénementCe qui se passe
CréationLorsqu'une carte entre pour la première fois dans une colonne éligible
MaintienÀ travers les déplacements entre colonnes actives
NettoyageLorsque la carte atteint Done ou est supprimée
Re-créationSi une carte revient de Done vers une colonne active — la branche existante est réutilisée

Protection des Changements Non Commités

Stib empêche le déplacement d'une carte qui possède des changements non commités dans son worktree. Cela garantit qu'aucun code n'est accidentellement perdu lors des transitions entre colonnes.

WARNING

Forcer le déplacement d'une carte contourne cette vérification. Les changements non commités dans le worktree ne bloqueront pas le déplacement lorsque le forçage est utilisé.

Nettoyage Groupé des Worktrees

Utilisez l'action Clean All sur une colonne pour supprimer tous les worktrees et branches des cartes de cette colonne en une seule fois.

WARNING

Cette action supprime à la fois les worktrees et leurs branches associées. Elle est irréversible.

Prochaines Étapes

  • Cartes — création et gestion des cartes
  • Agents — interaction avec les agents et le panneau overlay
  • Pipeline — progression automatique entre colonnes