diff --git a/README.md b/README.md index 50e3b1f0c7..d75382619d 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,24 @@ If you want a personal, single-user assistant that feels local, fast, and always > The OpenClaw-branded material and `openclaw ...` examples below are upstream or compatibility context, not the intended extracted Mirror-native surface. > For Mirror-native operator paths in this repo, see `docs/mirror/MIRROR_OPERATOR_GUIDE.md`. -Preferred setup: run the onboarding wizard (`openclaw onboard`) in your terminal. -The wizard guides you step by step through setting up the gateway, workspace, channels, and skills. The CLI wizard is the recommended path and works on **macOS, Linux, and Windows (via WSL2; strongly recommended)**. -Works with npm, pnpm, or bun. +## Mirror-native entrypoints in this repo + +Use these paths first when operating `mirror-runtime` directly: + +```bash +mirror help +mirror status --json +mirror verify-lore --json +``` + +Mirror-native operator guide: + +- `docs/mirror/MIRROR_OPERATOR_GUIDE.md` + +## Legacy OpenClaw setup examples (upstream or compatibility context) + +The examples below are preserved as upstream or compatibility context. They are not the intended extracted Mirror-native operator surface for this repository. + New install? Start here: [Getting started](https://docs.openclaw.ai/start/getting-started) ## Sponsors @@ -52,7 +67,7 @@ Model note: while any model is supported, I strongly recommend **Anthropic Pro/M - Models config + CLI: [Models](https://docs.openclaw.ai/concepts/models) - Auth profile rotation (OAuth vs API keys) + fallbacks: [Model failover](https://docs.openclaw.ai/concepts/model-failover) -## Install (recommended) +## Legacy OpenClaw install (upstream or compatibility context) Runtime: **Node ≥22**. @@ -65,7 +80,7 @@ openclaw onboard --install-daemon The wizard installs the Gateway daemon (launchd/systemd user service) so it stays running. -## Quick start (TL;DR) +## Legacy OpenClaw quick start (upstream or compatibility context) Runtime: **Node ≥22**. @@ -94,7 +109,7 @@ Upgrading? [Updating guide](https://docs.openclaw.ai/install/updating) (and run Switch channels (git + npm): `openclaw update --channel stable|beta|dev`. Details: [Development channels](https://docs.openclaw.ai/install/development-channels). -## From source (development) +## Legacy OpenClaw from source (upstream or compatibility context) Prefer `pnpm` for builds from source. Bun is optional for running TypeScript directly. diff --git a/package.json b/package.json index 8e923b7937..a077a464c3 100644 --- a/package.json +++ b/package.json @@ -48,10 +48,6 @@ "./cli-entry": "./mirror.mjs" }, "scripts": { - "android:assemble": "cd apps/android && ./gradlew :app:assembleDebug", - "android:install": "cd apps/android && ./gradlew :app:installDebug", - "android:run": "cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity", - "android:test": "cd apps/android && ./gradlew :app:testDebugUnitTest", "build": "pnpm canvas:a2ui:bundle && tsdown && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts && node --import tsx scripts/copy-mirror-runtime-assets.ts", "build:mirror": "pnpm canvas:a2ui:bundle && tsdown --config tsdown.mirror.config.ts && node --import tsx scripts/copy-mirror-runtime-assets.ts", "build:plugin-sdk:dts": "tsc -p tsconfig.plugin-sdk.dts.json", @@ -85,10 +81,6 @@ "gateway:dev": "OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway", "gateway:dev:reset": "OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset", "gateway:watch": "node scripts/watch-node.mjs gateway --force", - "ios:build": "bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'", - "ios:gen": "bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'", - "ios:open": "bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'", - "ios:run": "bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.openclaw.ios'", "lint": "oxlint --type-aware", "lint:all": "pnpm lint && pnpm lint:swift", "lint:docs": "pnpm dlx markdownlint-cli2", @@ -97,9 +89,6 @@ "lint:swift": "swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)", "lint:tmp:no-random-messaging": "node scripts/check-no-random-messaging-tmp.mjs", "lint:ui:no-raw-window-open": "node scripts/check-no-raw-window-open.mjs", - "mac:open": "open dist/OpenClaw.app", - "mac:package": "bash scripts/package-mac-app.sh", - "mac:restart": "bash scripts/restart-mac.sh", "mirror": "node mirror.mjs", "moltbot:rpc": "node scripts/run-node.mjs agent --mode rpc --json", "package:mirror-runtime": "pnpm build:mirror && node --import tsx scripts/assemble-mirror-runtime-dist.ts", diff --git a/test/mirror-package-boundary.test.ts b/test/mirror-package-boundary.test.ts index e8ff33d6b7..1363f271e4 100644 --- a/test/mirror-package-boundary.test.ts +++ b/test/mirror-package-boundary.test.ts @@ -35,6 +35,12 @@ describe("mirror package boundary", () => { expect(packageJson.scripts?.["smoke:mirror"]).toBe( "node --import tsx scripts/ci-mirror-smoke.ts", ); + expect(packageJson.scripts?.["android:assemble"]).toBeUndefined(); + expect(packageJson.scripts?.["android:install"]).toBeUndefined(); + expect(packageJson.scripts?.["android:test"]).toBeUndefined(); + expect(packageJson.scripts?.["ios:build"]).toBeUndefined(); + expect(packageJson.scripts?.["ios:gen"]).toBeUndefined(); + expect(packageJson.scripts?.["ios:open"]).toBeUndefined(); expect(packageJson.scripts?.openclaw).toBeUndefined(); expect(packageJson.scripts?.["openclaw:rpc"]).toBeUndefined(); expect(packageJson.files).not.toContain("openclaw.mjs");