Files
ccs/docs/version-management.md
T
kaitranntt bd152e54b1 docs(ccs): refactor README and add comprehensive documentation structure
- Reduce README.md from 640 to 48 lines (92% reduction)
- Add 5 new documentation files: installation, configuration, usage, troubleshooting, contributing
- Follow YAGNI/KISS/DRY principles with essential info in README
- Preserve all content in organized docs/ structure
- Improve user experience with quick start focus
2025-11-02 21:17:31 -05:00

2.5 KiB

Version Management

Overview

CCS uses a centralized version management system to ensure consistency across all components.

Version Locations

The version number must be kept in sync across these files:

  1. VERSION - Primary version file (read by ccs/ccs.ps1 at runtime)
  2. installers/install.sh - Hardcoded for standalone installations (curl | bash)
  3. installers/install.ps1 - Hardcoded for standalone installations (irm | iex)

Why Hardcoded Versions in Installers?

When users run:

  • curl -fsSL ccs.kaitran.ca/install | bash
  • irm ccs.kaitran.ca/install.ps1 | iex

The installer script is downloaded and executed directly without the VERSION file. Therefore, installers must have a hardcoded version as fallback.

For git-based installations, the VERSION file is read if available, overriding the hardcoded version.

Updating Version

Use the provided script to bump the version automatically:

# Bump patch version (2.1.1 -> 2.1.2)
./scripts/bump-version.sh patch

# Bump minor version (2.1.1 -> 2.2.0)
./scripts/bump-version.sh minor

# Bump major version (2.1.1 -> 3.0.0)
./scripts/bump-version.sh major

This updates:

  • VERSION file
  • installers/install.sh (hardcoded version)
  • installers/install.ps1 (hardcoded version)

Manual Method

If updating manually, update version in ALL three locations:

  1. VERSION file:

    echo "2.1.2" > VERSION
    
  2. installers/install.sh (line ~34):

    CCS_VERSION="2.1.2"
    
  3. installers/install.ps1 (line ~33):

    $CcsVersion = "2.1.2"
    

Release Checklist

When releasing a new version:

  • Update version using ./scripts/bump-version.sh X.Y.Z
  • Review changes: git diff
  • Update CHANGELOG.md with release notes
  • Commit changes: git commit -am "chore: bump version to X.Y.Z"
  • Push: git push
  • Verify CloudFlare worker serves updated installer

Version Display

After installation, users can check version:

# Shows CCS version (from VERSION file if available)
ccs --version

# Shows Claude CLI version
ccs version

Semantic Versioning

CCS follows Semantic Versioning:

  • MAJOR (X.0.0): Breaking changes
  • MINOR (0.X.0): New features (backward compatible)
  • PATCH (0.0.X): Bug fixes

Current version: 2.1.1

  • 2.1.0: Added task delegation feature
  • 2.1.1: Fixed argument parsing bug (flags treated as profiles)