Usar

Worktrees e isolamento

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.