easy-openclaw 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # easy-openclaw
2
+
3
+ OpenClaw の初期設定を簡単にする Tauri + Rust 製のブートストラップアプリです。
4
+
5
+ ## 配布(MVP)
6
+ - `npm install -g easy-openclaw` 後に `easy-openclaw` で起動します。
7
+ - 配布パッケージには事前ビルド済みの macOS `.app` バンドルと Windows 実行ファイルを同梱します。
8
+ - 現在の同梱ターゲットは `darwin-x64` / `win32-x64` です。
9
+
10
+ ## 開発者向け
11
+ - 開発実行: `npm run tauri dev`
12
+ - ネイティブ同梱用ビルド: `npm run build:native:darwin-x64`
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import process from "node:process";
5
+ import { spawn } from "node:child_process";
6
+ import { existsSync } from "node:fs";
7
+ import { fileURLToPath } from "node:url";
8
+
9
+ const rootDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
10
+ const pkgPath = path.join(rootDir, "package.json");
11
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
12
+
13
+ const args = process.argv.slice(2);
14
+
15
+ if (args.includes("--version")) {
16
+ console.log(pkg.version);
17
+ process.exit(0);
18
+ }
19
+
20
+ if (args.includes("--doctor")) {
21
+ const checks = [
22
+ ["node", process.version],
23
+ ["platform", `${process.platform}/${process.arch}`],
24
+ ["OPENCLAW_GATEWAY_BIN", process.env.OPENCLAW_GATEWAY_BIN || "(unset)"],
25
+ ["LMSTUDIO_BASE_URL", process.env.LMSTUDIO_BASE_URL || "(unset)"],
26
+ ["SLACK_BOT_USER_OAUTH_TOKEN", process.env.SLACK_BOT_USER_OAUTH_TOKEN ? "(set)" : "(unset)"],
27
+ ["SLACK_APP_LEVEL_TOKEN", process.env.SLACK_APP_LEVEL_TOKEN ? "(set)" : "(unset)"],
28
+ ];
29
+ for (const [k, v] of checks) {
30
+ console.log(`${k}: ${v}`);
31
+ }
32
+ process.exit(0);
33
+ }
34
+
35
+ const nativeBinaryRelByPlatform = {
36
+ "darwin-x64": "bin/native/darwin-x64/easy-openclaw.app/Contents/MacOS/easy-openclaw",
37
+ "darwin-arm64": "bin/native/darwin-arm64/easy-openclaw",
38
+ "linux-x64": "bin/native/linux-x64/easy-openclaw",
39
+ "win32-x64": "bin/native/win32-x64/easy-openclaw.exe",
40
+ };
41
+
42
+ const platformKey = `${process.platform}-${process.arch}`;
43
+ const relPath = nativeBinaryRelByPlatform[platformKey];
44
+
45
+ if (!relPath) {
46
+ console.error(`Unsupported platform: ${platformKey}`);
47
+ console.error("This package only contains prebuilt binaries for specific platforms.");
48
+ process.exit(1);
49
+ }
50
+
51
+ const nativeBinary = path.join(rootDir, relPath);
52
+ if (!existsSync(nativeBinary)) {
53
+ console.error(`Bundled binary was not found: ${nativeBinary}`);
54
+ process.exit(1);
55
+ }
56
+
57
+ const child = spawn(nativeBinary, args, { cwd: rootDir, stdio: "inherit" });
58
+
59
+ child.on("exit", (code) => process.exit(code ?? 1));
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>English</string>
7
+ <key>CFBundleDisplayName</key>
8
+ <string>easy-openclaw</string>
9
+ <key>CFBundleExecutable</key>
10
+ <string>easy-openclaw</string>
11
+ <key>CFBundleIconFile</key>
12
+ <string>icon.icns</string>
13
+ <key>CFBundleIdentifier</key>
14
+ <string>com.hachiwarelabs.easy-openclaw</string>
15
+ <key>CFBundleInfoDictionaryVersion</key>
16
+ <string>6.0</string>
17
+ <key>CFBundleName</key>
18
+ <string>easy-openclaw</string>
19
+ <key>CFBundlePackageType</key>
20
+ <string>APPL</string>
21
+ <key>CFBundleShortVersionString</key>
22
+ <string>0.0.1</string>
23
+ <key>CFBundleVersion</key>
24
+ <string>0.0.1</string>
25
+ <key>CSResourcesFileMapped</key>
26
+ <true/>
27
+ <key>LSMinimumSystemVersion</key>
28
+ <string>10.13</string>
29
+ <key>LSRequiresCarbon</key>
30
+ <true/>
31
+ <key>NSHighResolutionCapable</key>
32
+ <true/>
33
+ </dict>
34
+ </plist>
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "easy-openclaw",
3
+ "private": false,
4
+ "version": "0.0.1",
5
+ "type": "module",
6
+ "description": "easy-openclaw bootstrap app for OpenClaw",
7
+ "os": [
8
+ "darwin",
9
+ "win32"
10
+ ],
11
+ "cpu": [
12
+ "x64"
13
+ ],
14
+ "files": [
15
+ "bin/easy-openclaw.js",
16
+ "bin/native/darwin-x64/easy-openclaw.app",
17
+ "bin/native/win32-x64/easy-openclaw.exe",
18
+ "README.md"
19
+ ],
20
+ "bin": {
21
+ "easy-openclaw": "bin/easy-openclaw.js"
22
+ },
23
+ "scripts": {
24
+ "dev": "vite --port 1420",
25
+ "build": "tsc && vite build",
26
+ "preview": "vite preview",
27
+ "tauri": "tauri",
28
+ "test:ui": "node ./scripts/ui_regression_check.mjs",
29
+ "test:rust": "cd src-tauri && cargo test",
30
+ "test:e2e": "node ./scripts/e2e_smoke.mjs",
31
+ "doctor": "node ./bin/easy-openclaw.js --doctor",
32
+ "test:gui-e2e": "PLAYWRIGHT_BROWSERS_PATH=../.pw-browsers playwright test",
33
+ "build:native:darwin-x64": "sh ./scripts/build_native_darwin_x64.sh",
34
+ "build:native:darwin-arm64": "sh ./scripts/build_native_darwin_arm64.sh",
35
+ "build:native:win32-x64": "cmd /c scripts\\build_native_win32_x64.bat",
36
+ "test:brand-e2e": "PLAYWRIGHT_BROWSERS_PATH=../.pw-browsers playwright test tests/brand.e2e.spec.ts"
37
+ },
38
+ "devDependencies": {
39
+ "@playwright/test": "^1.58.2",
40
+ "@tauri-apps/api": "^2",
41
+ "@tauri-apps/cli": "^2",
42
+ "@tauri-apps/plugin-dialog": "^2",
43
+ "@tauri-apps/plugin-opener": "^2",
44
+ "@types/react": "^19.1.8",
45
+ "@types/react-dom": "^19.1.6",
46
+ "@vitejs/plugin-react": "^4.6.0",
47
+ "bootstrap": "^5.3.8",
48
+ "playwright": "^1.58.2",
49
+ "react": "^19.1.0",
50
+ "react-dom": "^19.1.0",
51
+ "typescript": "~5.8.3",
52
+ "vite": "^7.0.4"
53
+ }
54
+ }