Skip to main content
import { Worktree } from "smithers-orchestrator";

type WorktreeProps = {
  path: string; // required, non-empty; resolved against baseRootDir or cwd if relative
  id?: string;
  branch?: string; // omit to use current branch
  baseBranch?: string; // default "main"
  skipIf?: boolean;
  children: ReactNode;
};
<Worktree path="/tmp/smithers/wt-a" baseBranch="main">
  <Task id="build" output={outputs.outputC}>{{ value: 1 }}</Task>
  <Task id="test" output={outputs.outputC}>{{ value: 2 }}</Task>
  <MergeQueue>
    <Task id="apply" output={outputs.outputC}>{{ value: 3 }}</Task>
  </MergeQueue>
  <Parallel maxConcurrency={2}>
    <Task id="lint" output={outputs.outputC}>{{ value: 4 }}</Task>
  </Parallel>
</Worktree>

Notes

  • Descendants inherit worktreeId and absolute worktreePath as cwd.
  • Innermost <Worktree> wins when nested; duplicate ids are rejected.
  • Empty/whitespace path is rejected at render time.