spb/cluster-skill
Public
HTML 57.2%
Shell 19.1%
Python 11.2%
CSS 7.4%
JavaScript 5.1%
1#!/bin/bash2# export-connaissances.sh — exporte la « connaissance » Claude Code + l'accès MacLustr de cet opérateur.3# usage : export-connaissances.sh [--mcp] [--vers-cluster-skill] [chemin-archive.tar.gz]4# --mcp inclut ~/.claude.json → mcpServers (JETONS !)5# --vers-cluster-skill copie aussi CLAUDE.md + mémoire + commandes dans <cluster-skill>/operateur/connaissances/ et pousse sur spbgit6set -euo pipefail7MCP=0; VERS=0; OUT=""8for a in "$@"; do case "$a" in --mcp) MCP=1;; --vers-cluster-skill) VERS=1;; *) OUT="$a";; esac; done9OUT=${OUT:-$HOME/Desktop/maclustr-operateur-$(date +%Y%m%d).tar.gz}10HERE="$(cd "$(dirname "$0")" && pwd)"11SLUG=$(echo "$HOME" | tr '/' '-') # ex. -Users-simon-pierreboucher12MEM="$HOME/.claude/projects/$SLUG/memory"13T=$(mktemp -d); mkdir -p "$T/claude/memory" "$T/ssh" "$T/operateur"14cp "$HOME/.claude/CLAUDE.md" "$T/claude/CLAUDE.md"15[ -d "$HOME/.claude/commands" ] && cp -R "$HOME/.claude/commands" "$T/claude/"16[ -f "$HOME/.claude/settings.json" ] && cp "$HOME/.claude/settings.json" "$T/claude/"17[ -d "$MEM" ] && cp -R "$MEM/." "$T/claude/memory/" || echo "avertissement : pas de mémoire dans $MEM"18cp "$HOME/.ssh/config" "$T/ssh/config"19[ -f "$HOME/.ssh/maclustr-egress.sh" ] && cp "$HOME/.ssh/maclustr-egress.sh" "$T/ssh/"20if [ $MCP = 1 ]; then21 python3 - "$T/claude/mcpServers.json" <<'PY'22import json, os, sys23d = json.load(open(os.path.expanduser("~/.claude.json")))24json.dump(d.get("mcpServers", {}), open(sys.argv[1], "w"), indent=1)25PY26fi27cp "$HERE"/*.sh "$T/operateur/" # les scripts voyagent avec l'archive28echo "$HOME" > "$T/SOURCE_HOME"; whoami > "$T/SOURCE_USER"; date "+%Y-%m-%d %H:%M" > "$T/EXPORTED_AT"29tar -czf "$OUT" -C "$T" . && chmod 600 "$OUT"30echo "export → $OUT ($(du -h "$OUT" | cut -f1)) ; mémoire : $(ls "$T/claude/memory" | wc -l | tr -d ' ') fichiers ; MCP : $([ $MCP = 1 ] && echo inclus || echo non)"31if [ $VERS = 1 ]; then32 CS="$(cd "$HERE/.." && pwd)"; K="$CS/operateur/connaissances"33 rm -rf "$K"; mkdir -p "$K"; cp -R "$T/claude/." "$K/"; rm -f "$K/mcpServers.json" # jamais les jetons dans git34 cp "$T/ssh/config" "$K/ssh-config"; [ -f "$T/ssh/maclustr-egress.sh" ] && cp "$T/ssh/maclustr-egress.sh" "$K/"35 cp "$T/SOURCE_HOME" "$T/EXPORTED_AT" "$K/"36 git -C "$CS" add operateur/connaissances && git -C "$CS" commit -q -m "connaissances Claude Code exportées depuis $(hostname -s) ($(date +%Y-%m-%d))" && git -C "$CS" push -q origin main && echo "poussé dans cluster-skill/operateur/connaissances/"37fi38rm -rf "$T"39