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
|
## 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
|
```sh
|
||||||
# Depuis la racine de votre projet
|
git subtree add --prefix .claude https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git main --squash
|
||||||
jj git clone https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git .claude-crazy
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Puis copiez le contenu :
|
Le contenu du repo s'installe directement dans `.claude/` — agents, hooks, mcp, etc.
|
||||||
|
|
||||||
|
### 2. Ajouter llm-functions comme subtree
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cp -r .claude-crazy/.claude ./.claude
|
git subtree add --prefix .claude/llm-functions https://github.com/sigoden/llm-functions.git main --squash
|
||||||
cp -r .claude-crazy/llm-functions ./.claude/llm-functions # si présent dans le clone
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> Avec jj colocalisé git, vous pouvez aussi utiliser subtree :
|
### 3. Construire les outils llm-functions
|
||||||
>
|
|
||||||
> ```sh
|
|
||||||
> git subtree add --prefix .claude https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git main --squash
|
|
||||||
> ```
|
|
||||||
|
|
||||||
### 2. Créer le virtualenv Python
|
Choisissez les outils à activer en éditant `.claude/llm-functions/tools.txt`, puis :
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd .claude
|
cd .claude/llm-functions && argc build
|
||||||
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
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Les outils activés par défaut :
|
Les outils activés par défaut :
|
||||||
@@ -99,7 +78,15 @@ web_search_aichat.sh
|
|||||||
execute_py_code.py
|
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 :
|
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
|
aichat --list-models | grep qwen
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. Enregistrer le serveur MCP
|
### 6. Enregistrer le serveur MCP
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
claude mcp add --transport stdio qwen3 -- .claude/venv/bin/python3 .claude/mcp/qwen3-mcp/server.py
|
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
|
# 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.
|
É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
|
```sh
|
||||||
chmod +x .claude/hooks/*.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
|
## 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
|
```sh
|
||||||
git subtree pull --prefix .claude https://gargoton.petite-maison-orange.fr/eric/CrazyClaude.git main --squash
|
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
|
||||||
|
|
||||||
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
|
|
||||||
cd .claude/llm-functions && argc build
|
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`.
|
MCP server stdio exposant un outil `qwen3_task`.
|
||||||
Lance aichat en mode serveur au démarrage et gère la boucle tool_calls.
|
Lance aichat en mode serveur au démarrage et gère la boucle tool_calls.
|
||||||
Reference in New Issue
Block a user