Skip to content

v1.2.0 - Automatic Dependency Installation

Choose a tag to compare

@btafoya btafoya released this 01 Nov 19:35
· 1 commit to main since this release

What's New in v1.2.0

🎯 Automatic Dependency Installation

claude-sync now automatically detects and installs missing dependencies with user confirmation, making setup even easier!

Features

  • Smart Package Detection: Automatically detects missing required packages (gnupg, tar, gzip, coreutils, rsync)
  • Interactive Installation: Prompts users to install missing dependencies via apt
  • Package Mapping: Correctly maps commands to apt package names (e.g., gpggnupg, sha256sumcoreutils)
  • Separate Handling: Required packages are handled separately from optional packages (jq, git)
  • Verification: Confirms successful installation after package installation
  • Clear Fallback: Provides manual installation instructions if automatic installation fails

User Experience

Before (v1.1.0):

$ claude-sync init
[ERROR] Missing dependencies: gpg tar jq
Install with: sudo apt install gpg tar jq
# User must manually install and retry

After (v1.2.0):

$ claude-sync init
[WARN] Missing required dependencies: gpg tar

Install missing packages using apt? (gnupg tar) [y/N]: y
[INFO] Installing packages: gnupg tar
[INFO] ✓ Successfully installed required packages

[WARN] Missing optional dependencies: jq

Install optional packages? (jq) [y/N]: y
[INFO] Installing optional packages: jq
[INFO] ✓ Backup system initialized

Changes

  • Enhanced check_dependencies() function in lib/utils.sh
  • Updated README.md with automatic installation documentation
  • Added CHANGELOG.md for version tracking
  • Created TEST_REPORT.md for comprehensive test documentation
  • Added tests/test_dependency_check.sh for validation

Testing

  • ✅ All unit tests passing (7/7)
  • ✅ All integration tests passing (9/9)
  • ✅ Syntax validation complete
  • ✅ New dependency check test added

Installation

git clone https://github.com/btafoya/claude-code-sync.git
cd claude-code-sync
./install.sh
claude-sync init  # Dependencies will be auto-installed!

Full Changelog

See CHANGELOG.md for complete version history.


Previous Release: v1.1.0