Configuración

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

ComponenteDescripción
SlugIdentificador único utilizado internamente y para archivos de instrucciones específicos del modo
NombreNombre para mostrar que aparece en la interfaz de Bob
Definición de rolIdentidad 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 disponiblesGrupos 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

  1. Haz clic en el icono en el panel de Bob para abrir la configuración.
  2. Selecciona la pestaña Modos.
  3. Haz clic en el botón para crear un nuevo modo.
  4. 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.
  5. 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.yaml a través de Configuración → Modos → Editar modos globales
  • Modos de proyecto: Edita .bob/custom_modes.yaml en 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
      - skill

Propiedades de configuración del modo

Grupos de herramientas disponibles

  • read: Leer archivos y directorios
  • edit: Modificar archivos (puede restringirse con fileRegex)
  • execute: Ejecutar comandos de terminal
  • mcp: Acceder a servidores MCP
  • skill: Cargar skills
  • workflow: Iniciar flujos de trabajo predefinidos
  • todo: Actualizar listas de tareas pendientes
  • subtask: Crear subtareas
  • subagent: Generar subagentes
  • mode: 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 TypeScript

Patrones regex comunes

PatrónCoincide conArchivos de ejemplo
\.md$Archivos Markdownreadme.md, docs/guide.md
^src/.*Archivos en el directorio srcsrc/app.js, src/components/button.tsx
\.(css|scss)$Archivos CSS y SCSSstyles.css, theme.scss
^(?!.*(test|spec)).*\.(js|ts)$Archivos JS/TS sin pruebasapp.js, utils.ts (no app.test.js)
Consejo:

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):

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

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:

  1. Crea un directorio .bob/rules-{mode-slug}/ en la raíz de tu proyecto (o un archivo .bobrules-{mode-slug}).
  2. Agrega archivos de instrucciones al directorio (por ejemplo, 01-style-guide.md y 02-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:

  1. Haz clic en el icono en el panel de Bob para abrir la configuración.
  2. Selecciona la pestaña Modos.
  3. Haz clic en Editar modos de proyecto para editar el archivo .bob/custom_modes.yaml.
  4. 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
      - skill

Las 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.json heredado a custom_modes.yaml al 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.

¿Cómo es este tema?