diff --git a/.gitattributes b/.gitattributes
index 919d9f29..4724b47d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -14,6 +14,7 @@
 *.js text eol=lf
 *.js.map text eol=lf
 *.json text eol=lf
+*.json5 text eol=lf
 *.md text eol=lf
 *.vert text eol=lf
 *.xml text eol=lf
diff --git a/renovate.json b/renovate.json
deleted file mode 100644
index 3cf4d595..00000000
--- a/renovate.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
-  "extends": [
-    "local>LLK/renovate-config"
-  ]
-}
diff --git a/renovate.json5 b/renovate.json5
new file mode 100644
index 00000000..8d2002c3
--- /dev/null
+++ b/renovate.json5
@@ -0,0 +1,16 @@
+{
+  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+
+  "extends": [
+    "github>LLK/scratch-renovate-config:conservative"
+  ],
+
+  "packageRules": [
+    // Don't auto-merge scratch-vm since that will cause a never-ending cycle of dependency updates. Ideally, updating
+    // scratch-vm in scratch-render shouldn't make a scratch-render release. Once that's true we can remove this rule.
+    {
+      "matchPackageNames": ["scratch-vm"],
+      "automerge": false
+    }
+  ]
+}