Fonctionnalités

Slash commands

Crée des slash commands personnalisés pour automatiser les tâches répétitives, exécuter des commandes intégrées et étendre les fonctionnalités de Bob avec de simples fichiers markdown.

Vue d'ensemble

Pour commencer, tape / dans le chat pour voir toutes les commandes disponibles, ou crée les tiennes en ajoutant un fichier markdown dans .bob/commands/ ou ~/.bob/commands/.

Avantages clés :

  • Automatisation du workflow : Transforme des processus complexes en plusieurs étapes en commandes uniques
  • Standardisation de l'équipe : Partage des commandes avec ton équipe pour des pratiques cohérentes
  • Préservation du contexte : Inclus le contexte spécifique au projet dans chaque commande
  • Accès rapide : Recherche floue et autocomplétion pour une découverte instantanée des commandes

Commandes intégrées

Bob inclut plusieurs commandes intégrées qui fournissent des fonctionnalités de base :

/init

Initialise un nouveau projet ou workspace avec Bob. Cette commande aide à configurer la configuration et la structure nécessaires pour travailler avec Bob dans ton projet.

/review

Révise les modifications de code avec une analyse complète. Cette commande peut être utilisée de plusieurs façons :

  • /review – Révise les modifications locales non committées dans ton répertoire de travail
  • /review <branch> – Compare un branch avec ton branch actuel (HEAD)
  • /review #<issue-number> --issue-coverage – Valide les modifications locales par rapport à un issue GitHub
  • /review <issue-url> --issue-coverage – Valide les modifications locales par rapport à une URL d'issue GitHub

La commande de révision effectue une analyse approfondie du code incluant la détection de bugs, les vérifications de sécurité, les problèmes de performance et la cohérence du style.

/create-pr

Crée un pull request avec une description générée par IA. Cette commande analyse tes modifications et génère une description complète du PR basée sur le diff entre les branches.

Créer des commandes personnalisées

Les commandes personnalisées étendent les fonctionnalités de Bob en ajoutant des fichiers markdown dans des répertoires spécifiques :

  • Spécifique au projet : .bob/commands/ dans la racine de ton workspace
  • Global : ~/.bob/commands/ dans ton répertoire home

Le nom du fichier devient le nom de la commande. Par exemple :

  • review.md/review
  • test-api.md/test-api
  • deploy-check.md/deploy-check

Traitement des noms de commandes

Lors de la création de commandes via l'interface, les noms de commandes sont automatiquement traités :

  • Convertis en minuscules
  • Espaces remplacés par des tirets
  • Caractères spéciaux supprimés
  • Tirets de début/fin supprimés

Exemple : « Ma Super Commande ! » devient ma-super-commande

Format de commande de base

Crée une commande simple en ajoutant un fichier markdown :

Help me review this code for security issues and suggest improvements.

Commande avancée avec frontmatter

Ajoute des métadonnées en utilisant le frontmatter pour des fonctionnalités améliorées :

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.

Champs du frontmatter

  • description : Apparaît dans le menu des commandes pour aider les utilisateurs à comprendre l'objectif de la commande
  • argument-hint : Fournit un indice sur les arguments attendus lors de l'utilisation de la commande

Interface de gestion des commandes

Bob fournit une interface dédiée pour gérer les commandes personnalisées.

Clique sur l'icône des commandes dans le panneau Bob pour ouvrir le gestionnaire de commandes.

Créer une nouvelle commande

  1. Tape le nom de ta commande dans le champ de saisie (p. ex., « Nom de commande exemple »)
  2. Clique sur le bouton + pour créer la commande
  3. Un nouveau fichier sera créé et ouvert automatiquement (p. ex., nom-de-commande-exemple.md)

Utiliser les slash commands

Tape / dans le chat pour voir un menu unifié contenant les deux types de commandes. Le menu affiche à la fois les commandes de workflow personnalisées et les commandes de changement de mode dans la même interface.

  1. Menu unifié : Les commandes personnalisées et les commandes de changement de mode apparaissent ensemble
  2. Autocomplétion : Commence à taper pour filtrer les commandes (p. ex., /exe affiche exemple-de-commande)
  3. Recherche floue : Trouve des commandes même avec des correspondances partielles
  4. Aperçu de description : Vois les descriptions des commandes dans le menu
  5. Indicateurs visuels : Les commandes de mode sont distinguées des commandes personnalisées avec des icônes spéciales

Hints d'arguments

Les hints d'arguments fournissent une aide instantanée pour les slash commands, t'indiquant quel type d'information fournir lorsqu'une commande attend une saisie supplémentaire.

Lorsque tu tapes / pour ouvrir le menu des commandes, les commandes qui attendent des arguments affichent un hint en gris clair à côté d'elles. Ce hint t'indique quel type d'argument la commande attend.

Par exemple :

  • /mode <mode_slug> – Le hint <mode_slug> indique que tu dois fournir un nom de mode comme code ou debug
  • /api-endpoint <endpoint-name> <http-method> – Indique que tu as besoin à la fois d'un nom d'endpoint et d'une méthode HTTP

Après avoir sélectionné la commande, elle sera insérée dans le champ de saisie du chat suivi d'un espace. Le hint n'est pas inséré ; c'est uniquement un guide visuel pour t'aider à savoir quoi taper ensuite. Tu dois ensuite saisir manuellement l'argument après la commande.

Ajouter des hints d'arguments aux commandes personnalisées

Tu peux ajouter des hints d'arguments à tes commandes personnalisées en utilisant le champ argument-hint dans le frontmatter :

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.

Cela s'affichera comme /api-endpoint <endpoint-name> <http-method> dans le menu des commandes.

Bonnes pratiques pour les hints d'arguments

  • Sois spécifique : Utilise des espaces réservés descriptifs comme <file-path> plutôt que des génériques comme <arg>
  • Montre plusieurs arguments : Si ta commande nécessite plusieurs entrées, montre-les toutes : <source> <destination>
  • Utilise un format cohérent : Entoure toujours les espaces réservés de chevrons : <espace-réservé>
  • Reste concis : Les hints doivent être brefs et clairs

Questions fréquentes

  • « Que se passe-t-il si je ne fournis pas l'argument ? » La commande pourrait ne pas fonctionner comme prévu, ou elle pourrait te demander plus d'informations. Le hint est là pour t'aider à bien faire dès la première fois.
  • « Toutes les commandes ont-elles des hints ? » Non, seules les commandes conçues pour prendre des arguments auront des hints. Les commandes qui fonctionnent sans entrée supplémentaire n'afficheront pas de hints.
  • « Puis-je utiliser une commande sans remplacer le hint ? » Le texte du hint (comme <mode_slug>) doit être remplacé par des valeurs réelles. Laisser le texte du hint entraînera probablement l'échec de la commande ou un comportement inattendu.

Bonnes pratiques

Nommage des commandes

  • Utilise des noms descriptifs et orientés action
  • Garde les noms concis mais clairs
  • Utilise des tirets pour les commandes à plusieurs mots
  • Évite les noms génériques comme help ou test
  • Note : Les noms sont automatiquement slugifiés (minuscules, caractères spéciaux supprimés)
  • L'extension .md est automatiquement ajoutée/supprimée si nécessaire

Contenu des commandes

  • Commence par une directive claire
  • Utilise des formats structurés (listes, sections)
  • Inclus des exigences spécifiques
  • Référence les conventions du projet
  • Garde les commandes focalisées sur une seule tâche

Organisation

  • Regroupe les commandes liées dans des sous-répertoires
  • Utilise des modèles de nommage cohérents
  • Documente les commandes complexes
  • Versionne tes commandes
  • Partage les commandes d'équipe dans le dépôt du projet

Dépannage

Les commandes n'apparaissent pas

  • Vérifie l'emplacement du fichier : Assure-toi que les fichiers de commandes personnalisées sont dans .bob/commands/ ou ~/.bob/commands/
  • Vérifie l'extension du fichier : Les commandes personnalisées doivent être des fichiers .md

Commande introuvable

Lorsqu'un slash command n'est pas trouvé, le LLM verra :

The slash command '/unknown-command' was not found. Please check the command name and try again.

Conflits de commandes

  • Les commandes personnalisées du projet remplacent les commandes personnalisées globales portant le même nom
  • Utilise des noms uniques pour éviter les conflits
  • Lors de la création de noms dupliqués via l'interface, des numéros sont ajoutés (p. ex., nouvelle-commande-1, nouvelle-commande-2)

À propos des commandes de mode

Le menu slash inclut des commandes de changement de mode (comme /code, /ask) qui modifient fondamentalement le mode opérationnel de l'IA — elles n'injectent pas seulement du texte mais changent tout le contexte de l'IA. Les modes personnalisés que tu crées apparaissent également comme des slash commands (p. ex., un mode avec le slug reviewer devient /reviewer). Ces commandes de mode ne peuvent pas être remplacées par des commandes de workflow personnalisées.

Pour en savoir plus, consulte Modes et Modes personnalisés.

Comment trouvez-vous ce sujet ?