setup-claude-profiles: claude-account Funktion fuer Re-Login
claude-account priv|work fuehrt logout, Browser-Oeffnung und login in einem Schritt durch. Dokumentation in CLAUDE.md ergaenzt.
This commit is contained in:
parent
58233e7b4f
commit
ecf731d17c
2 changed files with 105 additions and 0 deletions
99
setup-claude-profiles.sh
Executable file
99
setup-claude-profiles.sh
Executable file
|
|
@ -0,0 +1,99 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# setup-claude-profiles.sh
|
||||
# Richtet zwei getrennte Claude-Code-Profile ein (priv/work)
|
||||
# Verwendung: bash setup-claude-profiles.sh
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# ── Farben ──────────────────────────────────────────────────────────────
|
||||
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
||||
ok() { echo -e "${GREEN}[OK] $*${NC}"; }
|
||||
warn() { echo -e "${YELLOW}[!!] $*${NC}"; }
|
||||
fail() { echo -e "${RED}[FAIL] $*${NC}"; }
|
||||
|
||||
MARKER="claude-profiles-start"
|
||||
ZSHRC="$HOME/.zshrc"
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Claude-Code Multi-Profile Setup"
|
||||
echo "============================================"
|
||||
|
||||
# ── Claude Code installiert? ────────────────────────────────────────────
|
||||
if ! command -v claude &>/dev/null; then
|
||||
warn "claude nicht gefunden - bitte zuerst installieren (npm install -g @anthropic-ai/claude-code)"
|
||||
fi
|
||||
|
||||
# ── Bestehende ~/.claude migrieren ──────────────────────────────────────
|
||||
echo -e "\n=== Migration ==="
|
||||
if [[ -d "$HOME/.claude" && ! -d "$HOME/.claude-priv" ]]; then
|
||||
mv "$HOME/.claude" "$HOME/.claude-priv"
|
||||
ok "~/.claude nach ~/.claude-priv verschoben"
|
||||
elif [[ -d "$HOME/.claude" && -d "$HOME/.claude-priv" ]]; then
|
||||
warn "~/.claude und ~/.claude-priv existieren beide - manuelle Migration noetig"
|
||||
else
|
||||
ok "Nichts zu migrieren"
|
||||
fi
|
||||
|
||||
# ── Config-Verzeichnisse anlegen ────────────────────────────────────────
|
||||
echo -e "\n=== Verzeichnisse ==="
|
||||
mkdir -p "$HOME/.claude-priv" "$HOME/.claude-work"
|
||||
ok "~/.claude-priv angelegt (mail@motocamp.de)"
|
||||
ok "~/.claude-work angelegt (rene@rm202.de)"
|
||||
|
||||
# ── Aliases in .zshrc ──────────────────────────────────────────────────
|
||||
echo -e "\n=== Shell-Aliases ==="
|
||||
if [[ ! -f "$ZSHRC" ]]; then
|
||||
fail "$ZSHRC existiert nicht"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if grep -qF "$MARKER" "$ZSHRC"; then
|
||||
warn "$ZSHRC - Aliases bereits vorhanden"
|
||||
else
|
||||
{
|
||||
echo ""
|
||||
echo "# claude-profiles-start"
|
||||
echo "alias claude-priv='CLAUDE_CONFIG_DIR=~/.claude-priv command claude' # mail@motocamp.de"
|
||||
echo "alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work command claude' # rene@rm202.de"
|
||||
echo 'alias claude='"'"'echo "Bitte claude-priv oder claude-work verwenden."'"'"''
|
||||
cat << 'FUNC'
|
||||
claude-account() {
|
||||
local profile="$1"
|
||||
if [[ "$profile" != "priv" && "$profile" != "work" ]]; then
|
||||
echo "Verwendung: claude-account priv|work"
|
||||
return 1
|
||||
fi
|
||||
local config_dir="$HOME/.claude-${profile}"
|
||||
echo "==> Claude Code abmelden (${profile})..."
|
||||
CLAUDE_CONFIG_DIR="$config_dir" command claude /logout
|
||||
echo ""
|
||||
echo "==> Browser oeffnen - bitte ab- und neu anmelden..."
|
||||
open "https://console.anthropic.com"
|
||||
read -r "?Wenn im Browser fertig, Enter druecken..."
|
||||
echo ""
|
||||
echo "==> Claude Code anmelden (${profile})..."
|
||||
CLAUDE_CONFIG_DIR="$config_dir" command claude /login
|
||||
}
|
||||
FUNC
|
||||
echo "# claude-profiles-end"
|
||||
} >> "$ZSHRC"
|
||||
ok "$ZSHRC - Aliases eingefuegt"
|
||||
fi
|
||||
|
||||
# ── Zusammenfassung ─────────────────────────────────────────────────────
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Fertig! Profil-Zuordnung:"
|
||||
echo " claude-priv -> mail@motocamp.de"
|
||||
echo " claude-work -> rene@rm202.de"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "Naechste Schritte:"
|
||||
echo " 1. source ~/.zshrc"
|
||||
echo " 2. claude-priv (mit mail@motocamp.de einloggen)"
|
||||
echo " 3. claude-work (mit rene@rm202.de einloggen)"
|
||||
echo ""
|
||||
echo "Account wechseln: claude-account priv oder claude-account work"
|
||||
echo ""
|
||||
Loading…
Add table
Add a link
Reference in a new issue