index.ts 748 B

123456789101112131415161718
  1. #!/usr/bin/env bun
  2. import * as NodeRuntime from "@effect/platform-node/NodeRuntime"
  3. import * as NodeServices from "@effect/platform-node/NodeServices"
  4. import * as Effect from "effect/Effect"
  5. import * as Layer from "effect/Layer"
  6. import * as Command from "effect/unstable/cli/Command"
  7. import { DebugCommand } from "./debug"
  8. import { LocationServiceMap } from "@opencode-ai/core/location-layer"
  9. const cli = Command.make("opencode", {}, () => Effect.void).pipe(
  10. Command.withDescription("OpenCode command line interface"),
  11. Command.withSubcommands([DebugCommand]),
  12. )
  13. const layer = Layer.mergeAll(LocationServiceMap.layer, NodeServices.layer)
  14. Command.run(cli, { version: "local" }).pipe(Effect.provide(layer), Effect.scoped, NodeRuntime.runMain)