diff --git a/cmd/go2ts/go2ts.go b/cmd/go2ts/go2ts.go
new file mode 100644
index 0000000..7e619bd
--- /dev/null
+++ b/cmd/go2ts/go2ts.go
@@ -0,0 +1,64 @@
+// A command line tool for generating typescript type declarations from go
+// struct types.
+//
+// Exmaple:
+//
+//	go run cmd/go2ts -o loop/webui/src/types.ts
+package main
+
+import (
+	"flag"
+	"fmt"
+	"os"
+
+	"go.skia.org/infra/go/go2ts"
+	"sketch.dev/ant"
+	"sketch.dev/loop"
+	"sketch.dev/loop/server"
+)
+
+func main() {
+	outputPath := flag.String("o", "", "Path to the output TypeScript file.")
+	flag.Parse()
+
+	generator := TS()
+
+	w, err := os.Create(*outputPath)
+	if err != nil {
+		fmt.Printf("error: %v\n", err)
+		os.Exit(1)
+	}
+	fmt.Fprintf(w, "// Auto-generated by sketch.dev/cmd/go2ts.go\n")
+	generator.Render(w)
+}
+
+// TS returns a Go2TS generator for go types we want to use in TypeScript.
+func TS() *go2ts.Go2TS {
+	generator := go2ts.New()
+
+	// Enum types
+	generator.AddMultipleUnion(
+		[]loop.CodingAgentMessageType{
+			loop.UserMessageType,
+			loop.AgentMessageType,
+			loop.ErrorMessageType,
+			loop.BudgetMessageType,
+			loop.ToolUseMessageType,
+			loop.CommitMessageType,
+			loop.AutoMessageType,
+		},
+	)
+
+	// Struct types
+	generator.AddMultiple(
+		loop.AgentMessage{},
+		loop.GitCommit{},
+		loop.ToolCall{},
+		ant.Usage{},
+		server.State{},
+	)
+
+	generator.GenerateNominalTypes = true
+
+	return generator
+}
