Configurazione

Regole personalizzate

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

Cosa sono le regole personalizzate?

Le regole personalizzate estendono il comportamento predefinito di Bob definendo preferenze, vincoli e linee guida che determinano come Bob affronta le attività per soddisfare le tue esigenze.

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 di progetto
  • Convenzioni specifiche del team

Aggiungere regole personalizzate per una modalità

Puoi aggiungere regole personalizzate alle modalità in due modi:

Tramite l'interfaccia utente

Configura regole che si applicano a tutti i tuoi progetti:

  1. Fai clic sui tre punti nell'angolo in alto a destra della barra laterale di Bob.
  2. Fai clic su Modalità.
  3. Seleziona la modalità per cui vuoi modificare le regole.
  4. Fai clic su Modifica.
  5. Scorri fino a Istruzioni personalizzate specifiche della modalità (opzionale).
  6. Inserisci le tue regole.
  7. Fai clic su Salva.

Tramite file di regole specifici della modalità

Le modalità possono anche avere file di regole aggiuntivi memorizzati in directory sotto .bob/rules-{mode-slug}/:

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

I file nella directory vengono caricati in ordine alfabetico e combinati con la proprietà customInstructions dalla configurazione della modalità. Per maggiori dettagli, vedi Modalità personalizzate.

Scopri di più su come standardizzare il comportamento di Bob usando regole a livello di progetto.

Ambiti delle regole

Bob 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 standard personali o a livello di organizzazione. Usa le regole workspace per requisiti specifici del progetto.

Metodi di configurazione

Configurazione basata su directory

Usa le directory sotto .bob/ nella radice del tuo workspace:

Struttura workspace:

coding-style.md
typescript.md
  • rules/ - Regole generali per tutte le modalità
  • rules-agent/ - Regole specifiche della modalità Agent

Struttura globale:

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

Crea regole workspace:

mkdir -p .bob/rules
echo "# Standard di progetto" > .bob/rules/coding-style.md

Crea regole globali:

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

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

Priorità delle regole

Bob combina 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 sovrascrivere le regole globali.

Scrivere regole efficaci

Sii specifico e attuabile

Buono: "Usa 4 spazi per l'indentazione nei file JavaScript"

Evita: "Formatta il codice in modo carino"

Usa una struttura chiara

Organizza le regole per argomento:

# Stile del codice
- Usa camelCase per le variabili
- Usa PascalCase per le classi

# Test
- Scrivi unit test per tutte le funzioni pubbliche
- Usa Jest come framework di test

# Documentazione
- Aggiungi commenti JSDoc per le API pubbliche

Esempi di regole efficaci

  • "Usa sempre spazi per l'indentazione con una larghezza di 4 spazi"
  • "Usa camelCase per i nomi delle variabili"
  • "Scrivi unit test per tutte le nuove funzionalità"
  • "Spiega il tuo ragionamento prima di fornire il codice"
  • "Quando aggiungi funzionalità ai siti web, assicurati che siano responsive e accessibili"

Configurazione avanzata

Regole specifiche della modalità

Indirizza modalità specifiche con directory dedicate:

DirectoryScopo
rules/Regole generali per tutte le modalità
rules-agent/Solo modalità Agent
rules-plan/Solo modalità Plan
rules-ask/Solo modalità Ask
rules-{mode}/Qualsiasi modalità personalizzata

Utilizzo di file AGENTS.md

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

# Standard del team
- Segui le linee guida di codifica aziendali
- Usa solo librerie approvate
- Documenta tutte le modifiche API

Dettagli importanti:

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

Comportamento dei file

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

Standardizzazione del team

Standard a livello di progetto

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

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

Questo garantisce un comportamento coerente tra i membri del team per progetti specifici.

Standard a livello di organizzazione

Distribuisci regole globali ai membri del team:

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

Approccio ibrido

Puoi combinare entrambi gli approcci:

  • Regole globali per standard organizzativi
  • Regole workspace per requisiti specifici del progetto
  • Le regole workspace sovrascrivono le regole globali quando necessario
Come valuti questo argomento?