2026-03-27 09:17:13 +01:00
|
|
|
#!/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
|
|
|
|
|
|
2026-03-27 11:28:07 +01:00
|
|
|
CLAUDE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
LLM_DIR="$CLAUDE_DIR/llm-functions"
|
2026-03-27 09:17:13 +01:00
|
|
|
|
|
|
|
|
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) ==="
|
2026-03-27 11:28:07 +01:00
|
|
|
run git -C "$CLAUDE_DIR" pull --ff-only
|
2026-03-27 09:17:13 +01:00
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "=== Mise à jour de .claude/llm-functions ==="
|
2026-03-27 11:28:07 +01:00
|
|
|
run git -C "$LLM_DIR" pull --ff-only
|
2026-03-27 09:17:13 +01:00
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "=== Reconstruction des outils llm-functions ==="
|
2026-03-27 11:28:07 +01:00
|
|
|
if [[ "$dry_run" -eq 1 ]]; then
|
|
|
|
|
echo "[dry-run] argc build (dans $LLM_DIR)"
|
|
|
|
|
else
|
|
|
|
|
(cd "$LLM_DIR" && argc build)
|
|
|
|
|
fi
|
2026-03-27 09:17:13 +01:00
|
|
|
|
|
|
|
|
echo ""
|
2026-03-27 11:28:07 +01:00
|
|
|
echo "OK — outils reconstruits dans $LLM_DIR/bin/"
|