Wil je Claude en Codex aan dezelfde app laten werken zonder elkaars bestanden te overschrijven? Git-worktrees geven elke sessie een eigen checkout en branch. Dit sluit aan op mijn gids voor twee Claude-accounts op één Mac: accounts scheiden aanmeldingen; worktrees scheiden broncodewerkmappen. Dat zijn verschillende dingen.
Wat een worktree scheidt
Een worktree is een extra checkout die aan dezelfde Git-repository is gekoppeld. Elke checkout heeft eigen bestanden en een eigen branch, maar deelt de commitgeschiedenis. Zo kunnen twee agents zelfstandig werken. Inloggegevens, omgevingsvariabelen, databases, draaiende services en deploymentdoelen worden niet gescheiden. Zie het als een werkmap voor broncode, niet als een beveiligingsgrens. Een branch is ook geen automatische release: deployment gebeurt nog steeds via je normale proces.
Begin met een schone basis
Je hebt een Git-repository en een geïnstalleerde Git-tool nodig. Bekijk de status en controleer alle wijzigingen. Commit alleen de bedoelde gedeelde basis en stage expliciete paden; voeg niet blind alles toe. De voorbeelden beginnen vanaf HEAD, dus niet-gecommitte werk wordt niet naar de nieuwe checkouts gekopieerd.
git status --short
git worktree add -b ai/ui ../my-app-ui HEAD
git worktree add -b ai/backend ../my-app-backend HEAD
Controleer daarna de worktree-lijst en beide mappen. Git deelt de repositorygeschiedenis, maar je projectsetup mogelijk niet: afhankelijkheden, genegeerde bestanden, buildcaches en lokale instellingen vragen per checkout aandacht. Gebruik goedgekeurde ontwikkelgegevens en testdata; kopieer nooit automatisch productiesleutels. Geef gelijktijdige servers verschillende poorten en gebruik aparte testdatabases of schema’s en fixture-ID’s als beide data schrijven. Een paar lokale processen of een mockservice kunnen volstaan; je hoeft niet de hele stack in containers te zetten.
Open de tool in de juiste map
Gebruik de met Git gemaakte UI-map voor Claude Code en de backendmap voor Codex. Open beide als eigen lokaal project en controleer de werkmap voordat je taken verdeelt. Beide tools moeten al geïnstalleerd en aangemeld zijn.
Beide tools bieden ook beheerde worktree-workflows (Claude, Codex). Gebruik die als alternatief voor handmatig gemaakte mappen, zodat je geen tweede worktree voor dezelfde taak maakt.
Spreek de interface af voordat je werk verdeelt
Kies taken die onafhankelijk vooruit kunnen. Claude kan bijvoorbeeld de UI-branch beheren en een scherm plus API-client bouwen; Codex krijgt de backendbranch en implementeert het endpoint. Spreek vooraf methode en pad, aanvraag- en antwoordvelden, authenticatie, validatiefouten en een testfixture af. Elke agent is eigenaar van één worktree; wijs gedeelde bestanden expliciet toe.
- Claude · UI-branch
- Afgesproken API-contract
- Codex · backendbranch
- Review en integratie
Aparte mappen houden bestandswijzigingen gescheiden; de afgesproken gegevensstructuur houdt beide kanten op één lijn.
Een herkenbare fout: de UI leest items, terwijl het endpoint results terugstuurt. Git kan die wijzigingen zonder tekstconflict samenvoegen, terwijl de functie toch stuk is. Spreek de responsstructuur af voordat het parallelle werk begint en controleer beide implementaties.
Review, integreer en ruim daarna op
- Bekijk elke diff. Controleer de gewijzigde bestanden, configuratie, migraties en datatoegang. Voer checks uit voor het afgesproken gedrag; een melding dat de agent klaar is, bewijst niets.
- Integreer één branch tegelijk. Integreer één beoordeelde branch en voer de relevante controles uit, daarna de tweede. Test de interface tegen het echte endpoint zodra beide aanwezig zijn.
- Controleer gedrag, niet alleen Git. Een schone merge ontdekt geen afwijkende velden, toegangsregels of aannames over gedeelde services. Test de grens met de fixture.
Deze review vraagt hetzelfde oordeel als AI-gegenereerde appcode controleren of een programmeursteam organiseren: duidelijke eigenaars helpen, maar het geïntegreerde gedrag vraagt nog steeds om menselijke controle.
Controleer vóór het opruimen de status en recente commits in elke checkout en stel vast wat al is geïntegreerd. Bekijk de worktree-lijst en verwijder alleen het bedoelde, afgeronde pad; laat Git niet-gecommitte werk beschermen. Gebruik rm -rf of geforceerd verwijderen niet als standaardopruiming.
Voor een app die bijna klaar is voor release beoordeelt onze code-audit de architectuur, kritieke werking, datagrenzen en releasebewijzen binnen de werkelijke productscope.