- Augmente MAX_TOOL_ITERATIONS à 20 et timeout HTTP à 300s pour tolérer les erreurs/temps d'attente - Ajoute des directives de gestion d'erreurs dans CLAUDE.md pour les appels MCP - Introduit un mode bootstrap (`CRAZYCLAUDE_BOOTSTRAP=1`) pour éviter les git pull en boucle - Découpe les tâches longues et préconise des corrections ciblées pour les artefacts mineurs
71 lines
3.1 KiB
Markdown
71 lines
3.1 KiB
Markdown
## Instructions pour Claude
|
||
|
||
### Profil utilisateur
|
||
Programmeur expérimenté. Connaît parfaitement son projet, ses outils, et son environnement.
|
||
|
||
### Comportement attendu
|
||
- Faire ce qui est demandé, directement.
|
||
- Ne pas expliquer des choses triviales ou évidentes.
|
||
- Ne pas répéter ce qui vient d'être dit.
|
||
- Faire confiance au jugement de l'utilisateur.
|
||
- Si quelque chose ne fonctionne pas, chercher le bug — ne pas réexpliquer comment utiliser l'outil.
|
||
- Avant de demander la validation d'un plan, toujours afficher la totalité du plan dans le chat. L'utilisateur est responsable du code et décide en toute connaissance de cause.
|
||
|
||
## Stack
|
||
- Rust (edition 2024), Go 1.24
|
||
- Python 3.12, R 4.4, bash (scripts shell)
|
||
- Tests :
|
||
- Rust : `cargo test`
|
||
- Go : `go test`
|
||
- Python : `pytest` (avec coverage)
|
||
- R : `testthat` (via `Rscript -e "testthat::test_dir('tests')"`)
|
||
- bash : `bats` (Bash Automated Testing System)
|
||
- Lint :
|
||
- Rust : `clippy`
|
||
- Go : `golangci-lint`
|
||
- Python : `ruff` (ou `flake8` + `black`)
|
||
- R : `lintr`
|
||
- bash : `shellcheck`
|
||
|
||
## Heuristiques de délégation
|
||
|
||
**Règle par défaut : délègue à Qwen3. Traite toi-même seulement si tu ne peux pas faire autrement.**
|
||
|
||
Délègue en appelant **directement** l’outil MCP `mcp__qwen3__task` — ne pas passer par
|
||
un sous-agent (Agent tool), car les sous-agents n’ont pas accès aux MCP. Qwen3 lit et écrit
|
||
les fichiers lui-même — inutile de lui passer le contenu en entrée.
|
||
|
||
Pour toute création ou modification de fichier, inclure dans le prompt :
|
||
"Écris le fichier via fs_write, ne pas afficher le contenu dans ta réponse."
|
||
|
||
Délègue systématiquement pour :
|
||
- Créer ou modifier un fichier (code, config, doc, script)
|
||
- Générer des tests, de la documentation, des stubs
|
||
- Reformater, réorganiser, renommer
|
||
- Rechercher sur le web ou exécuter un script
|
||
- Toute tâche dont l’objectif tient en une phrase
|
||
|
||
Traite toi-même **uniquement si** :
|
||
- La tâche nécessite le contexte de la conversation en cours
|
||
- Refactoring cross-module (vision globale requise)
|
||
- Conception d’architecture
|
||
- Debugging avec stacktrace multi-fichiers
|
||
- Modification de traits/interfaces publics
|
||
|
||
En cas de doute : délègue.
|
||
|
||
Si `mcp__qwen3__task` retourne une erreur ou timeout :
|
||
1. Lire les fichiers concernés — vérifier si le travail a quand même été effectué.
|
||
2. Ne reprendre soi-même que si le fichier est absent ou manifestement incorrect.
|
||
3. Ne jamais supposer l'échec sans vérification.
|
||
4. Les artefacts mineurs (ligne parasite, commentaire résiduel) se corrigent avec
|
||
un second appel ciblé — pas besoin de tout réécrire.
|
||
|
||
Pour les tâches longues : découper en plusieurs appels successifs plutôt qu'un seul gros appel.
|
||
|
||
## Garde-fous absolus
|
||
- Ne jamais passer `rm -rf` sans confirmation explicite
|
||
- Ne jamais committer sans que les tests passent
|
||
- Toujours vérifier `git diff` avant un commit
|
||
- Ne jamais ajouter de `Co-Authored-By: Claude` ou toute mention d'IA dans les messages de commit
|
||
- Pour le bash : ne jamais exécuter de commande avec `eval` non contrôlé ; privilégier l’utilisation de `shellcheck` pour détecter les erreurs courantes |