Configuração

Regras personalizadas

As regras personalizadas influenciam como Bob Shell responde aos teus pedidos no ambiente de terminal, alinhando o output com as tuas preferências específicas e os requisitos do projeto. Podes controlar o estilo de código, a abordagem de documentação e os processos de tomada de decisão.

O que são regras personalizadas?

As regras personalizadas estendem o comportamento padrão do Bob Shell definindo preferências, restrições e diretrizes que orientam como Bob Shell aborda as tarefas para corresponder às tuas necessidades ao trabalhar no ambiente de terminal.

Os usos comuns incluem:

  • Preferências de estilo de código (indentação, convenções de nomenclatura)
  • Formatos e padrões de documentação
  • Metodologias e requisitos de testes
  • Fluxos de trabalho e processos do projeto
  • Convenções específicas da equipa

Âmbitos das regras

Bob Shell suporta dois âmbitos de regras que determinam onde as tuas regras se aplicam:

  • Regras globais: Aplicam-se automaticamente em todos os teus projetos
  • Regras de workspace: Aplicam-se apenas no teu projeto atual

Usa regras globais para padrões pessoais ou de toda a organização. Usa regras de workspace para requisitos específicos do projeto.

Métodos de configuração

Bob Shell usa o mesmo sistema de regras personalizadas que IBM Bob IDE.

Configuração baseada em ficheiros

A abordagem mais simples usa ficheiros únicos na raiz do teu workspace:

  • .bobrules - Regras gerais do workspace
  • .bobrules-code - Regras para o modo Code
  • .bobrules-{modeSlug} - Regras para qualquer modo

Cria um ficheiro .bobrules:

# Na raiz do teu projeto
echo "Use 4 spaces for indentation" > .bobrules

Configuração baseada em diretórios

Para melhor organização, usa diretórios:

Estrutura do workspace:

.bob/
├── rules/              # Regras gerais
│   └── coding-style.md
└── rules-code/         # Regras do modo Code
    └── typescript.md

Estrutura global:

Linux/macOS: ~/.bob/rules/ Windows: %USERPROFILE%\.bob\rules\

Criar regras de workspace:

mkdir -p .bob/rules
echo "# Project standards" > .bob/rules/coding-style.md

Criar regras globais:

# Linux/macOS
mkdir -p ~/.bob/rules
echo "# Global standards" > ~/.bob/rules/coding-standards.md

# Windows
mkdir %USERPROFILE%\.bob\rules
echo # Global standards > %USERPROFILE%\.bob\rules\coding-standards.md

Prioridade das regras

Bob Shell combina regras de múltiplas fontes nesta ordem:

  1. Regras globais (~/.bob/rules/)
  2. Regras de workspace (.bob/rules/)

Em cada nível, as regras específicas do modo são carregadas antes das regras gerais. As regras de workspace podem substituir as regras globais.

Escrever regras eficazes

Sê específico e acionável

Bom: "Always use relative paths when suggesting file operations in the terminal"

Evita: "Use good paths"

Usa uma estrutura clara

Organiza as regras por tema:

# Shell Commands
- Prefer using standard Unix commands over specialized tools when possible
- Include explanations of what each flag does

# Script Style
- Format shell script examples with proper error handling
- Use portable shell syntax that works across bash, zsh, and other common shells

# File Operations
- Always check for file existence before operations in shell scripts
- Always use relative paths when suggesting file operations

Exemplos de regras eficazes

  • "Always use relative paths when suggesting file operations in the terminal"
  • "Prefer using standard Unix commands over specialized tools when possible"
  • "Format shell script examples with proper error handling"
  • "When suggesting commands, include explanations of what each flag does"
  • "Always check for file existence before operations in shell scripts"
  • "Use portable shell syntax that works across bash, zsh, and other common shells"

Configuração avançada

Regras específicas por modo

Direciona modos específicos com diretórios dedicados:

DiretórioFinalidade
rules/Regras gerais para todos os modos
rules-code/Apenas o modo Code
rules-plan/Apenas o modo Plan
rules-{mode}/Qualquer modo personalizado

Usar ficheiros AGENTS.md

Para padronização da equipa, podes usar um ficheiro AGENTS.md na raiz do teu workspace:

# Team Standards
- Follow company coding guidelines
- Use approved libraries only
- Document all API changes

Detalhes importantes:

  • Carregado automaticamente por padrão
  • Versiona com o teu projeto
  • Desativa com "bob-shell.useAgentRules": false nas definições
  • Carregado após as regras específicas do modo, mas antes das regras gerais do workspace

Comportamento dos ficheiros

  • Leitura recursiva: Bob Shell lê todos os ficheiros nos diretórios de regras, incluindo subdiretórios
  • Ordem alfabética: Os ficheiros são processados em ordem alfabética pelo nome do ficheiro
  • Filtragem automática: Exclui ficheiros de cache (.DS_Store, *.bak, *.cache, *.log, *.tmp, Thumbs.db)
  • Links simbólicos: Suportados com profundidade máxima de 5
  • Ficheiros vazios: Ignorados silenciosamente

Padronização da equipa

Padrões ao nível do projeto

Usa diretórios .bob/rules/ do workspace sob controlo de versões:

# Adicionar ao controlo de versões
git add .bob/rules/
git commit -m "Add Bob custom rules"

Isto garante um comportamento consistente entre os membros da equipa que usam Bob Shell para projetos específicos.

Padrões de toda a organização

Distribui regras globais aos membros da equipa:

  1. Cria um repositório de regras partilhado
  2. Os membros da equipa clonam para ~/.bob/rules/
  3. Atualiza periodicamente para garantir consistência

Abordagem híbrida

Podes combinar ambas as abordagens:

  • Regras globais para padrões da organização
  • Regras de workspace para requisitos específicos do projeto
  • As regras de workspace substituem as regras globais quando necessário
Como está este tópico?