summaryrefslogtreecommitdiffhomepage
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/opencode/opencode.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/cmd/opencode/opencode.go b/cmd/opencode/opencode.go
new file mode 100644
index 000000000..9a64c1fb7
--- /dev/null
+++ b/cmd/opencode/opencode.go
@@ -0,0 +1,32 @@
+package main
+
+import (
+ "context"
+ "os"
+ "os/signal"
+
+ "github.com/sst/opencode/pkg/app"
+ "github.com/sst/opencode/pkg/server"
+ "golang.org/x/sync/errgroup"
+)
+
+func main() {
+ ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
+ cwd, _ := os.Getwd()
+ app, err := app.New(ctx, cwd)
+ if err != nil {
+ panic(err)
+ }
+
+ server, err := server.New(app)
+
+ var wg errgroup.Group
+ wg.Go(func() error {
+ defer stop()
+ return server.Start(ctx)
+ })
+
+ <-ctx.Done()
+
+ wg.Wait()
+}