Modos personalizados
Personaliza el comportamiento de Bob creando modos personalizados con roles especializados, restricciones de herramientas y flujos de trabajo de equipo. Configúralos globalmente o por proyecto usando el formato YAML.
Por qué usar modos personalizados
- Especialización: Optimiza modos para tareas específicas como creación de documentación, ingeniería de pruebas o revisiones de seguridad
- Seguridad: Restringe comandos o acceso a archivos para operaciones sensibles
- Colaboración en equipo: Comparte flujos de trabajo estandarizados en tu equipo
- Experimentación: Prueba diferentes configuraciones sin afectar otros modos
Componentes del modo
| Componente | Descripción |
|---|---|
| Slug | Identificador único utilizado internamente y para archivos de instrucciones específicos del modo |
| Nombre | Nombre para mostrar que aparece en la interfaz de Bob |
| Definición de rol | Identidad central y experiencia que define la personalidad y comportamiento de Bob |
| Cuándo usar | (Opcional) Orientación sobre cuándo usar este modo, utilizada por el orquestador para coordinación de tareas |
| Herramientas disponibles | Grupos de herramientas y permisos de acceso a archivos que el modo puede usar |
| Instrucciones personalizadas | (Opcional) Directrices o reglas de comportamiento adicionales |
| Descripción | (Opcional) Resumen breve mostrado en el selector de modo |
| Subagentes permitidos | (Opcional) Restringe qué presets de subagentes puede usar el modo |
Cómo crear modos personalizados
Puedes crear modos personalizados usando el menú de configuración o editando archivos de configuración manualmente.
Usar el menú de configuración
- Haz clic en el icono en el panel de Bob para abrir la configuración.
- Selecciona la pestaña Modos.
- Haz clic en el botón para crear un nuevo modo.
- Completa los campos para Nombre, Slug, Ubicación de guardado, Definición de rol, Cuándo usar (opcional), Descripción (opcional), Herramientas disponibles e Instrucciones personalizadas.
- Haz clic en Guardar.
Bob guarda el nuevo modo en formato YAML. Puedes agregar restricciones de tipo de archivo para el grupo de herramientas edit mediante configuración manual YAML.
Editar archivos de configuración manualmente
Puedes editar archivos de configuración de modo manualmente en formato YAML:
- Modos globales: Edita
~/.bob/settings/custom_modes.yamla través de Configuración → Modos → Editar modos globales - Modos de proyecto: Edita
.bob/custom_modes.yamlen tu proyecto. Haz clic en Configuración → Modos → Editar modos de proyecto
Estos archivos definen un array de modos personalizados en formato YAML.
Ejemplo (~/.bob/settings/custom_modes.yaml o .bob/custom_modes.yaml):
customModes:
- slug: docs-writer
name: 📝 Escritor de documentación
description: Escribe y revisa documentación Markdown.
roleDefinition: Eres un redactor técnico especializado en documentación clara.
whenToUse: Usa este modo para escribir y editar documentación.
customInstructions: Enfócate en claridad y exhaustividad en la documentación.
groups:
- read
- - edit
- fileRegex: ".*\\.(md|mdx)$"
description: Solo archivos Markdown
- skillPropiedades de configuración del modo
Grupos de herramientas disponibles
read: Leer archivos y directoriosedit: Modificar archivos (puede restringirse confileRegex)execute: Ejecutar comandos de terminalmcp: Acceder a servidores MCPskill: Cargar skillsworkflow: Iniciar flujos de trabajo predefinidostodo: Actualizar listas de tareas pendientessubtask: Crear subtareassubagent: Generar subagentesmode: Cambiar a otro modo
Restricciones de archivos para la herramienta de edición
Restringe qué archivos puede editar un modo con fileRegex en formato YAML:
groups:
- read
- - edit
- fileRegex: ".*\\.(js|ts)$"
description: Solo archivos JavaScript y TypeScriptPatrones regex comunes
| Patrón | Coincide con | Archivos de ejemplo |
|---|---|---|
\.md$ | Archivos Markdown | readme.md, docs/guide.md |
^src/.* | Archivos en el directorio src | src/app.js, src/components/button.tsx |
\.(css|scss)$ | Archivos CSS y SCSS | styles.css, theme.scss |
^(?!.*(test|spec)).*\.(js|ts)$ | Archivos JS/TS sin pruebas | app.js, utils.ts (no app.test.js) |
Pídele a Bob que genere patrones regex por ti en lugar de escribirlos manualmente.
Agregar instrucciones específicas del modo
Puedes agregar instrucciones específicas del modo usando una estructura de directorio (preferido) o un solo archivo.
Método preferido (estructura de directorio):
Método alternativo (archivo único):
.bobrules-{mode-slug}El método de directorio tiene prioridad si ambos existen. Los archivos en el directorio se cargan alfabéticamente y se combinan con la propiedad customInstructions de tu configuración de modo.
Para agregar instrucciones específicas del modo:
- Crea un directorio
.bob/rules-{mode-slug}/en la raíz de tu proyecto (o un archivo.bobrules-{mode-slug}). - Agrega archivos de instrucciones al directorio (por ejemplo,
01-style-guide.mdy02-formatting.txt).
Bob carga estas instrucciones automáticamente cuando usas el modo.
Cómo sobrescribir modos predeterminados
Puedes sobrescribir modos predeterminados de Bob (como Agent, Ask o Plan) creando un modo personalizado con el mismo slug en tu configuración de proyecto.
Para sobrescribir un modo predeterminado:
- Haz clic en el icono en el panel de Bob para abrir la configuración.
- Selecciona la pestaña Modos.
- Haz clic en Editar modos de proyecto para editar el archivo
.bob/custom_modes.yaml. - Agrega tu configuración de modo con el slug del modo predeterminado que deseas sobrescribir:
customModes:
- slug: ask # Coincide con el modo Ask predeterminado
name: ❓ Ask
roleDefinition: Eres un asistente experto para esta base de código React y TypeScript.
whenToUse: Usa este modo para hacer preguntas sobre la base de código.
customInstructions: Siempre referencia archivos relevantes al responder. Sugiere el modo Ask si el usuario intenta hacer cambios.
groups:
- read
- mcp
- skillLas sobrescrituras específicas del proyecto tienen prioridad sobre las sobrescrituras globales, que tienen prioridad sobre los valores predeterminados.
Formato YAML
YAML es el formato preferido y recomendado para modos personalizados:
Ventajas de YAML:
- Mejor legibilidad con estructura basada en indentación
- Soporta comentarios (
#) - Sintaxis de cadenas multilínea más limpia
- Menos puntuación requerida
- Más fácil de editar y mantener
Migración automática:
- Modos globales: Migrados automáticamente de
custom_modes.jsonheredado acustom_modes.yamlal inicio - Modos de proyecto: Convertidos a YAML al editar a través de la interfaz de usuario
Aunque los archivos en formato JSON heredado todavía son compatibles por retrocompatibilidad, todos los nuevos modos deben crearse en formato YAML.
Más información
Ponlo en práctica y amplía las capacidades de Bob creando un modo personalizado de product manager.
Ignorar archivos
Controla a qué archivos puede acceder Bob creando un archivo `.bobignore` en tu proyecto.
Personas de agentes
Crea archivos de persona reutilizables que definen el rol, el enfoque y el acceso a tools de un subagent. Define en qué se fija un subagent, cómo formatea su salida y qué no puede hacer.