fix(doctor): resolve delegation check false positive (v4.1.3) (#9)

The 'ccs doctor' command was incorrectly checking for delegation commands
in ~/.ccs/shared/commands/ccs/ instead of ~/.ccs/.claude/commands/ccs/,
causing false "not installed" warnings even after successful installation.

Changes:
- Fix delegation check to look in correct directory (~/.ccs/.claude/)
- Remove check for non-existent create.md file
- Bump version to 4.1.3
This commit is contained in:
Kai (Tam Nhu) Tran authored and GitHub committed 2025-11-16 20:31:53 -05:00
1 parent d3559279a2
commit bdcdd6acc4
7 files changed
+11 -16

No files matched your search

+1 -1
View File
@@ -1 +1 @@
4.1.2
4.1.3
+5 -10
View File
@@ -276,17 +276,12 @@ class Doctor {
checkDelegation() {
process.stdout.write('[?] Checking delegation... ');
// Check if delegation-rules.json exists
const delegationRulesPath = path.join(this.ccsDir, 'delegation-rules.json');
const hasDelegationRules = fs.existsSync(delegationRulesPath);
// Check if delegation commands exist in ~/.ccs/.claude/commands/ccs/
const ccsClaudeCommandsDir = path.join(this.ccsDir, '.claude', 'commands', 'ccs');
const hasGlmCommand = fs.existsSync(path.join(ccsClaudeCommandsDir, 'glm.md'));
const hasKimiCommand = fs.existsSync(path.join(ccsClaudeCommandsDir, 'kimi.md'));
// Check if delegation commands exist
const sharedCommandsDir = path.join(this.ccsDir, 'shared', 'commands', 'ccs');
const hasGlmCommand = fs.existsSync(path.join(sharedCommandsDir, 'glm.md'));
const hasKimiCommand = fs.existsSync(path.join(sharedCommandsDir, 'kimi.md'));
const hasCreateCommand = fs.existsSync(path.join(sharedCommandsDir, 'create.md'));
if (!hasGlmCommand || !hasKimiCommand || !hasCreateCommand) {
if (!hasGlmCommand || !hasKimiCommand) {
console.log(colored('[!]', 'yellow'), '(not installed)');
this.results.addCheck(
'Delegation',
+1 -1
View File
@@ -31,7 +31,7 @@ $InstallMethod = if ($ScriptDir -and ((Test-Path "$ScriptDir\lib\ccs.ps1") -or (
# IMPORTANT: Update this version when releasing new versions!
# This hardcoded version is used for standalone installations (irm | iex)
# For git installations, VERSION file is read if available
$CcsVersion = "4.1.2"
$CcsVersion = "4.1.3"
# Try to read VERSION file for git installations
if ($ScriptDir) {
+1 -1
View File
@@ -32,7 +32,7 @@ fi
# IMPORTANT: Update this version when releasing new versions!
# This hardcoded version is used for standalone installations (curl | bash)
# For git installations, VERSION file is read if available
CCS_VERSION="4.1.2"
CCS_VERSION="4.1.3"
# Try to read VERSION file for git installations
if [[ -f "$SCRIPT_DIR/VERSION" ]]; then
+1 -1
View File
@@ -2,7 +2,7 @@
set -euo pipefail
# Version (updated by scripts/bump-version.sh)
CCS_VERSION="4.1.2"
CCS_VERSION="4.1.3"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly CONFIG_FILE="${CCS_CONFIG:-$HOME/.ccs/config.json}"
readonly PROFILES_JSON="$HOME/.ccs/profiles.json"
+1 -1
View File
@@ -12,7 +12,7 @@ param(
$ErrorActionPreference = "Stop"
# Version (updated by scripts/bump-version.sh)
$CcsVersion = "4.1.2"
$CcsVersion = "4.1.3"
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$ConfigFile = if ($env:CCS_CONFIG) { $env:CCS_CONFIG } else { "$env:USERPROFILE\.ccs\config.json" }
$ProfilesJson = "$env:USERPROFILE\.ccs\profiles.json"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@kaitranntt/ccs",
"version": "4.1.2",
"version": "4.1.3",
"description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
"keywords": [
"cli",