add setup.sh

This commit is contained in:
marc 2026-05-11 11:16:26 +00:00
parent e9ede2dbb7
commit 18a98e9342

70
setup.sh Normal file
View file

@ -0,0 +1,70 @@
#!/usr/bin/env bash
# Setup Claude Code - Reverdin Consulting
# Usage : curl -fsSL https://git.reverdin.eu/marc/claude-rc-config/raw/branch/main/setup.sh | bash
set -e
REPO_BASE="https://git.reverdin.eu/marc/claude-rc-config/raw/branch/main"
CLAUDE_DIR="$HOME/.claude"
SKILLS_DIR="$CLAUDE_DIR/skills"
echo "=== Claude Code - Setup Reverdin Consulting ==="
# 1. Verifier / installer Claude Code
if ! command -v claude &>/dev/null; then
echo ">>> Installation de Claude Code..."
if command -v npm &>/dev/null; then
npm install -g @anthropic-ai/claude-code
elif command -v brew &>/dev/null; then
brew install anthropic/tap/claude-code 2>/dev/null || npm install -g @anthropic-ai/claude-code
else
echo "ERREUR : npm ou brew requis. Installer Node.js depuis https://nodejs.org"
exit 1
fi
else
echo ">>> Claude Code deja installe : $(claude --version 2>/dev/null || echo ok)"
fi
# 2. Creer les repertoires
mkdir -p "$SKILLS_DIR/rc-brief" "$SKILLS_DIR/rc-writer" "$SKILLS_DIR/research-query" "$SKILLS_DIR/think"
# 3. Telecharger les fichiers
echo ">>> Telechargement de la configuration RC..."
curl -fsSL "$REPO_BASE/config/settings.json" -o "$CLAUDE_DIR/settings.json.rc"
curl -fsSL "$REPO_BASE/config/CLAUDE.md" -o "$CLAUDE_DIR/CLAUDE.md"
curl -fsSL "$REPO_BASE/skills/rc-brief/SKILL.md" -o "$SKILLS_DIR/rc-brief/SKILL.md"
curl -fsSL "$REPO_BASE/skills/rc-writer/SKILL.md" -o "$SKILLS_DIR/rc-writer/SKILL.md"
curl -fsSL "$REPO_BASE/skills/research-query/SKILL.md" -o "$SKILLS_DIR/research-query/SKILL.md"
curl -fsSL "$REPO_BASE/skills/think/SKILL.md" -o "$SKILLS_DIR/think/SKILL.md"
# 4. Fusionner settings.json
if [ -f "$CLAUDE_DIR/settings.json" ]; then
echo ">>> settings.json existant - fusion..."
python3 - << 'PYMERGE'
import json, os
home = os.path.expanduser("~")
rc = json.load(open(f"{home}/.claude/settings.json.rc"))
existing = json.load(open(f"{home}/.claude/settings.json"))
for key in ["allow", "deny"]:
ep = existing.get("permissions", {}).get(key, [])
rp = rc.get("permissions", {}).get(key, [])
existing.setdefault("permissions", {})[key] = list(dict.fromkeys(ep + rp))
with open(f"{home}/.claude/settings.json", "w") as f:
json.dump(existing, f, indent=2, ensure_ascii=False)
print("Fusion OK")
PYMERGE
else
cp "$CLAUDE_DIR/settings.json.rc" "$CLAUDE_DIR/settings.json"
echo ">>> settings.json cree"
fi
rm -f "$CLAUDE_DIR/settings.json.rc"
echo ""
echo "=== Installation terminee ==="
echo ""
echo "ETAPE MANUELLE :"
echo " Claude Desktop > Settings > Integrations"
echo " Connecter Microsoft 365 avec votre compte @reverdin.eu"
echo ""
echo "Skills : /rc-brief /rc-writer /research-query /think"