refactor: restructure repo layout
This commit is contained in:
75
README.md
75
README.md
@@ -40,49 +40,28 @@ Le serveur MCP lance aichat au démarrage sur un port libre. Qwen3 dispose d'out
|
||||
|
||||
## Installation dans un projet existant
|
||||
|
||||
### 1. Cloner ce dépôt
|
||||
### 1. Ajouter CrazyClaude comme subtree
|
||||
|
||||
Avec **Jujutsu** :
|
||||
Depuis la racine de votre projet (jj colocalisé git) :
|
||||
|
||||
```sh
|
||||
# Depuis la racine de votre projet
|
||||
jj git clone https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git .claude-crazy
|
||||
git subtree add --prefix .claude https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git main --squash
|
||||
```
|
||||
|
||||
Puis copiez le contenu :
|
||||
Le contenu du repo s'installe directement dans `.claude/` — agents, hooks, mcp, etc.
|
||||
|
||||
### 2. Ajouter llm-functions comme subtree
|
||||
|
||||
```sh
|
||||
cp -r .claude-crazy/.claude ./.claude
|
||||
cp -r .claude-crazy/llm-functions ./.claude/llm-functions # si présent dans le clone
|
||||
git subtree add --prefix .claude/llm-functions https://github.com/sigoden/llm-functions.git main --squash
|
||||
```
|
||||
|
||||
> Avec jj colocalisé git, vous pouvez aussi utiliser subtree :
|
||||
>
|
||||
> ```sh
|
||||
> git subtree add --prefix .claude https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git main --squash
|
||||
> ```
|
||||
### 3. Construire les outils llm-functions
|
||||
|
||||
### 2. Créer le virtualenv Python
|
||||
Choisissez les outils à activer en éditant `.claude/llm-functions/tools.txt`, puis :
|
||||
|
||||
```sh
|
||||
cd .claude
|
||||
python3 -m venv venv
|
||||
venv/bin/pip install -r mcp/qwen3-mcp/requirements.txt
|
||||
```
|
||||
|
||||
### 3. Installer et construire llm-functions
|
||||
|
||||
Si `llm-functions/` n'est pas déjà présent dans `.claude/` :
|
||||
|
||||
```sh
|
||||
git clone https://github.com/sigoden/llm-functions .claude/llm-functions
|
||||
```
|
||||
|
||||
Choisissez les outils à activer en éditant `.claude/llm-functions/tools.txt`, puis construisez :
|
||||
|
||||
```sh
|
||||
cd .claude/llm-functions
|
||||
argc build
|
||||
cd .claude/llm-functions && argc build
|
||||
```
|
||||
|
||||
Les outils activés par défaut :
|
||||
@@ -99,7 +78,15 @@ web_search_aichat.sh
|
||||
execute_py_code.py
|
||||
```
|
||||
|
||||
### 4. Configurer aichat
|
||||
### 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 :
|
||||
|
||||
@@ -107,7 +94,7 @@ Vérifiez que aichat peut accéder à LM Studio et que le modèle `qwen/qwen3-co
|
||||
aichat --list-models | grep qwen
|
||||
```
|
||||
|
||||
### 5. Enregistrer le serveur MCP
|
||||
### 6. Enregistrer le serveur MCP
|
||||
|
||||
```sh
|
||||
claude mcp add --transport stdio qwen3 -- .claude/venv/bin/python3 .claude/mcp/qwen3-mcp/server.py
|
||||
@@ -120,11 +107,11 @@ claude mcp list
|
||||
# qwen3: ... - ✓ Connected
|
||||
```
|
||||
|
||||
### 6. Adapter CLAUDE.md à votre projet
|
||||
### 7. Adapter CLAUDE.md à votre projet
|
||||
|
||||
Éditez `.claude/CLAUDE.md` : mettez à jour la section `## Stack` et les heuristiques de délégation.
|
||||
|
||||
### 7. Rendre les hooks exécutables
|
||||
### 8. Rendre les hooks exécutables
|
||||
|
||||
```sh
|
||||
chmod +x .claude/hooks/*.sh
|
||||
@@ -216,16 +203,18 @@ printf ".claude/venv/\n.claude/logs/\n.claude/llm-functions/bin/\n.claude/llm-fu
|
||||
|
||||
## Mise à jour
|
||||
|
||||
Avec Jujutsu colocalisé (`jj git init --colocate`), la mise à jour est gérée côté git :
|
||||
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
|
||||
```
|
||||
|
||||
jj voit le commit résultant comme un commit ordinaire dans son graphe.
|
||||
|
||||
Après mise à jour, reconstruire llm-functions si `tools.txt` a changé :
|
||||
|
||||
```sh
|
||||
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.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env -S .claude/venv/bin/python3
|
||||
#!/usr/bin/env -S venv/bin/python3
|
||||
"""
|
||||
MCP server stdio exposant un outil `qwen3_task`.
|
||||
Lance aichat en mode serveur au démarrage et gère la boucle tool_calls.
|
||||
Reference in New Issue
Block a user