# Test de la commande `!` - Guide pratique ## Test rapide ```bash # 1. Vérifier que tout compile et teste pnpm typecheck && pnpm test && pnpm build # 2. Lancer MagicCode pnpm dev # 3. Dans l'interface, tester les commandes suivantes: ``` ## Exemples de test dans MagicCode ### Test 1 : Commande simple ``` Mon utilisateur : !whoami ``` **Résultat attendu :** Affiche votre nom d'utilisateur ### Test 2 : Commande avec arguments ``` Fichiers du dossier : !`ls -la` ``` **Résultat attendu :** Liste détaillée des fichiers ### Test 3 : Commandes multiples ``` User: !whoami Dir: !pwd Files: !`ls | wc -l` ``` **Résultat attendu :** Les 3 commandes sont exécutées et leurs résultats affichés ### Test 4 : Commande avec erreur ``` Test erreur : !`commande_inexistante` ``` **Résultat attendu :** Message d'erreur clair, pas de crash ### Test 5 : Variables d'environnement ``` Path: !`echo $PATH` ``` **Résultat attendu :** Affiche la variable PATH ### Test 6 : Commande personnalisée ``` /sysinfo ``` **Résultat attendu :** Exécute toutes les commandes `!` du fichier `.claude/commands/sysinfo.md` ## Vérifications automatiques ```bash # Tests unitaires uniquement pour shell-commands pnpm test shell-commands # Tous les tests pnpm test # TypeCheck pnpm typecheck ``` ## Debugging Si problème, vérifier : 1. **Syntaxe correcte** : `!commande` ou `!`commande avec args`` 2. **Backticks** : Utilisez ` pour les espaces 3. **Permissions** : La commande peut être exécutée dans votre terminal 4. **Timeout** : La commande se termine en moins de 30s ## Structure du code ``` packages/ext-claudecode/src/ ├── shell-commands.ts # Logique principale ├── shell-commands.test.ts # Tests unitaires ├── commands.ts # Intégration dans les commandes ├── mode.ts # Configuration du mode └── index.ts # Exports ``` ## Logs de debug Pour voir les détails d'exécution, ajouter des console.log dans : - `packages/cli/src/index.ts` ligne ~232 (expansion) - `packages/ext-claudecode/src/shell-commands.ts` ligne ~60 (exécution) ## Tests manuels recommandés - [ ] Commande simple sans arguments - [ ] Commande avec arguments (backticks) - [ ] Plusieurs commandes dans un prompt - [ ] Commande qui échoue - [ ] Commande longue (mais < 30s) - [ ] Commande personnalisée (.claude/commands/) - [ ] Commande avec variables $1, $2 + ! - [ ] Vérifier les messages d'info affichés ## Problèmes connus Aucun problème connu à ce stade. ## Support Pour plus d'informations : - Guide utilisateur : `packages/ext-claudecode/SHELL_COMMANDS.md` - Documentation technique : `IMPLEMENTATION_SUMMARY.md` - Liste des changements : `FILES_CHANGES.md`