Configuration

Modes personnalisés

Adapte le comportement de Bob en créant des modes personnalisés avec des rôles spécialisés, des restrictions d'outils et des workflows d'équipe. Configure-les globalement ou par projet au format YAML.

Pourquoi utiliser des modes personnalisés

  • Spécialisation : Optimisez les modes pour des tâches spécifiques comme la génération de documentation, l'ingénierie de tests ou les audits de sécurité
  • Sécurité : Restreignez les commandes ou l'accès aux fichiers pour les opérations sensibles
  • Collaboration d'équipe : Partagez des flux de travail standardisés au sein de votre équipe
  • Expérimentation : Testez différentes configurations sans affecter les autres modes

Composants du mode

ComposantDescription
SlugIdentifiant unique utilisé en interne et pour les fichiers d'instructions spécifiques au mode
NomNom d'affichage montré dans l'interface Bob
Définition du rôleIdentité et expertise de base définissant la personnalité et le comportement de Bob
Quand utiliser(Optionnel) Conseils sur quand utiliser ce mode, utilisés par l'Orchestrator pour la coordination des tâches
Outils disponiblesGroupes d'outils et autorisations d'accès aux fichiers que le mode peut utiliser
Instructions personnalisées(Optionnel) Directives ou règles de comportement supplémentaires
Description(Optionnel) Résumé court affiché dans le sélecteur de mode
Subagents autorisés(Optionnel) Restreint les presets de subagents que le mode peut utiliser

Comment créer des modes personnalisés

Vous pouvez créer des modes personnalisés en utilisant le menu des paramètres ou en éditant manuellement les fichiers de configuration.

Utiliser le menu des paramètres

  1. Cliquez sur l'icône dans le panneau Bob pour ouvrir les paramètres.
  2. Sélectionnez l'onglet Modes.
  3. Cliquez sur le bouton pour créer un nouveau mode.
  4. Remplissez les champs pour Nom, Slug, Emplacement de sauvegarde, Définition du rôle, Quand utiliser (optionnel), Description (optionnel), Outils disponibles et Instructions personnalisées.
  5. Cliquez sur Enregistrer.

Bob enregistre le nouveau mode au format YAML. Vous pouvez ajouter des restrictions de type de fichier pour le groupe d'outils edit via la configuration manuelle YAML.

Éditer manuellement les fichiers de configuration

Vous pouvez éditer manuellement les fichiers de configuration de mode au format YAML :

  • Modes globaux : Éditez ~/.bob/settings/custom_modes.yaml via Paramètres → Modes → Éditer les modes globaux
  • Modes de projet : Éditez .bob/custom_modes.yaml dans votre projet. Cliquez sur Paramètres → Modes → Éditer les modes de projet

Ces fichiers définissent un tableau de modes personnalisés au format YAML.

Exemple (~/.bob/settings/custom_modes.yaml ou .bob/custom_modes.yaml) :

customModes:
  - slug: docs-writer
    name: 📝 Rédacteur de documentation
    description: Écrit et révise la documentation Markdown.
    roleDefinition: Vous êtes un rédacteur technique spécialisé dans la documentation claire.
    whenToUse: Utilisez ce mode pour écrire et éditer la documentation.
    customInstructions: Concentrez-vous sur la clarté et l'exhaustivité dans la documentation.
    groups:
      - read
      - - edit
        - fileRegex: ".*\\.(md|mdx)$"
          description: Fichiers Markdown uniquement
      - skill

Propriétés de configuration du mode

Groupes d'outils disponibles

  • read : Lire les fichiers et répertoires
  • edit : Modifier les fichiers (peut être restreint avec fileRegex)
  • execute : Exécuter des commandes de terminal
  • mcp : Accéder aux serveurs MCP
  • skill : Charger les skills
  • workflow : Lancer des workflows prédéfinis
  • todo : Mettre à jour les listes de tâches
  • subtask : Créer des sous-tâches
  • subagent : Générer des subagents
  • mode : Basculer vers un autre mode

Restrictions de fichiers pour l'outil d'édition

Restreignez les fichiers qu'un mode peut éditer avec fileRegex au format YAML :

groups:
  - read
  - - edit
    - fileRegex: ".*\\.(js|ts)$"
      description: Fichiers JavaScript et TypeScript uniquement

Motifs regex courants

MotifCorrespond àExemples de fichiers
\.md$Fichiers Markdownreadme.md, docs/guide.md
^src/.*Fichiers dans le répertoire srcsrc/app.js, src/components/button.tsx
\.(css|scss)$Fichiers CSS et SCSSstyles.css, theme.scss
^(?!.*(test|spec)).*\.(js|ts)$Fichiers JS/TS sans testsapp.js, utils.ts (pas app.test.js)
Conseil :

Demandez à Bob de générer des motifs regex pour vous au lieu de les écrire manuellement.

Ajouter des instructions spécifiques au mode

Vous pouvez ajouter des instructions spécifiques au mode en utilisant soit une structure de répertoire (préférée) soit un fichier unique.

Méthode préférée (structure de répertoire) :

01-style-guide.md
02-formatting.txt

Méthode alternative (fichier unique) :

.bobrules-{mode-slug}

La méthode du répertoire a la priorité si les deux existent. Les fichiers dans le répertoire sont chargés par ordre alphabétique et combinés avec la propriété customInstructions de votre configuration de mode.

Pour ajouter des instructions spécifiques au mode :

  1. Créez un répertoire .bob/rules-{mode-slug}/ à la racine de votre projet (ou un fichier .bobrules-{mode-slug}).
  2. Ajoutez des fichiers d'instructions au répertoire (par exemple, 01-style-guide.md et 02-formatting.txt).

Bob charge automatiquement ces instructions lorsque vous utilisez le mode.

Comment remplacer les modes par défaut

Vous pouvez remplacer les modes Bob par défaut (comme Agent, Ask ou Plan) en créant un mode personnalisé avec le même slug dans votre configuration de projet.

Pour remplacer un mode par défaut :

  1. Cliquez sur l'icône dans le panneau Bob pour ouvrir les paramètres.
  2. Sélectionnez l'onglet Modes.
  3. Cliquez sur Éditer les modes de projet pour éditer le fichier .bob/custom_modes.yaml.
  4. Ajoutez votre configuration de mode avec le slug du mode par défaut que vous souhaitez remplacer :
customModes:
  - slug: ask  # Correspond au mode Ask par défaut
    name: ❓ Ask
    roleDefinition: Tu es un assistant compétent pour cette base de code React et TypeScript.
    whenToUse: Utilise ce mode pour poser des questions sur la base de code.
    customInstructions: Référence toujours les fichiers pertinents dans tes réponses. Suggère le mode Ask si l'utilisateur essaie de faire des modifications.
    groups:
      - read
      - mcp
      - skill

Les remplacements spécifiques au projet ont la priorité sur les remplacements globaux, qui ont la priorité sur les valeurs par défaut.

Format YAML

YAML est le format préféré et recommandé pour les modes personnalisés :

Avantages de YAML :

  • Meilleure lisibilité avec une structure basée sur l'indentation
  • Prend en charge les commentaires (#)
  • Syntaxe de chaîne multiligne plus propre
  • Moins de ponctuation requise
  • Plus facile à éditer et à maintenir

Migration automatique :

  • Modes globaux : Migrés automatiquement de l'ancien custom_modes.json vers custom_modes.yaml au démarrage
  • Modes de projet : Convertis en YAML lors de l'édition via l'interface utilisateur

Bien que les fichiers au format JSON hérité soient toujours pris en charge pour la rétrocompatibilité, tous les nouveaux modes doivent être créés au format YAML.

En savoir plus

Passe à la pratique et étends les capacités de Bob en créant un mode personnalisé de product manager.

Comment trouvez-vous ce sujet ?