diff --git a/.claude/update_crazyclaude.sh b/.claude/update_crazyclaude.sh new file mode 100755 index 0000000..698518f --- /dev/null +++ b/.claude/update_crazyclaude.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# Met à jour .claude depuis CrazyClaude et llm-functions depuis upstream, +# puis reconstruit les outils aichat. +# +# Usage : bash .claude/update_crazyclaude.sh [--dry-run] + +set -euo pipefail + +CRAZY_CLAUDE_URL="https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git" +LLM_FUNCTIONS_URL="https://github.com/sigoden/llm-functions.git" +CLAUDE_PREFIX=".claude" +LLM_PREFIX=".claude/llm-functions" + +dry_run=0 +[[ "${1:-}" == "--dry-run" ]] && dry_run=1 + +run() { + if [[ "$dry_run" -eq 1 ]]; then + echo "[dry-run] $*" + else + echo "» $*" + "$@" + fi +} + +require() { + command -v "$1" &>/dev/null || { echo "ERREUR : '$1' introuvable dans le PATH" >&2; exit 1; } +} + +require git +require argc +require jq + +echo "=== Mise à jour de .claude (CrazyClaude) ===" +run git subtree pull --prefix "$CLAUDE_PREFIX" "$CRAZY_CLAUDE_URL" main --squash + +echo "" +echo "=== Mise à jour de .claude/llm-functions ===" +run git subtree pull --prefix "$LLM_PREFIX" "$LLM_FUNCTIONS_URL" main --squash + +echo "" +echo "=== Reconstruction des outils llm-functions ===" +run argc build --arcgfile "$LLM_PREFIX/Argcfile.sh" + +echo "" +echo "OK — outils reconstruits dans $LLM_PREFIX/bin/"