Configurazione

Regole personalizzate

Le regole personalizzate influenzano il modo in cui Bob Shell risponde alle tue richieste nell'ambiente terminale, allineando l'output alle tue preferenze specifiche e ai requisiti del progetto. Puoi controllare lo stile di codifica, l'approccio alla documentazione e i processi decisionali.

Cosa sono le regole personalizzate?

Le regole personalizzate estendono il comportamento predefinito di Bob Shell definendo preferenze, vincoli e linee guida che indicano come Bob Shell si approccia ai task per soddisfare le tue esigenze quando lavori nell'ambiente terminale.

Gli usi comuni includono:

  • Preferenze di stile di codifica (indentazione, convenzioni di denominazione)
  • Formati e standard di documentazione
  • Metodologie e requisiti di test
  • Flussi di lavoro e processi del progetto
  • Convenzioni specifiche del team

Ambiti delle regole

Bob Shell supporta due ambiti di regole che determinano dove si applicano le tue regole:

  • Regole globali: Si applicano automaticamente a tutti i tuoi progetti
  • Regole workspace: Si applicano solo all'interno del tuo progetto corrente

Usa le regole globali per gli standard personali o dell'organizzazione. Usa le regole workspace per i requisiti specifici del progetto.

Metodi di configurazione

Bob Shell usa lo stesso sistema di regole personalizzate di IBM Bob IDE.

Configurazione basata su file

L'approccio più semplice usa singoli file nella radice del tuo workspace:

  • .bobrules - Regole generali del workspace
  • .bobrules-code - Regole per la modalità Code
  • .bobrules-{modeSlug} - Regole per qualsiasi modalità

Crea un file .bobrules:

# Nella radice del tuo progetto
echo "Use 4 spaces for indentation" > .bobrules

Configurazione basata su directory

Per una migliore organizzazione, usa le directory:

Struttura workspace:

.bob/
├── rules/              # Regole generali
│   └── coding-style.md
└── rules-code/         # Regole per la modalità Code
    └── typescript.md

Struttura globale:

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

Crea regole workspace:

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

Crea regole globali:

# 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

Priorità delle regole

Bob Shell combina le regole da più fonti in questo ordine:

  1. Regole globali (~/.bob/rules/)
  2. Regole workspace (.bob/rules/)

All'interno di ogni livello, le regole specifiche della modalità vengono caricate prima delle regole generali. Le regole workspace possono sostituire le regole globali.

Scrivere regole efficaci

Sii specifico e pratico

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

Evita: "Use good paths"

Usa una struttura chiara

Organizza le regole per argomento:

# 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

Esempi di regole efficaci

  • "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"

Configurazione avanzata

Regole specifiche per modalità

Assegna directory dedicate a modalità specifiche:

DirectoryScopo
rules/Regole generali per tutte le modalità
rules-code/Solo modalità Code
rules-plan/Solo modalità Plan
rules-{mode}/Qualsiasi modalità personalizzata

Usare i file AGENTS.md

Per la standardizzazione del team, puoi usare un file AGENTS.md nella radice del tuo workspace:

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

Dettagli chiave:

  • Caricato automaticamente per impostazione predefinita
  • Gestisci la versione con il tuo progetto
  • Disabilita con "bob-shell.useAgentRules": false nelle impostazioni
  • Caricato dopo le regole specifiche della modalità ma prima delle regole generali del workspace

Comportamento dei file

  • Lettura ricorsiva: Bob Shell legge tutti i file nelle directory delle regole, incluse le sottodirectory
  • Ordine alfabetico: I file vengono elaborati in ordine alfabetico per nome file
  • Filtro automatico: Esclude i file di cache (.DS_Store, *.bak, *.cache, *.log, *.tmp, Thumbs.db)
  • Link simbolici: Supportati con una profondità massima di 5
  • File vuoti: Ignorati silenziosamente

Standardizzazione del team

Standard a livello di progetto

Usa le directory .bob/rules/ del workspace sotto controllo versione:

# Aggiungi al controllo versione
git add .bob/rules/
git commit -m "Add Bob custom rules"

Questo garantisce un comportamento coerente tra i membri del team che usano Bob Shell per progetti specifici.

Standard a livello di organizzazione

Distribuisci le regole globali ai membri del team:

  1. Crea un repository di regole condiviso
  2. I membri del team lo clonano in ~/.bob/rules/
  3. Aggiorna periodicamente per la coerenza

Approccio ibrido

Puoi combinare entrambi gli approcci:

  • Regole globali per gli standard dell'organizzazione
  • Regole workspace per i requisiti specifici del progetto
  • Le regole workspace sostituiscono le regole globali quando necessario
Come valuti questo argomento?