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 carte | Branche générée |
|---|---|
fix: auth token expiry | fix/card-{id}-auth-token-expiry |
feat add dark mode | feat/card-{id}-add-dark-mode |
refactor: cleanup utils | refactor/card-{id}-cleanup-utils |
Add search feature | feat/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: bugetfix bugfonctionnent 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 colonne | Worktree actif | Exemples |
|---|---|---|
| passive | Non | Backlog, Done |
| conversational | Oui | Plan |
| dev | Oui | Dev |
| skill | Oui | Code 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ément | Description |
|---|---|
| Badges de statut | Modified, Added ou Deleted (libellés affichés en anglais dans l'interface) |
| Coloration syntaxique | Par type de fichier (TypeScript, Rust, SQL, JSON, etc.) |
| En-têtes de hunk | Plages de numéros de lignes pour chaque bloc de changement |
| Lignes colorées | Vert 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énement | Ce qui se passe |
|---|---|
| Création | Lorsqu'une carte entre pour la première fois dans une colonne éligible |
| Maintien | À travers les déplacements entre colonnes actives |
| Nettoyage | Lorsque la carte atteint Done ou est supprimée |
| Re-création | Si 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.