From 7f8bb385ff8c5bd33b0a6aeef785f879cc7fd9eb Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Fri, 27 Mar 2026 10:37:01 +0100 Subject: [PATCH] add: script d'installation CrazyClaude --- install.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 install.sh diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..fbe0727 --- /dev/null +++ b/install.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash +# Installe CrazyClaude dans le projet courant. +# À lancer depuis la racine du projet après git subtree add. +# +# Usage : bash .claude/install.sh + +set -euo pipefail + +CLAUDE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_DIR="$(dirname "$CLAUDE_DIR")" + +require() { + command -v "$1" &>/dev/null || { echo "ERREUR : '$1' introuvable dans le PATH" >&2; exit 1; } +} + +require python3 +require argc +require jq +require aichat +require claude + +echo "=== Virtualenv Python ===" +python3 -m venv "$CLAUDE_DIR/venv" +"$CLAUDE_DIR/venv/bin/pip" install -q -r "$CLAUDE_DIR/mcp/qwen3-mcp/requirements.txt" +echo "OK" + +echo "" +echo "=== Construction des outils llm-functions ===" +if [[ -f "$CLAUDE_DIR/llm-functions/Argcfile.sh" ]]; then + argc build --arcgfile "$CLAUDE_DIR/llm-functions/Argcfile.sh" + echo "OK" +else + echo "WARN : llm-functions non trouvé — lance d'abord :" + echo " git subtree add --prefix .claude/llm-functions https://github.com/sigoden/llm-functions.git main --squash" +fi + +echo "" +echo "=== Hooks exécutables ===" +chmod +x "$CLAUDE_DIR/hooks/"*.sh +echo "OK" + +echo "" +echo "=== Enregistrement du serveur MCP ===" +PYTHON="$CLAUDE_DIR/venv/bin/python3" +SERVER="$CLAUDE_DIR/mcp/qwen3-mcp/server.py" + +if claude mcp list 2>/dev/null | grep -q "^qwen3:"; then + echo "MCP qwen3 déjà enregistré — mise à jour" + claude mcp remove qwen3 2>/dev/null || true +fi + +claude mcp add --transport stdio qwen3 -- "$PYTHON" "$SERVER" +echo "OK" + +echo "" +echo "=== Vérification ===" +claude mcp list | grep qwen3 + +echo "" +echo "Installation terminée. Éditez .claude/CLAUDE.md pour adapter au projet."