Skip to content

feat: support China edition CLI (qoderclicn) with settings toggle - #20

Merged
luoxuanzao merged 2 commits into
mainfrom
feat/qoderclicn-support
Aug 14, 2026
Merged

feat: support China edition CLI (qoderclicn) with settings toggle#20
luoxuanzao merged 2 commits into
mainfrom
feat/qoderclicn-support

Conversation

@luoxuanzao

Copy link
Copy Markdown
Member

Summary

  • Add a "Qoder CLI edition" setting to switch between the international build
    (qodercli, ~/.qoder) and the China build (qoderclicn, ~/.qoder-cn):
    edition-aware CLI discovery (incl. the CN versioned installer layout),
    session history path, global plugin discovery, login hint, and error messages.
  • Needed because the China edition CLI uses a different binary name and config
    root; previously Qoderian only supported the international build.

Verification

  • npm run typecheck
  • npm run lint
  • npm run test
  • npm run build
  • npm run release:check
  • npm run audit:prod
  • Tested affected qodercli behavior against a real CLI when applicable
    (SDK smoke against the real qoderclicn binary; real Obsidian vault:
    edition switch UI, chat panel launching the CN binary with ~/.qoder-cn traces)

Safety

  • No credentials, private vault content, internal URLs, or personal paths are included
  • User-visible changes are documented in CHANGELOG.md

luoxuanzao and others added 2 commits August 14, 2026 15:13
Add a Qoder CLI edition setting (international qodercli / China
qoderclicn) so users can switch between the two CLI builds, whose
binary names and config roots differ (~/.qoder vs ~/.qoder-cn).

- New cli-edition module with per-edition binary names, config roots,
  login commands, and an active-edition registry synced on settings
  load/save
- Edition-aware CLI discovery, including the CN installer layout
  (~/.qoder-cn/bin/qoderclicn/qoderclicn-<version>); resolver cache
  keyed on edition
- Edition-aware SDK projects path (session history), global plugin
  discovery, login hint, and CLI/Node missing error messages
- Settings dropdown (declarative + imperative) that resets the
  resolver, reloads plugins, restarts open tabs, and refreshes the
  runtime catalog on switch
- i18n keys in all 10 locales; unit tests for edition module and CN
  discovery; CHANGELOG entry

Co-authored-by: QoderAI (Qwen 3.8 Max) <qoder_ai@qoder.com>
The config-root test hardcoded POSIX separators while
getQoderCliHomeDir builds paths with path.join, which fails on the
Windows CI runner. Build expectations with path.join as well.

Co-authored-by: QoderAI (Qwen 3.8 Max) <qoder_ai@qoder.com>
@luoxuanzao
luoxuanzao merged commit b306137 into main Aug 14, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant