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" > .bobrulesConfigurazione 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.mdStruttura globale:
Linux/macOS: ~/.bob/rules/
Windows: %USERPROFILE%\.bob\rules\
Crea regole workspace:
mkdir -p .bob/rules
echo "# Project standards" > .bob/rules/coding-style.mdCrea 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.mdPriorità delle regole
Bob Shell combina le regole da più fonti in questo ordine:
- Regole globali (
~/.bob/rules/) - 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 operationsEsempi 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:
| Directory | Scopo |
|---|---|
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 changesDettagli chiave:
- Caricato automaticamente per impostazione predefinita
- Gestisci la versione con il tuo progetto
- Disabilita con
"bob-shell.useAgentRules": falsenelle 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:
- Crea un repository di regole condiviso
- I membri del team lo clonano in
~/.bob/rules/ - 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
Scorciatoie da tastiera
Trova tutte le scorciatoie disponibili per funzione, con varianti specifiche per piattaforma ove applicabile.
Modalità personalizzate
Puoi creare modalità personalizzate per adattare il comportamento di Bob a task o flussi di lavoro specifici. Le modalità personalizzate in Bob Shell funzionano in modo simile alle modalità di Bob IDE.