29 lines
882 B
Bash
Executable File
29 lines
882 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#ddev-generated
|
|
## Description: Manage multiple Claude accounts (claude-swap / cswap)
|
|
## Usage: claude-swap [command]
|
|
## Example: "ddev claude-swap list" or "ddev cswap list"
|
|
## Aliases: cswap
|
|
set -euo pipefail
|
|
|
|
INSTALL_SCRIPT="${DDEV_APPROOT}/.ddev/claude-code/install-swap.sh"
|
|
PERSIST_BASE="${DDEV_APPROOT}/.ddev/claude-code"
|
|
PERSIST_HOME="${PERSIST_BASE}/home"
|
|
CSWAP_BIN="${PERSIST_HOME}/.local/bin/cswap"
|
|
|
|
# Lazy install / health check (also handles "ddev claude-swap upgrade").
|
|
if [ "${1:-}" = "upgrade" ]; then
|
|
exec "${INSTALL_SCRIPT}" --upgrade
|
|
fi
|
|
"${INSTALL_SCRIPT}"
|
|
|
|
export HOME="${PERSIST_HOME}"
|
|
export XDG_CONFIG_HOME="${PERSIST_BASE}/config"
|
|
export XDG_DATA_HOME="${PERSIST_BASE}/data"
|
|
export XDG_STATE_HOME="${PERSIST_BASE}/state"
|
|
export PATH="${PERSIST_HOME}/.local/bin:${PATH}"
|
|
unset SSH_AUTH_SOCK
|
|
|
|
cd "${DDEV_APPROOT}"
|
|
exec "${CSWAP_BIN}" "$@"
|