Configuração

Modos personalizados

Adapte o comportamento do Bob criando modos personalizados com funções especializadas, restrições de ferramentas e workflows de equipe. Configure globalmente ou por projeto usando o formato YAML.

Por que usar modos personalizados

  • Especialização: Otimize modos para tarefas específicas como escrita de documentação, engenharia de testes ou revisões de segurança
  • Segurança: Restrinja comandos ou acesso a arquivos para operações sensíveis
  • Colaboração em equipe: Compartilhe fluxos de trabalho padronizados em sua equipe
  • Experimentação: Teste diferentes configurações sem afetar outros modos

Componentes do modo

ComponenteDescrição
SlugIdentificador único usado internamente e para arquivos de instrução específicos do modo
NomeNome de exibição mostrado na interface Bob
Definição de funçãoIdentidade e expertise central que define a personalidade e comportamento do Bob
Quando usar(Opcional) Orientação sobre quando usar este modo, usado pelo Orchestrator para coordenação de tarefas
Ferramentas disponíveisGrupos de ferramentas e permissões de acesso a arquivos que o modo pode usar
Instruções personalizadas(Opcional) Diretrizes ou regras comportamentais adicionais
Descrição(Opcional) Resumo curto mostrado no seletor de modo
Subagentes permitidos(Opcional) Restringe quais presets de subagente o modo pode usar

Como criar modos personalizados

Você pode criar modos personalizados usando o menu de configurações ou editando manualmente arquivos de configuração.

Use o menu de configurações

  1. Clique no ícone no painel Bob para abrir Configurações.
  2. Selecione a aba Modos.
  3. Clique no botão para criar um novo modo.
  4. Preencha os campos para Nome, Slug, Local de Salvamento, Definição de Função, Quando Usar (opcional), Descrição (opcional), Ferramentas Disponíveis e Instruções Personalizadas.
  5. Clique em Salvar.

Bob salva o novo modo em formato YAML. Você pode adicionar restrições de tipo de arquivo para o grupo de ferramentas edit através de configuração manual YAML.

Edite arquivos de configuração manualmente

Você pode editar manualmente arquivos de configuração de modo em formato YAML:

  • Modos globais: Edite ~/.bob/settings/custom_modes.yaml via Configurações → Modos → Editar Modos Globais
  • Modos de projeto: Edite .bob/custom_modes.yaml no seu projeto. Clique em Configurações → Modos → Editar Modos de Projeto

Esses arquivos definem um array de modos personalizados em formato YAML.

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

customModes:
  - slug: docs-writer
    name: 📝 Escritor de Documentação
    description: Escreve e revisa documentação Markdown.
    roleDefinition: Você é um escritor técnico especializado em documentação clara.
    whenToUse: Use este modo para escrever e editar documentação.
    customInstructions: Foque em clareza e completude na documentação.
    groups:
      - read
      - - edit
        - fileRegex: ".*\\.(md|mdx)$"
          description: Apenas arquivos Markdown
      - skill

Propriedades de configuração de modo

Grupos de ferramentas disponíveis

  • read: Ler arquivos e diretórios
  • edit: Modificar arquivos (pode ser restrito com fileRegex)
  • execute: Executar comandos de terminal
  • mcp: Acessar servidores MCP
  • skill: Carregar skills
  • workflow: Iniciar workflows predefinidos
  • todo: Atualizar listas de tarefas TODO
  • subtask: Criar subtarefas
  • subagent: Gerar subagentes
  • mode: Mudar para outro modo

Restrições de arquivo para a ferramenta edit

Restrinja quais arquivos um modo pode editar usando fileRegex em formato YAML:

groups:
  - read
  - - edit
    - fileRegex: ".*\\.(js|ts)$"
      description: Apenas arquivos JavaScript e TypeScript

Padrões regex comuns

PadrãoCorrespondeArquivos de exemplo
.*\.md$Arquivos Markdownreadme.md, docs/guide.md
^src/.*Arquivos no diretório srcsrc/app.js, src/components/button.tsx
`.*.(cssscss)$`Arquivos CSS e SCSS
`^(?!.*(testspec)).*.(jsts)$`
Dica:

Peça ao Bob para gerar padrões regex para você em vez de escrevê-los manualmente.

Regras de validação importantes

  • slug deve usar apenas letras, números e hífens.
  • Mantenha cada slug único. Slugs duplicados podem impedir que os modos sejam carregados corretamente.
  • Use apenas nomes de grupo suportados. Nomes de grupo desconhecidos não concedem acesso.
  • Se você omitir groups, o modo não receberá nenhuma ferramenta agrupada.
  • Se você definir allowedSubagents, apenas os presets de subagente listados estarão disponíveis nesse modo.
  • Valores fileRegex inválidos podem impedir que o arquivo de modo seja carregado.

Adicionar instruções específicas do modo

Você pode adicionar instruções específicas do modo usando uma estrutura de diretório (preferido) ou um único arquivo.

Método preferido (estrutura de diretório):

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

Método alternativo (arquivo único):

.bobrules-{mode-slug}

O método de diretório tem precedência se ambos existirem. Arquivos no diretório são carregados alfabeticamente e combinados com a propriedade customInstructions da sua configuração de modo.

Para adicionar instruções específicas do modo:

  1. Crie um diretório .bob/rules-{mode-slug}/ na raiz do seu projeto (ou um arquivo .bobrules-{mode-slug}).
  2. Adicione arquivos de instrução ao diretório (por exemplo, 01-style-guide.md e 02-formatting.txt).

Bob carrega automaticamente essas instruções quando você usa o modo.

Como substituir modos padrão

Você pode substituir modos Bob padrão (como Agent, Ask ou Plan) criando um modo personalizado com o mesmo slug na sua configuração de projeto.

Para substituir um modo padrão:

  1. Clique no ícone no painel Bob para abrir Configurações.
  2. Selecione a aba Modos.
  3. Clique em Editar Modos de Projeto para editar o arquivo .bob/custom_modes.yaml.
  4. Adicione sua configuração de modo com o slug do modo padrão que você quer substituir:
customModes:
  - slug: ask  # Corresponde ao modo Ask padrão
    name: ❓ Ask
    roleDefinition: Você é um assistente experiente para esta base de código React e TypeScript.
    whenToUse: Use este modo para fazer perguntas sobre a base de código.
    customInstructions: Sempre faça referência a arquivos relevantes ao responder. Sugira o modo Ask se o usuário tentar fazer alterações.
    groups:
      - read
      - mcp
      - skill

Substituições específicas do projeto têm precedência sobre substituições globais, que têm precedência sobre padrões.

Formato YAML

YAML é o formato preferido e recomendado para modos personalizados:

Vantagens do YAML:

  • Mais legível com estrutura baseada em indentação
  • Suporta comentários (#)
  • Sintaxe de string multilinha mais limpa
  • Menos pontuação necessária
  • Mais fácil de editar e manter

Migração automática:

  • Modos globais: Migrados automaticamente de custom_modes.json legado para custom_modes.yaml na inicialização
  • Modos de projeto: Convertidos para YAML quando editados através da UI

Embora arquivos em formato JSON legado ainda sejam suportados para compatibilidade retroativa, todos os novos modos devem ser criados em formato YAML.

Saiba mais

Coloque a mão na massa e amplie os recursos do Bob criando um modo personalizado de product manager.

Como está este tópico?