diff --git a/bin/xrepo b/bin/xrepo
new file mode 100755
index 0000000..a13762e
--- /dev/null
+++ b/bin/xrepo
@@ -0,0 +1,9 @@
+#!/usr/bin/env node
+const os = require('os');
+const path = require('path');
+const {spawnSync} = require('child_process');
+const {resolve} = require('path');
+const bin = resolve(__dirname, '..', 'prebuilds', `xmake-${os.platform()}-${os.arch()}`, 'bin', path.basename(__filename));
+const cmd = spawnSync(bin, process.argv.slice(2))
+console.log(cmd.stdout.toString())
+console.error(cmd.stderr.toString())
diff --git a/package.json b/package.json
index 3a277ec..4a16d06 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
   "keywords": ["xmake"],
   "bin": {
     "xmake": "bin/xmake",
-    "xrepo": "bin/xmake"
+    "xrepo": "bin/xrepo"
   },
   "devDependencies": {
     "biome": "^0.3.3",