feat: offer OpenClaw migration during first-time setup wizard#981
Merged
teknium1 merged 3 commits intoNousResearch:mainfrom Mar 12, 2026
Merged
Conversation
When a new user runs 'hermes setup' for the first time and ~/.openclaw/ exists, the wizard now asks if they want to import their OpenClaw data before API/tool configuration begins. If accepted, the existing migration script from optional-skills/ is loaded dynamically and run with the 'full' preset — importing settings, memories, skills, API keys, and platform configs. Config is reloaded afterward so imported values (like API keys) are available for the remaining setup steps. The migration is only offered on first-time setup (not returning users) and handles errors gracefully without blocking setup completion. Closes NousResearch#829
teknium1
added a commit
that referenced
this pull request
Mar 12, 2026
- Add hermes_cli/claw.py with full CLI migration handler: - hermes claw migrate (interactive migration with confirmation) - --dry-run, --preset, --overwrite, --skill-conflict flags - --source for custom OpenClaw path - --yes to skip confirmation - Clean formatted output matching setup wizard style - Fix Python 3.11+ @DataClass compatibility bug in dynamic module loading: - Register module in sys.modules before exec_module() - Fixes both setup.py (PR #981) and new claw.py - Add 16 tests in tests/hermes_cli/test_claw.py covering: - Script discovery (project root, installed, missing) - Command routing - Dry-run, execute, cancellation, error handling - Preset/secrets behavior, report formatting - Documentation updates: - README.md: Add 'hermes claw migrate' to Getting Started, new Migration section - docs/migration/openclaw.md: Full migration guide with all options - SKILL.md: Add CLI Command section at top of openclaw-migration skill
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hermes setupwizard, before provider/tool configuration begins.main.Context
state cannot be changed. The fix/issue-829-openclaw-setup branch was force-pushed or recreated.), so this PR carries the verified rebuild on a fresh branch.Test plan
python -m pytest tests/hermes_cli/test_setup.py tests/hermes_cli/test_setup_openclaw_migration.py -qpython -m hermes_cli.main setup --helppython -m pytest tests/ -q