export * from "./worktree-types"
export * from "./worktree-layer"
import { layer } from "./worktree-layer"
import { Git } from "@/git"
import { CrossSpawnSpawner } from "@saeeol/core/cross-spawn-spawner"
import { Project } from "@/project/project"
import { AppFileSystem } from "@saeeol/core/filesystem"
import { NodePath } from "@effect/platform-node"
import { Layer } from "effect"

export const defaultLayer = layer.pipe(
  Layer.provide(Git.defaultLayer),
  Layer.provide(CrossSpawnSpawner.defaultLayer),
  Layer.provide(Project.defaultLayer),
  Layer.provide(AppFileSystem.defaultLayer),
  Layer.provide(NodePath.layer),
)

export * as Worktree from "."
