#!/usr/bin/env bash # sync.sh — Repompe les modifs locales (~/.claude/ + dev_malio/CLAUDE.md) dans le repo # # À lancer quand tu as édité directement les fichiers actifs hors du repo # (ex. modif dans ~/.claude/commands/foo.md) et que tu veux les commiter. set -euo pipefail REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" CLAUDE_DIR="${HOME}/.claude" WORKSPACE_DIR="$(dirname "${REPO_DIR}")" echo "→ Sync depuis :" echo " ${CLAUDE_DIR}/CLAUDE.md → ${REPO_DIR}/global/" echo " ${CLAUDE_DIR}/commands/*.md → ${REPO_DIR}/commands/" echo " ${WORKSPACE_DIR}/CLAUDE.md → ${REPO_DIR}/workspace/" echo copy_if_real() { local src="$1" local dst="$2" if [[ -L "$src" ]]; then echo " · skip (symlink) $src" return fi if [[ -f "$src" ]]; then cp "$src" "$dst" echo " ✓ copy $src → $dst" fi } copy_if_real "${CLAUDE_DIR}/CLAUDE.md" "${REPO_DIR}/global/CLAUDE.md" copy_if_real "${WORKSPACE_DIR}/CLAUDE.md" "${REPO_DIR}/workspace/CLAUDE.md" for src in "${CLAUDE_DIR}/commands/"*.md; do [[ -e "$src" ]] || continue name="$(basename "$src")" copy_if_real "$src" "${REPO_DIR}/commands/${name}" done echo echo "✓ Sync terminé. Lance 'git status' dans ${REPO_DIR}/ pour voir les diffs."