diff --git a/.claude/skills/setup/SKILL.md b/.claude/skills/setup/SKILL.md index a91378e..a133f86 100644 --- a/.claude/skills/setup/SKILL.md +++ b/.claude/skills/setup/SKILL.md @@ -63,13 +63,7 @@ Run `npx tsx setup/index.ts --step environment` and parse the status block. ### OpenClaw Migration Detection -Check for an existing OpenClaw installation: - -```bash -ls -d ~/.openclaw 2>/dev/null || ls -d ~/.clawdbot 2>/dev/null -``` - -If a directory is found, AskUserQuestion: +If OPENCLAW_PATH is not `none` from the environment check above, AskUserQuestion: 1. **Migrate now** — "Import identity, credentials, and settings from OpenClaw before continuing setup." 2. **Fresh start** — "Skip migration and set up NanoClaw from scratch." diff --git a/setup/environment.ts b/setup/environment.ts index 66f6fd0..27de9f4 100644 --- a/setup/environment.ts +++ b/setup/environment.ts @@ -66,6 +66,13 @@ export async function run(_args: string[]): Promise { } } + // Check for existing OpenClaw installation + const homedir = (await import('os')).homedir(); + const openClawPath = + fs.existsSync(path.join(homedir, '.openclaw')) ? path.join(homedir, '.openclaw') : + fs.existsSync(path.join(homedir, '.clawdbot')) ? path.join(homedir, '.clawdbot') : + null; + log.info( 'Environment check complete', { @@ -76,6 +83,7 @@ export async function run(_args: string[]): Promise { hasEnv, hasAuth, hasRegisteredGroups, + openClawPath, }, ); @@ -88,6 +96,7 @@ export async function run(_args: string[]): Promise { HAS_ENV: hasEnv, HAS_AUTH: hasAuth, HAS_REGISTERED_GROUPS: hasRegisteredGroups, + OPENCLAW_PATH: openClawPath ?? 'none', STATUS: 'success', LOG: 'logs/setup.log', });