diff --git a/.space.kts b/.space.kts
new file mode 100644
index 000000000..a52bca5e0
--- /dev/null
+++ b/.space.kts
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2003-2023 The IdeaVim authors
+ *
+ * Use of this source code is governed by an MIT-style
+ * license that can be found in the LICENSE.txt file or at
+ * https://opensource.org/licenses/MIT.
+ */
+
+/**
+ * JetBrains Space Automation
+ * This Kotlin script file lets you automate build activities
+ * For more info, see https://www.jetbrains.com/help/space/automation.html
+ */
+
+job("Deploy vim-engine library to intellij-dependencies") {
+  parameters {
+    text("spaceUsername", value = "{{ project:spaceUsername }}")
+    secret("spacePassword", value = "{{ project:spacePassword }}")
+    text("uploadUrl", value = "{{ project:uploadUrl }}")
+  }
+  container(displayName = "Publish Artifact", image = "amazoncorretto:17-alpine") {
+    kotlinScript { api ->
+      api.parameters["engineVersion"] = "0.0." + api.executionNumber()
+      api.gradlew(":vim-engine:publish")
+    }
+  }
+}
\ No newline at end of file
diff --git a/vim-engine/build.gradle.kts b/vim-engine/build.gradle.kts
index bcc175c72..61b757b93 100644
--- a/vim-engine/build.gradle.kts
+++ b/vim-engine/build.gradle.kts
@@ -11,6 +11,7 @@ plugins {
     kotlin("jvm")
 //    id("org.jlleitschuh.gradle.ktlint")
     id("com.google.devtools.ksp") version "1.8.21-1.0.11"
+  `maven-publish`
 }
 
 // group 'org.jetbrains.ideavim'
@@ -60,3 +61,28 @@ tasks {
 kotlin {
     explicitApi()
 }
+
+val spaceUsername: String by project
+val spacePassword: String by project
+val engineVersion: String by project
+val uploadUrl: String by project
+
+publishing {
+  publications {
+    create<MavenPublication>("maven") {
+      groupId = "com.maddyhome.idea.vim"
+      artifactId = "vim-engine"
+      version = engineVersion
+      from(components["java"])
+    }
+  }
+  repositories {
+    maven {
+      url = uri(uploadUrl)
+      credentials {
+        username = spaceUsername
+        password = spacePassword
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/vim-engine/gradle.properties b/vim-engine/gradle.properties
index 0173adf18..ab279c2c3 100644
--- a/vim-engine/gradle.properties
+++ b/vim-engine/gradle.properties
@@ -8,3 +8,8 @@
 
 # Disable incremental annotation processing
 ksp.incremental=false
+
+spaceUsername=
+spacePassword=
+engineVersion=
+uploadUrl=