fix(config): migrate all hardcoded paths to getCcsDir() and improve validation

- Replace os.homedir() + '.ccs' with getCcsDir() across 14 instances in 13 files:
  version-command, model-config, openrouter-catalog, config-checks, disk-cache,
  aggregator, auth-middleware, shell-completion, shared-manager, recovery-manager,
  auto-repair, delegation-validator, claude-dir-installer, cliproxy executor
- Add isDirectory() validation for --config-dir argument in ccs.ts
- Make detectCloudSyncPath() case-insensitive for cloud provider matching
- Fix help-command.ts to use dynamic dirDisplay for all path references
- Add 5 new tests: setGlobalConfigDir precedence, relative path resolution,
  reset behavior, getCcsDirSource with --config-dir, case-insensitive detection
- Clean up unused os imports after migration
This commit is contained in:
Tam Nhu Tran committed 2026-02-11 11:15:08 +07:00
1 parent 7a0e6a4112
commit 60d6bbd027
18 files changed
+87 -59

No files matched your search

+2 -2
View File
@@ -286,8 +286,8 @@ async function main(): Promise<void> {
process.exit(1);
}
if (!fs.existsSync(configDirValue)) {
console.error(fail(`Config directory not found: ${configDirValue}`));
if (!fs.existsSync(configDirValue) || !fs.statSync(configDirValue).isDirectory()) {
console.error(fail(`Config directory not found or not a directory: ${configDirValue}`));
console.error(info('Create the directory first, then copy your config files into it.'));
process.exit(1);
}