MagicCode/TEST_SHELL_COMMANDS.md
2026-10-12 00:41:17 +02:00

2.7 KiB

Test de la commande ! - Guide pratique

Test rapide

# 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

# 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