114 lines
2.7 KiB
Markdown
114 lines
2.7 KiB
Markdown
# 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`
|