Reglas personalizadas
Las reglas personalizadas influyen en cómo Bob Shell responde a tus solicitudes en el entorno de terminal, alineando la salida con tus preferencias específicas y los requisitos del proyecto. Puedes controlar el estilo de código, el enfoque de documentación y los procesos de toma de decisiones.
¿Qué son las reglas personalizadas?
Las reglas personalizadas amplían el comportamiento predeterminado de Bob Shell al definir preferencias, restricciones y directrices que dirigen cómo Bob Shell aborda las tareas para adaptarse a tus necesidades cuando trabajas en el entorno de terminal.
Los usos comunes incluyen:
- Preferencias de estilo de código (sangría, convenciones de nombres)
- Formatos y estándares de documentación
- Metodologías y requisitos de pruebas
- Flujos de trabajo y procesos del proyecto
- Convenciones específicas del equipo
Alcances de las reglas
Bob Shell admite dos alcances de reglas que determinan dónde se aplican tus reglas:
- Reglas globales: Se aplican automáticamente en todos tus proyectos
- Reglas del workspace: Se aplican solo en tu proyecto actual
Usa las reglas globales para estándares personales o de toda la organización. Usa las reglas del workspace para requisitos específicos del proyecto.
Métodos de configuración
Bob Shell usa el mismo sistema de reglas personalizadas que IBM Bob IDE.
Configuración basada en archivos
El enfoque más simple usa archivos únicos en la raíz de tu workspace:
.bobrules- Reglas generales del workspace.bobrules-code- Reglas para el modo Code.bobrules-{modeSlug}- Reglas para cualquier modo
Crea un archivo .bobrules:
# En la raíz de tu proyecto
echo "Use 4 spaces for indentation" > .bobrulesConfiguración basada en directorios
Para una mejor organización, usa directorios:
Estructura del workspace:
.bob/
├── rules/ # Reglas generales
│ └── coding-style.md
└── rules-code/ # Reglas para el modo Code
└── typescript.mdEstructura global:
Linux/macOS: ~/.bob/rules/
Windows: %USERPROFILE%\.bob\rules\
Crear reglas del workspace:
mkdir -p .bob/rules
echo "# Project standards" > .bob/rules/coding-style.mdCrear reglas globales:
# 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.mdPrioridad de las reglas
Bob Shell combina reglas de múltiples fuentes en este orden:
- Reglas globales (
~/.bob/rules/) - Reglas del workspace (
.bob/rules/)
Dentro de cada nivel, las reglas específicas del modo se cargan antes que las reglas generales. Las reglas del workspace pueden sobreescribir las reglas globales.
Escribir reglas efectivas
Sé específico y orientado a la acción
Bueno: "Always use relative paths when suggesting file operations in the terminal"
Evita: "Use good paths"
Usa una estructura clara
Organiza las reglas por tema:
# 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 operationsEjemplos de reglas efectivas
- "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"
Configuración avanzada
Reglas específicas del modo
Apunta a modos específicos con directorios dedicados:
| Directorio | Propósito |
|---|---|
rules/ | Reglas generales para todos los modos |
rules-code/ | Solo para el modo Code |
rules-plan/ | Solo para el modo Plan |
rules-{mode}/ | Cualquier modo personalizado |
Usar archivos AGENTS.md
Para la estandarización del equipo, puedes usar un archivo AGENTS.md en la raíz de tu workspace:
# Team Standards
- Follow company coding guidelines
- Use approved libraries only
- Document all API changesDetalles clave:
- Se carga automáticamente por defecto
- Controla las versiones con tu proyecto
- Desactívalo con
"bob-shell.useAgentRules": falseen la configuración - Se carga después de las reglas específicas del modo pero antes de las reglas generales del workspace
Comportamiento de los archivos
- Lectura recursiva: Bob Shell lee todos los archivos en los directorios de reglas, incluyendo subdirectorios
- Orden alfabético: Los archivos se procesan en orden alfabético por nombre de archivo
- Filtrado automático: Excluye archivos de caché (
.DS_Store,*.bak,*.cache,*.log,*.tmp,Thumbs.db) - Enlazados simbólicos: Compatibles con profundidad máxima de 5
- Archivos vacíos: Se omiten silenciosamente
Estandarización del equipo
Estándares a nivel de proyecto
Usa los directorios .bob/rules/ del workspace bajo control de versiones:
# Agregar al control de versiones
git add .bob/rules/
git commit -m "Add Bob custom rules"Esto garantiza un comportamiento consistente entre los miembros del equipo que usan Bob Shell para proyectos específicos.
Estándares de toda la organización
Distribuye las reglas globales a los miembros del equipo:
- Crea un repositorio de reglas compartido
- Los miembros del equipo clonan a
~/.bob/rules/ - Actualiza periódicamente para mantener la consistencia
Enfoque híbrido
Puedes combinar ambos enfoques:
- Reglas globales para los estándares de la organización
- Reglas del workspace para los requisitos específicos del proyecto
- Las reglas del workspace sobreescriben las reglas globales cuando es necesario
Atajos de teclado
Encuentra todos los atajos disponibles por función, con variaciones específicas por plataforma donde corresponda.
Modos personalizados
Puedes crear modos personalizados para adaptar el comportamiento de Bob a tareas o flujos de trabajo específicos. Los modos personalizados en Bob Shell funcionan de manera similar a los modos de Bob IDE.