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
| Composant | Description |
|---|---|
| Slug | Identifiant unique utilisé en interne et pour les fichiers d'instructions spécifiques au mode |
| Nom | Nom d'affichage montré dans l'interface Bob |
| Définition du rôle | Identité 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 disponibles | Groupes 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
- Cliquez sur l'icône dans le panneau Bob pour ouvrir les paramètres.
- Sélectionnez l'onglet Modes.
- Cliquez sur le bouton pour créer un nouveau mode.
- 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.
- 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.yamlvia Paramètres → Modes → Éditer les modes globaux - Modes de projet : Éditez
.bob/custom_modes.yamldans 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
- skillPropriétés de configuration du mode
Groupes d'outils disponibles
read: Lire les fichiers et répertoiresedit: Modifier les fichiers (peut être restreint avecfileRegex)execute: Exécuter des commandes de terminalmcp: Accéder aux serveurs MCPskill: Charger les skillsworkflow: Lancer des workflows prédéfinistodo: Mettre à jour les listes de tâchessubtask: Créer des sous-tâchessubagent: Générer des subagentsmode: 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 uniquementMotifs regex courants
| Motif | Correspond à | Exemples de fichiers |
|---|---|---|
\.md$ | Fichiers Markdown | readme.md, docs/guide.md |
^src/.* | Fichiers dans le répertoire src | src/app.js, src/components/button.tsx |
\.(css|scss)$ | Fichiers CSS et SCSS | styles.css, theme.scss |
^(?!.*(test|spec)).*\.(js|ts)$ | Fichiers JS/TS sans tests | app.js, utils.ts (pas app.test.js) |
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) :
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 :
- Créez un répertoire
.bob/rules-{mode-slug}/à la racine de votre projet (ou un fichier.bobrules-{mode-slug}). - Ajoutez des fichiers d'instructions au répertoire (par exemple,
01-style-guide.mdet02-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 :
- Cliquez sur l'icône dans le panneau Bob pour ouvrir les paramètres.
- Sélectionnez l'onglet Modes.
- Cliquez sur Éditer les modes de projet pour éditer le fichier
.bob/custom_modes.yaml. - 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
- skillLes 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.jsonverscustom_modes.yamlau 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.
Ignorer des fichiers
Contrôlez les fichiers auxquels Bob peut accéder en créant un fichier `.bobignore` dans votre projet.
Personas d'agents
Crée des fichiers de persona réutilisables qui définissent le rôle, le focus et l'accès aux tools d'un subagent. Définis ce qu'un subagent recherche, comment il formate ses résultats et ce qu'il n'est pas autorisé à faire.