refactor: installation par git clone, plus de subtree dans le projet hote

This commit is contained in:
2026-03-27 11:28:07 +01:00
parent ba0555f02b
commit 686fa7c064
3 changed files with 28 additions and 83 deletions

View File

@@ -40,83 +40,38 @@ Le serveur MCP lance aichat au démarrage sur un port libre. Qwen3 dispose d'out
## Installation dans un projet existant
### 1. Ajouter CrazyClaude comme subtree
`.claude/` n'est pas commité dans le projet hôte — il est installé localement comme un venv.
Chaque développeur lance `install.sh` une fois.
Depuis la racine de votre projet (jj colocalisé git) :
### 1. Cloner CrazyClaude
```sh
git subtree add --prefix .claude https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git main --squash
git clone https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git .claude
```
Le contenu du repo s'installe directement dans `.claude/` — agents, hooks, mcp, etc.
### 2. Ajouter llm-functions comme subtree
### 2. Cloner llm-functions
```sh
git subtree add --prefix .claude/llm-functions https://github.com/sigoden/llm-functions.git main --squash
git clone https://github.com/sigoden/llm-functions.git .claude/llm-functions
```
### 3. Construire les outils llm-functions
Choisissez les outils à activer en éditant `.claude/llm-functions/tools.txt`, puis :
### 3. Lancer le script d'installation
```sh
cd .claude/llm-functions && argc build
bash .claude/install.sh
```
Les outils activés par défaut :
Le script :
- crée le virtualenv Python
- construit les outils llm-functions
- rend les hooks exécutables
- enregistre le serveur MCP dans Claude Code
- ajoute `.claude/` au `.gitignore` du projet
```
fs_cat.sh
fs_ls.sh
fs_mkdir.sh
fs_write.sh
fs_patch.sh
execute_command.sh
fetch_url_via_curl.sh
web_search_aichat.sh
execute_py_code.py
```
### 4. Créer le virtualenv Python
```sh
cd .claude
python3 -m venv venv
venv/bin/pip install -r mcp/qwen3-mcp/requirements.txt
```
### 5. Configurer aichat
Vérifiez que aichat peut accéder à LM Studio et que le modèle `qwen/qwen3-coder-next` est disponible :
```sh
aichat --list-models | grep qwen
```
### 6. Enregistrer le serveur MCP
```sh
claude mcp add --transport stdio qwen3 -- .claude/venv/bin/python3 .claude/mcp/qwen3-mcp/server.py
```
Vérifier :
```sh
claude mcp list
# qwen3: ... - ✓ Connected
```
### 7. Adapter CLAUDE.md à votre projet
### 4. Adapter CLAUDE.md à votre projet
Éditez `.claude/CLAUDE.md` : mettez à jour la section `## Stack` et les heuristiques de délégation.
### 8. Rendre les hooks exécutables
```sh
chmod +x .claude/hooks/*.sh
```
---
## Structure
@@ -203,18 +158,9 @@ printf ".claude/venv/\n.claude/logs/\n.claude/llm-functions/bin/\n.claude/llm-fu
## Mise à jour
Utilisez le script inclus depuis la racine de votre projet :
```sh
bash .claude/update_crazyclaude.sh
```
Ou manuellement :
```sh
git subtree pull --prefix .claude https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git main --squash
git subtree pull --prefix .claude/llm-functions https://github.com/sigoden/llm-functions.git main --squash
cd .claude/llm-functions && argc build
```
jj voit chaque commit résultant comme un commit ordinaire dans son graphe.
Le script fait `git pull` sur `.claude/` et `.claude/llm-functions/` puis reconstruit les outils.
L'historique du projet hôte n'est pas affecté.