From c32c23e5ed2b5842d463b8cddeb81deac489cdde Mon Sep 17 00:00:00 2001 From: kaitranntt Date: Wed, 5 Nov 2025 11:26:01 -0500 Subject: [PATCH] feat: add npm postinstall config creation and restructure test suite Configuration Management: - Add npm postinstall script to auto-create ~/.ccs/ directory and config files - Create config.json with default profile mappings (glm, default) - Create glm.settings.json template with GLM API configuration - Ensure idempotent postinstall behavior (safe to run multiple times) - Fix config-manager.js to handle missing config.json gracefully Test Suite Restructure: - Reorganize tests by installation method (native vs npm) - Move 37 native Unix tests to tests/native/unix/ - Move Windows tests to tests/native/windows/ - Move 39 npm package tests to tests/npm/ - Move shared utilities to tests/shared/ - Add comprehensive test documentation and README - Implement master orchestrators for backward compatibility - Increase test coverage from 41 to 83+ tests (100% increase) - Add mocha framework for npm tests with better assertions New Test Commands: - npm run test:npm (npm package tests only) - npm run test:native (native tests only) - npm run test:unit (unit tests only) - npm run test:all (all tests) Backward Compatibility: - npm test (runs all tests) - bash tests/edge-cases.sh (master orchestrator) - All existing workflows unchanged Version: 2.4.4 --- VERSION | 2 +- installers/install.ps1 | 2 +- installers/install.sh | 2 +- lib/ccs | 2 +- lib/ccs.ps1 | 2 +- package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/VERSION b/VERSION index 35cee72d..79a61441 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.4.3 +2.4.4 diff --git a/installers/install.ps1 b/installers/install.ps1 index 0b580f95..02bc947a 100644 --- a/installers/install.ps1 +++ b/installers/install.ps1 @@ -30,7 +30,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 = "2.4.3" +$CcsVersion = "2.4.4" # Try to read VERSION file for git installations if ($ScriptDir) { diff --git a/installers/install.sh b/installers/install.sh index f3e83ce6..33810f96 100755 --- a/installers/install.sh +++ b/installers/install.sh @@ -31,7 +31,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="2.4.3" +CCS_VERSION="2.4.4" # Try to read VERSION file for git installations if [[ -f "$SCRIPT_DIR/VERSION" ]]; then diff --git a/lib/ccs b/lib/ccs index 46d9a8ff..a63b895d 100755 --- a/lib/ccs +++ b/lib/ccs @@ -2,7 +2,7 @@ set -euo pipefail # Version (updated by scripts/bump-version.sh) -CCS_VERSION="2.4.3" +CCS_VERSION="2.4.4" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # --- Color/Format Functions --- diff --git a/lib/ccs.ps1 b/lib/ccs.ps1 index b1897c75..dfc88603 100644 --- a/lib/ccs.ps1 +++ b/lib/ccs.ps1 @@ -72,7 +72,7 @@ Restart your terminal after installation. } # Version (updated by scripts/bump-version.sh) -$CcsVersion = "2.4.3" +$CcsVersion = "2.4.4" $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path # Installation function for commands and skills diff --git a/package.json b/package.json index 472b29ee..04ca2c23 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kaitranntt/ccs", - "version": "2.4.3", + "version": "2.4.4", "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6", "keywords": [ "cli",