Funzionalità

Comandi slash

Crea comandi slash personalizzati per automatizzare i flussi di lavoro e standardizzare le pratiche del team.

Per iniziare, digita / in Bob Shell per vedere tutti i comandi disponibili, oppure crea i tuoi aggiungendo un file markdown in .bob/commands/ o ~/.bob/commands/.

Comandi integrati

Bob Shell include i seguenti comandi slash integrati:

ComandoAliasDescrizione
/helpMostra tutti i comandi slash disponibili
/clearPulisce lo schermo e reimposta la cronologia della conversazione
/condenseCondensa intelligentemente la finestra di contesto per liberare spazio
/copyCopia un elemento dalla cronologia della conversazione negli appunti
/modeCambia la modalità attiva (apre un selettore)
/resumeSfoglia e riprendi una conversazione precedente
/settingsVisualizza e modifica le impostazioni di Bob Shell
/mcpGestisci i server MCP configurati
/manage-secretsGestisci i segreti usati nelle configurazioni dei server MCP
/skillsInserisce un riferimento a una skill nel prompt
/initInizializza Bob nel workspace corrente
/status/infoVisualizza lo stato della sessione, l'utilizzo e le informazioni sulla versione
/teamSeleziona un team
/logsApre l'ultimo file di log con il visualizzatore di sistema
/docsApre la documentazione di Bob Shell nel browser
/bugInvia una segnalazione di bug
/exit/quit, /closeEsci dalla CLI

Sottocomandi /manage-secrets

I segreti ti permettono di archiviare valori sensibili (come le API key) e di farvi riferimento nelle configurazioni dei server MCP senza codificarli in modo fisso.

SottocomandoUtilizzoDescrizione
set/manage-secrets set KEY VALUEArchivia un valore segreto
list/manage-secrets listElenca tutte le chiavi segrete archiviate
rm/manage-secrets rm KEYRimuove un segreto archiviato

I segreti vengono archiviati in modo cifrato in ~/.bob/settings/ e possono essere referenziati nelle configurazioni dei server MCP usando la sintassi ${KEY}.

Perché usare i comandi slash?

I comandi slash offrono diversi vantaggi chiave:

  • Automazione del flusso di lavoro: Trasforma processi complessi a più passaggi in comandi singoli
  • Standardizzazione del team: Condividi i comandi con il tuo team per pratiche coerenti
  • Preservazione del contesto: Includi il contesto specifico del progetto in ogni comando
  • Accesso rapido: Ricerca fuzzy e completamento automatico per la scoperta istantanea dei comandi

Come funzionano i comandi slash

Quando digiti / in Bob Shell, appare un menu che mostra tutti i comandi disponibili. Questi comandi provengono da due fonti:

Tipo di comandoFonteScopo
Comandi di flusso di lavoro personalizzati.bob/commands/ o ~/.bob/commands/Automazione creata dall'utente per task specifici
Comandi di modalitàModalità integrate e personalizzateCambia il contesto operativo di Bob

Creare comandi personalizzati

I comandi personalizzati estendono le funzionalità di Bob aggiungendo file markdown a directory specifiche:

PosizioneAmbitoPercorso
Specifico del progettoDisponibile solo nel progetto corrente.bob/commands/ nella radice del tuo workspace
GlobaleDisponibile in tutti i progetti~/.bob/commands/ nella tua home directory

Il nome del file diventa il nome del comando. Per esempio:

.bob/commands/
├── review.md         → /review
├── test-api.md       → /test-api
└── deploy-check.md   → /deploy-check

Elaborazione del nome del comando

Quando si creano comandi tramite l'UI, Bob Shell elabora automaticamente i nomi dei comandi:

  • Converte in minuscolo
  • Sostituisce gli spazi con i trattini
  • Rimuove i caratteri speciali
  • Rimuove i trattini iniziali e finali

Esempio: "My Cool Command!" diventa my-cool-command

Formato base del comando

Crea un comando semplice aggiungendo un file markdown:

Help me review this code for security issues and suggest improvements.

Comando avanzato con frontmatter

Aggiungi metadati usando il frontmatter per funzionalità avanzate:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.

Campi del frontmatter

CampoScopoEsempio
descriptionAppare nel menu dei comandi"Create a new API endpoint"
argument-hintMostra gli argomenti attesi"<endpoint-name> <http-method>"

Dialogo di approvazione degli strumenti

Quando Bob Shell richiede di usare uno strumento, appare un dialogo di approvazione. Il dialogo fornisce le seguenti opzioni:

OpzioneDescrizione
Approva una voltaConsenti questa specifica chiamata allo strumento. Ti verrà chiesto di nuovo per le chiamate future.
Approva gli strumenti <group> per il taskConsenti tutti gli strumenti nello stesso gruppo di strumenti per il resto del task. Non mostrato per gli strumenti MCP.
Consenti sempre il comando per il taskConsenti un comando shell specifico per il resto del task.
RifiutaNega la chiamata allo strumento. Bob Shell non procede con l'azione.

Puoi anche aggiungere una nota opzionale quando approvi o rifiuti una chiamata allo strumento. La nota viene inclusa nel contesto della conversazione in modo che Bob Shell possa adeguare il suo comportamento di conseguenza.

Per interrompere una risposta in streaming prima che Bob Shell finisca, premi Esc.

Gestione dei comandi in Bob Shell

Bob Shell supporta gli stessi comandi slash di Bob IDE. Anche se Bob Shell non fornisce un'UI dedicata per la gestione dei comandi, puoi:

  1. Creare file di comando manualmente nella directory .bob/commands/ nel tuo progetto o ~/.bob/commands/ nella tua home directory
  2. Modificare i file di comando esistenti con qualsiasi editor di testo

Usare i comandi slash

Digita / in Bob Shell per vedere un menu unificato che contiene i seguenti tipi di comandi:

  1. Menu unificato: I comandi personalizzati e i comandi di cambio modalità appaiono insieme
  2. Completamento automatico: Inizia a digitare per filtrare i comandi (es. /sam mostra sample-command-name)
  3. Ricerca fuzzy: Trova i comandi anche con corrispondenze parziali
  4. Anteprima descrizione: Visualizza le descrizioni dei comandi nel menu
  5. Indicatori visivi: I comandi di modalità si distinguono dai comandi personalizzati con icone speciali
/mode code     Switch to Code mode
/mode ask      Switch to Ask mode
/review        Review code for security issues
/api-endpoint  <endpoint-name> <http-method>

Suggerimenti per gli argomenti

I suggerimenti per gli argomenti forniscono assistenza immediata per i comandi slash, mostrandoti che tipo di informazioni fornire quando un comando si aspetta input aggiuntivo.

Quando digiti / per aprire il menu dei comandi, i comandi che si aspettano argomenti mostrano un suggerimento grigio chiaro accanto ad essi. Questo suggerimento indica che tipo di argomento si aspetta il comando.

Per esempio:

  • /mode <mode_slug> - Il suggerimento <mode_slug> indica che dovresti fornire un nome di modalità come code o debug
  • /api-endpoint <endpoint-name> <http-method> - Mostra che hai bisogno sia del nome dell'endpoint che del metodo HTTP

Dopo aver selezionato il comando, questo verrà inserito nell'input della chat seguito da uno spazio. Il suggerimento non viene inserito; è solo una guida visiva per aiutarti a sapere cosa digitare dopo. Devi quindi digitare manualmente l'argomento dopo il comando.

Aggiungere suggerimenti per gli argomenti ai comandi personalizzati

Puoi aggiungere suggerimenti per gli argomenti ai tuoi comandi personalizzati usando il campo argument-hint nel frontmatter:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.

Questo verrà visualizzato come /api-endpoint <endpoint-name> <http-method> nel menu dei comandi.

Best practice per i suggerimenti degli argomenti

  • Sii specifico: Usa segnaposto descrittivi come <file-path> invece di generici come <arg>
  • Mostra più argomenti: Se il tuo comando ha bisogno di più input, mostrarli tutti: <source> <destination>
  • Usa un formato coerente: Racchiudi sempre i segnaposto tra parentesi angolari: <placeholder>
  • Mantienilo conciso: I suggerimenti devono essere brevi e chiari

Domande frequenti sugli argomenti

DomandaRisposta
Cosa succede se non fornisco l'argomento?Il comando potrebbe non funzionare come previsto, oppure potrebbe chiederti ulteriori informazioni. Il suggerimento è lì per aiutarti a farlo bene la prima volta.
Tutti i comandi hanno suggerimenti?No, solo i comandi progettati per accettare argomenti avranno suggerimenti. I comandi che funzionano senza input aggiuntivo non mostreranno suggerimenti.
Posso usare un comando senza sostituire il suggerimento?Il testo del suggerimento (come <mode_slug>) deve essere sostituito con valori effettivi. Lasciare il testo del suggerimento probabilmente causerà il fallimento del comando o un comportamento inaspettato.

Best practice

Denominazione dei comandi

  • Usa nomi descrittivi e orientati all'azione
  • Mantieni i nomi concisi ma chiari
  • Usa i trattini per i comandi con più parole
  • Evita nomi generici come help o test
  • Nota: i nomi vengono automaticamente convertiti in slug (minuscolo, caratteri speciali rimossi)
  • L'estensione .md viene aggiunta/rimossa automaticamente secondo necessità

Contenuto dei comandi

  • Inizia con una direttiva chiara
  • Usa formati strutturati (elenchi, sezioni)
  • Includi requisiti specifici
  • Fai riferimento alle convenzioni del progetto
  • Mantieni i comandi focalizzati su un singolo task

Organizzazione

  • Raggruppa i comandi correlati in sottodirectory
  • Usa pattern di denominazione coerenti
  • Documenta i comandi complessi
  • Gestisci i tuoi comandi con il controllo versione
  • Condividi i comandi del team nel repository del progetto

Risoluzione dei problemi

I comandi non appaiono

Se i tuoi comandi non appaiono nel menu:

  • Controlla la posizione del file: Assicurati che i file dei comandi personalizzati siano in .bob/commands/ o ~/.bob/commands/
  • Verifica l'estensione del file: I comandi personalizzati devono essere file .md

Comando non trovato

Quando un comando slash non viene trovato, l'LLM vedrà:

The slash command '/unknown-command' was not found. Please check the command name and try again.

Conflitti tra comandi

  • I comandi personalizzati del progetto sostituiscono i comandi personalizzati globali con lo stesso nome
  • Usa nomi univoci per evitare conflitti
  • Quando si creano nomi duplicati tramite l'UI, vengono aggiunti dei numeri (es. new-command-1, new-command-2)

Informazioni sui comandi di modalità

Il menu slash include comandi per il cambio di modalità (come /mode code, /mode ask) che cambiano fondamentalmente la modalità operativa dell'AI — non si limitano a inserire testo ma cambiano l'intero contesto dell'AI. Anche le modalità personalizzate che crei appaiono come comandi slash (es. una modalità con slug reviewer diventa /reviewer). Questi comandi di modalità non possono essere sostituiti da comandi di flusso di lavoro personalizzati.

Compatibilità multipiattaforma

I comandi slash funzionano in modo identico sia in Bob Shell che in Bob IDE. Questo significa che:

  • I comandi creati in un ambiente possono essere usati nell'altro
  • La stessa sintassi e lo stesso comportamento dei comandi si applicano in entrambi gli ambienti
  • I comandi condivisi dal team funzionano in modo coerente indipendentemente dall'interfaccia usata dai membri del team
Come valuti questo argomento?