diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..d7642d8 --- /dev/null +++ b/setup.sh @@ -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"