Características

Slash commands

Crea slash commands personalizados para automatizar tareas repetitivas, ejecutar comandos integrados y ampliar la funcionalidad de Bob con simples archivos markdown.

Descripción general

Para comenzar, escribe / en el chat para ver todos los comandos disponibles, o crea los tuyos añadiendo un archivo markdown en .bob/commands/ o ~/.bob/commands/.

Beneficios clave:

  • Automatización del workflow: Convierte procesos complejos de varios 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 descubrimiento instantáneo de comandos

Comandos integrados

Bob incluye varios comandos integrados que proporcionan funcionalidad básica:

/init

Inicializa un nuevo proyecto o workspace con Bob. Este comando ayuda a configurar la configuración y estructura necesarias para trabajar con Bob en tu proyecto.

/review

Revisa cambios de código con análisis exhaustivo. Este comando se puede usar de múltiples maneras:

  • /review – Revisa cambios locales no confirmados en tu directorio de trabajo
  • /review <branch> – Compara un branch con tu branch actual (HEAD)
  • /review #<issue-number> --issue-coverage – Valida cambios locales contra un issue de GitHub
  • /review <issue-url> --issue-coverage – Valida cambios locales contra una URL de issue de GitHub

El comando de revisión realiza un análisis exhaustivo del código incluyendo detección de bugs, verificaciones de seguridad, problemas de rendimiento y consistencia de estilo.

/create-pr

Crea un pull request con descripción generada por IA. Este comando analiza tus cambios y genera una descripción completa del PR basada en el diff entre branches.

Crear comandos personalizados

Los comandos personalizados amplían la funcionalidad de Bob añadiendo archivos markdown a directorios específicos:

  • Específico del proyecto: .bob/commands/ en la raíz de tu workspace
  • Global: ~/.bob/commands/ en tu directorio home

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

  • review.md/review
  • test-api.md/test-api
  • deploy-check.md/deploy-check

Procesamiento de nombres de comandos

Al crear comandos a través de la interfaz, los nombres de comandos se procesan automáticamente:

  • Convertidos a minúsculas
  • Espacios reemplazados por guiones
  • Caracteres especiales eliminados
  • Guiones iniciales/finales eliminados

Ejemplo: "¡Mi Comando Genial!" se convierte en mi-comando-genial

Formato básico de comando

Crea un comando simple añadiendo un archivo markdown:

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

Comando avanzado con frontmatter

Añade 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 de frontmatter

  • description: Aparece en el menú de comandos para ayudar a los usuarios a entender el propósito del comando
  • argument-hint: Proporciona una pista sobre los argumentos esperados al usar el comando

Interfaz de gestión de comandos

Bob proporciona una interfaz dedicada para gestionar comandos personalizados.

Haz clic en el icono de comandos en el panel de Bob para abrir el gestor de comandos.

Crear un nuevo comando

  1. Escribe el nombre de tu comando en el campo de entrada (p. ej., "Nombre de comando de ejemplo")
  2. Haz clic en el botón + para crear el comando
  3. Se creará y abrirá automáticamente un nuevo archivo (p. ej., nombre-de-comando-de-ejemplo.md)

Usar slash commands

Escribe / en el chat para ver un menú unificado con ambos tipos de comandos. El menú muestra tanto comandos de workflow personalizados como comandos de cambio de modo en la misma interfaz.

  1. Menú unificado: Tanto los comandos personalizados como los de cambio de modo aparecen juntos
  2. Autocompletado: Empieza a escribir para filtrar comandos (p. ej., /eje muestra ejemplo-de-comando)
  3. Búsqueda difusa: Encuentra comandos incluso con coincidencias parciales
  4. Vista previa de descripción: Ve las descripciones de los comandos en el menú
  5. Indicadores visuales: Los comandos de modo se distinguen de los comandos personalizados con iconos especiales

Hints de argumentos

Los hints de argumentos proporcionan ayuda instantánea para los slash commands, mostrándote qué tipo de información debes proporcionar cuando un comando espera entrada adicional.

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

Por ejemplo:

  • /mode <mode_slug> – El hint <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 input del chat seguido de un espacio. El hint 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.

Añadir hints de argumentos a comandos personalizados

Puedes añadir hints 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.

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

Best practices para hints de argumentos

  • Sé específico: Usa marcadores 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 envuelve los marcadores entre corchetes angulares: <marcador>
  • Mantenlo conciso: Los hints deben ser breves y claros

Preguntas frecuentes

  • "¿Qué pasa si no proporciono el argumento?" El comando podría no funcionar como se espera, o podría pedirte más información. El hint está ahí para ayudarte a hacerlo bien la primera vez.
  • "¿Todos los comandos tienen hints?" No, solo los comandos diseñados para recibir argumentos tendrán hints. Los comandos que funcionan sin entrada adicional no mostrarán hints.
  • "¿Puedo usar un comando sin reemplazar el hint?" El texto del hint (como <mode_slug>) debe reemplazarse con valores reales. Dejar el texto del hint probablemente hará que el comando falle o se comporte de forma inesperada.

Best practices

Nomenclatura 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 slugifican automáticamente (minúsculas, caracteres especiales eliminados)
  • La extensión .md se añade/elimina automáticamente según sea necesario

Contenido del comando

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

Organización

  • Agrupa comandos relacionados en subdirectorios
  • Usa patrones de nomenclatura consistentes
  • Documenta comandos complejos
  • Versiona tus comandos
  • Comparte comandos del equipo en el repositorio del proyecto

Solución de problemas

Los comandos no aparecen

  • Comprueba 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 un slash command no se encuentra, 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 anulan los comandos personalizados globales con el mismo nombre
  • Usa nombres únicos para evitar conflictos
  • Al crear nombres duplicados a través de la interfaz, se añaden números (p. ej., nuevo-comando-1, nuevo-comando-2)

Sobre los comandos de modo

El menú slash incluye comandos de cambio de modo (como /code, /ask) que cambian fundamentalmente el modo operativo de la IA — no solo insertan texto, sino que cambian todo el contexto de la IA. Los modos personalizados que crees también aparecen como slash commands (p. ej., un modo con slug reviewer se convierte en /reviewer). Estos comandos de modo no pueden ser anulados por comandos de workflow personalizados.

Más información en Modos y Modos personalizados.

¿Cómo es este tema?