- Bootstrap gum automatically on first run (Arch/Debian/RHEL/Fedora/SUSE) - utils.sh: replace all bash color helpers with gum equivalents - gum input for text prompts (with value pre-fill for defaults) - gum choose for selection menus - gum confirm for yes/no - gum spin for long-running operations - gum style/log for output (catppuccin mocha palette) - gum style for banners and summary box - core.sh: spinner on git clone/pull - workflow.sh: spinner on git clone - prereqs.sh: spinner on package installs - wizard.sh: double-border welcome banner, rounded summary box, success banner with next-steps panel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
986 B
Bash
28 lines
986 B
Bash
#!/usr/bin/env bash
|
|
# core.sh — manage the global context-studio-core installation
|
|
|
|
CS_CORE_REPO="git@github.com:KlausUllrich/context-studio-core.git"
|
|
CS_HOME="${CS_HOME:-$HOME/.context-studio}"
|
|
CS_CORE_DIR="$CS_HOME/core"
|
|
|
|
setup_core() {
|
|
header "Context Studio Core"
|
|
|
|
if [[ -d "$CS_CORE_DIR/.git" ]]; then
|
|
success "Core installed at $CS_CORE_DIR"
|
|
ask_yn _update "Pull latest updates?" "n"
|
|
if [[ "$_update" == "y" ]]; then
|
|
spin "Updating core..." git -C "$CS_CORE_DIR" pull --ff-only \
|
|
|| warn "Pull failed — continuing with current version."
|
|
success "Core updated"
|
|
fi
|
|
return 0
|
|
fi
|
|
|
|
info "Cloning context-studio-core → $CS_CORE_DIR"
|
|
mkdir -p "$CS_HOME"
|
|
spin "Cloning context-studio-core..." \
|
|
git clone "$CS_CORE_REPO" "$CS_CORE_DIR" \
|
|
|| die "Failed to clone context-studio-core. Check your SSH key and network."
|
|
success "Core installed at $CS_CORE_DIR"
|
|
}
|