worktree cria área Git separada por execução; shared usa a pasta base. Ambos precisam de Git com commit base resolvível. Worktrees ficam, por padrão, na pasta irmã .cockpit-worktrees/.
Crie .cockpit-worktree.json na raiz do projeto trabalhado para personalizar:
{
"worktree": {
"sharedDirectories": ["node_modules"],
"copyFiles": [],
"allowEnvCopy": false,
"excludeDirectories": ["dist", ".next", ".cache"],
"setupCommands": ["git status --short"]
}
}
O objeto também pode ser informado sem a chave externa worktree. O padrão compartilha node_modules e não copia arquivos de ambiente. Cópias de .env* exigem allowEnvCopy: true. Caminhos fora da contenção e compartilhamentos proibidos são rejeitados.
Não compartilhe .cache, dist, .next, .vite, build, target, out, .git ou .cockpit. Os campos setupCommands e excludeDirectories são aceitos/validados, mas o Isolation Core atual não executa os comandos nem aplica uma rotina de exclusão baseada nessa lista. Prepare dependências e limpeza de outputs pelo fluxo do seu projeto.
Mudanças em dependências compartilhadas afetam todos que usam o mesmo alvo. Para tarefas que alteram dependências, considere sharedDirectories: [] e instalação própria por workspace. Worktrees não instalam automaticamente todas as dependências.
Veja o docs/templates/.cockpit-worktree.json.