init
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..3e7c7e4
--- /dev/null
+++ b/main.go
@@ -0,0 +1,24 @@
+package main
+
+import (
+	"os"
+
+	"dodo.cloud/neo/loop"
+	"dodo.cloud/neo/tools"
+)
+
+func check(err error) {
+	if err != nil {
+		panic(err)
+	}
+}
+
+func main() {
+	reg := tools.NewInMemoryRegistry()
+	tools.Register(reg)
+	client := loop.NewClient("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")
+	pr := loop.NewIOReaderPromptReader(os.Stdin)
+	if err := loop.Run(pr, client, reg); err != nil {
+		panic(err)
+	}
+}