fix: harden installer symlink logic and interactive sourcing

- install-claude-profiles: distinguish broken symlink vs real dir vs free
  path via -L/-e, repoint existing links with ln -sfn, warn instead of
  silently skipping when target is a non-symlink dir.
- profiles.sh: only set -euo pipefail when sourced non-interactively so
  sourcing in an interactive shell doesn't clobber session settings.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-28 03:23:03 +02:00
commit 35b2da39d2
2 changed files with 9 additions and 2 deletions

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
# Only enforce strict mode when sourced non-interactively, so sourcing this
# file in an interactive shell doesn't clobber the user's session settings.
[[ $- == *i* ]] || set -euo pipefail
repo_root() {
local script_dir