mirror of
https://github.com/morluto/rea
synced 2026-10-28 23:11:11 -04:00
109769319a
* feat(clients): register Qoder CLI during setup - SupportedClients: qoder definition (~/.qoder/settings.json, format json, QODER_CONFIG_DIR override honored) - Qoder CLI documents mcpServers as the user-scope server table with command/args/env and stdio as the default transport; no personal skills directory is documented, so setup skips the skill copy - tests: qoderClientConfiguration.test.ts (path resolution and QODER_CONFIG_DIR override, upsert preserving unrelated settings, fresh/empty configs, uninstall) Verified: tsc --noEmit clean; vitest run tests/boundary/filesystem/qoderClientConfiguration.test.ts 6/6. * fix(clients): install Qoder CLI's personal REA skill Review follow-up (#1572): the Qoder CLI Skills documentation lists ~/.qoder/skills/{skill-name}/SKILL.md with automatic discovery, so the definition now carries skillPath following Qoder's configuration location (QODER_CONFIG_DIR honored) and setup installs the bundled skill copy there. The installation docs no longer claim Qoder has no personal skills directory, and the bundled REA skill's supported client list includes qoder. Verified: tsc --noEmit clean; vitest run tests/boundary/filesystem/qoderClientConfiguration.test.ts 7/7. --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import { vi } from "vitest";
|
|
|
|
import { PRODUCT_IDENTITY } from "../../src/identity.js";
|
|
|
|
/** The default npx registration command setup writes on POSIX hosts. */
|
|
export const NPX_REGISTRATION_COMMAND = [
|
|
"npx",
|
|
"-y",
|
|
PRODUCT_IDENTITY.registrationPackageSpecifier,
|
|
"mcp",
|
|
] as const;
|
|
|
|
/** Environment variables that redirect where supported clients keep config. */
|
|
export const CLIENT_LOCATION_ENVIRONMENT = [
|
|
"APPDATA",
|
|
"CLAUDE_CONFIG_DIR",
|
|
"CODEX_HOME",
|
|
"DSH_HOME",
|
|
"DSH_AGENTS_HOME",
|
|
"COPILOT_HOME",
|
|
"GROK_HOME",
|
|
"GEMINI_CLI_HOME",
|
|
"GEMINI_CLI_TRUST_WORKSPACE",
|
|
"GEMINI_RESTRICTED_MODE",
|
|
"GEMINI_CLI_TRUSTED_FOLDERS_PATH",
|
|
"GEMINI_CLI_SYSTEM_SETTINGS_PATH",
|
|
"GEMINI_CLI_SYSTEM_DEFAULTS_PATH",
|
|
"HERMES_DATA_DIR_SUFFIX",
|
|
"HERMES_HOME",
|
|
"LOCALAPPDATA",
|
|
"OMP_PROFILE",
|
|
"OPENCODE_CONFIG",
|
|
"OPENCODE_CONFIG_DIR",
|
|
"PI_CODING_AGENT_DIR",
|
|
"PI_CONFIG_DIR",
|
|
"PI_PROFILE",
|
|
"QODER_CONFIG_DIR",
|
|
"QWEN_HOME",
|
|
"SAND_DATA_ROOT",
|
|
"XDG_CONFIG_HOME",
|
|
] as const;
|
|
|
|
/** Clear the developer's client locations so tests resolve only their temporary homes. */
|
|
export const clearClientLocationEnvironment = (): void => {
|
|
for (const name of CLIENT_LOCATION_ENVIRONMENT) vi.stubEnv(name, undefined);
|
|
};
|