Funciones

Slash commands

Crea slash commands personalizados para automatizar flujos de trabajo y estandarizar las prácticas del equipo.

Para empezar, escribe / en Bob Shell para ver todos los comandos disponibles, o crea los tuyos propios agregando un archivo markdown en .bob/commands/ o ~/.bob/commands/.

Comandos integrados

Bob Shell incluye los siguientes slash commands integrados:

ComandoAliasDescripción
/helpMostrar todos los slash commands disponibles
/clearLimpiar la pantalla y restablecer el historial de conversación
/condenseCondensar inteligentemente la ventana de contexto para liberar espacio
/copyCopiar un elemento del historial de conversación al portapapeles
/modeCambiar el modo activo (abre un selector)
/resumeExplorar y reanudar una conversación anterior
/settingsVer y editar la configuración de Bob Shell
/mcpGestionar los servidores MCP configurados
/manage-secretsGestionar los secretos usados en las configuraciones de servidores MCP
/skillsInsertar una referencia a un skill en el prompt
/initInicializar Bob en el workspace actual
/status/infoVer el estado de la sesión, uso e información de versión
/teamSeleccionar un equipo
/logsAbrir el archivo de log más reciente con el visor del sistema
/docsAbrir la documentación de Bob Shell en el navegador
/bugEnviar un reporte de error
/exit/quit, /closeSalir del CLI

Subcomandos de /manage-secrets

Los secretos te permiten almacenar valores sensibles (como API keys) y referenciarlos en las configuraciones de servidores MCP sin codificarlos directamente.

SubcomandoUsoDescripción
set/manage-secrets set KEY VALUEAlmacenar un valor secreto
list/manage-secrets listListar todas las claves secretas almacenadas
rm/manage-secrets rm KEYEliminar un secreto almacenado

Los secretos se almacenan cifrados en ~/.bob/settings/ y se pueden referenciar en las configuraciones de servidores MCP usando la sintaxis ${KEY}.

¿Por qué usar slash commands?

Los slash commands proporcionan varios beneficios clave:

  • Automatización de flujos de trabajo: Convierte procesos complejos de múltiples pasos en comandos únicos
  • Estandarización del equipo: Comparte comandos con tu equipo para prácticas consistentes
  • Preservación del contexto: Incluye contexto específico del proyecto en cada comando
  • Acceso rápido: Búsqueda difusa y autocompletado para descubrir comandos al instante

Cómo funcionan los slash commands

Cuando escribes / en Bob Shell, aparece un menú con todos los comandos disponibles. Estos comandos provienen de dos fuentes:

Tipo de comandoFuentePropósito
Comandos de flujo de trabajo personalizados.bob/commands/ o ~/.bob/commands/Automatización creada por el usuario para tareas específicas
Comandos de modoModos integrados y personalizadosCambiar el contexto operativo de Bob

Crear comandos personalizados

Los comandos personalizados amplían la funcionalidad de Bob agregando archivos markdown en directorios específicos:

UbicaciónAlcanceRuta
Específico del proyectoDisponible solo en el proyecto actual.bob/commands/ en la raíz de tu workspace
GlobalDisponible en todos los proyectos~/.bob/commands/ en tu directorio home

El nombre del archivo se convierte en el nombre del comando. Por ejemplo:

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

Procesamiento del nombre del comando

Al crear comandos a través de la UI, Bob Shell procesa automáticamente los nombres de los comandos:

  • Convierte a minúsculas
  • Reemplaza los espacios con guiones
  • Elimina los caracteres especiales
  • Elimina los guiones al inicio y al final

Ejemplo: "My Cool Command!" se convierte en my-cool-command

Formato básico de un comando

Crea un comando simple agregando un archivo markdown:

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

Comando avanzado con frontmatter

Agrega metadatos usando frontmatter para funcionalidad mejorada:

---
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.

Campos del frontmatter

CampoPropósitoEjemplo
descriptionAparece en el menú de comandos"Create a new API endpoint"
argument-hintMuestra los argumentos esperados"<endpoint-name> <http-method>"

Diálogo de aprobación de herramientas

Cuando Bob Shell solicita usar una herramienta, aparece un diálogo de aprobación. El diálogo ofrece las siguientes opciones:

OpciónDescripción
Approve OncePermitir que esta llamada específica de herramienta proceda. Se te pedirá nuevamente para llamadas futuras.
Approve <group> tools for taskPermitir todas las herramientas del mismo grupo de herramientas durante el resto de la tarea. No se muestra para herramientas MCP.
Always Allow Command for taskPermitir un comando de shell específico durante el resto de la tarea.
RejectDenegar la llamada de herramienta. Bob Shell no procede con la acción.

También puedes agregar una nota opcional al aprobar o rechazar una llamada de herramienta. La nota se incluye en el contexto de la conversación para que Bob Shell pueda ajustar su comportamiento.

Para interrumpir una respuesta en streaming antes de que Bob Shell termine, presiona Esc.

Gestión de comandos en Bob Shell

Bob Shell admite los mismos slash commands que Bob IDE. Aunque Bob Shell no proporciona una UI dedicada para gestionar comandos, puedes:

  1. Crear archivos de comandos manualmente en el directorio .bob/commands/ de tu proyecto o en ~/.bob/commands/ en tu directorio home
  2. Editar los archivos de comandos existentes con cualquier editor de texto

Usar slash commands

Escribe / en Bob Shell para ver un menú unificado que contiene los siguientes tipos de comandos:

  1. Menú unificado: Los comandos personalizados y los de cambio de modo aparecen juntos
  2. Autocompletado: Empieza a escribir para filtrar comandos (por ejemplo, /sam muestra sample-command-name)
  3. Búsqueda difusa: Encuentra comandos incluso con coincidencias parciales
  4. Vista previa de descripción: Consulta las descripciones de los comandos en el menú
  5. Indicadores visuales: Los comandos de modo se distinguen de los comandos personalizados con iconos especiales
/mode code     Switch to Code mode
/mode ask      Switch to Ask mode
/review        Review code for security issues
/api-endpoint  <endpoint-name> <http-method>

Sugerencias de argumentos

Las sugerencias de argumentos proporcionan ayuda instantánea para los slash commands, mostrándote qué tipo de información debes proporcionar cuando un comando espera entradas adicionales.

Cuando escribes / para abrir el menú de comandos, los comandos que esperan argumentos mostrarán una sugerencia en gris claro junto a ellos. Esta sugerencia te indica qué tipo de argumento espera el comando.

Por ejemplo:

  • /mode <mode_slug> - La sugerencia <mode_slug> indica que debes proporcionar un nombre de modo como code o debug
  • /api-endpoint <endpoint-name> <http-method> - Muestra que necesitas tanto un nombre de endpoint como un método HTTP

Después de seleccionar el comando, se insertará en el campo de chat seguido de un espacio. La sugerencia no se inserta; es solo una guía visual para ayudarte a saber qué escribir a continuación. Debes escribir manualmente el argumento después del comando.

Agregar sugerencias de argumentos a comandos personalizados

Puedes agregar sugerencias de argumentos a tus comandos personalizados usando el campo argument-hint en el 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.

Esto se mostrará como /api-endpoint <endpoint-name> <http-method> en el menú de comandos.

Buenas prácticas para las sugerencias de argumentos

  • Sé específico: Usa marcadores de posición descriptivos como <file-path> en lugar de genéricos como <arg>
  • Muestra múltiples argumentos: Si tu comando necesita varias entradas, muéstralas todas: <source> <destination>
  • Usa un formato consistente: Siempre encierra los marcadores de posición entre corchetes angulares: <placeholder>
  • Sé conciso: Las sugerencias deben ser breves y claras

Preguntas frecuentes sobre los argumentos

PreguntaRespuesta
¿Qué pasa si no proporciono el argumento?Es posible que el comando no funcione como se esperaba, o que te pida más información. La sugerencia está ahí para ayudarte a hacerlo bien desde el principio.
¿Todos los comandos tienen sugerencias?No, solo los comandos diseñados para recibir argumentos tendrán sugerencias. Los comandos que funcionan sin entrada adicional no mostrarán sugerencias.
¿Puedo usar un comando sin reemplazar la sugerencia?El texto de la sugerencia (como <mode_slug>) debe reemplazarse por valores reales. Dejar el texto de la sugerencia probablemente hará que el comando falle o se comporte de manera inesperada.

Buenas prácticas

Nombres de comandos

  • Usa nombres descriptivos y orientados a la acción
  • Mantén los nombres concisos pero claros
  • Usa guiones para comandos de varias palabras
  • Evita nombres genéricos como help o test
  • Nota: Los nombres se convierten automáticamente en slug (minúsculas, caracteres especiales eliminados)
  • La extensión .md se agrega/elimina automáticamente según sea necesario

Contenido del comando

  • Empieza con una directiva clara
  • Usa formatos estructurados (listas, secciones)
  • Incluye requisitos específicos
  • Haz referencia a las convenciones del proyecto
  • Mantén los comandos enfocados en una sola tarea

Organización

  • Agrupa los comandos relacionados en subdirectorios
  • Usa patrones de nombres consistentes
  • Documenta los comandos complejos
  • Controla las versiones de tus comandos
  • Comparte los comandos del equipo en el repositorio del proyecto

Resolución de problemas

Los comandos no aparecen

Si tus comandos no aparecen en el menú:

  • Verifica la ubicación del archivo: Asegúrate de que los archivos de comandos personalizados estén en .bob/commands/ o ~/.bob/commands/
  • Verifica la extensión del archivo: Los comandos personalizados deben ser archivos .md

Comando no encontrado

Cuando no se encuentra un slash command, el LLM verá:

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

Conflictos de comandos

  • Los comandos personalizados del proyecto sobreescriben los comandos personalizados globales con el mismo nombre
  • Usa nombres únicos para evitar conflictos
  • Al crear nombres duplicados a través de la UI, se agregan números (por ejemplo, new-command-1, new-command-2)

Acerca de los comandos de modo

El menú slash incluye comandos de cambio de modo (como /mode code, /mode ask) que cambian fundamentalmente el modo operativo de la IA; no solo inyectan texto, sino que cambian todo el contexto de la IA. Los modos personalizados que creas también aparecen como slash commands (por ejemplo, un modo con el slug reviewer se convierte en /reviewer). Estos comandos de modo no pueden ser sobreescritos por comandos de flujo de trabajo personalizados.

Compatibilidad multiplataforma

Los slash commands funcionan de manera idéntica tanto en Bob Shell como en Bob IDE. Esto significa que:

  • Los comandos creados en un entorno pueden usarse en el otro
  • La misma sintaxis y comportamiento de los comandos se aplica en ambos entornos
  • Los comandos compartidos por el equipo funcionan de manera consistente independientemente de la interfaz que usen los miembros del equipo
¿Cómo es este tema?