Ignorar archivos
Controla a qué archivos puede acceder Bob creando un archivo `.bobignore` en tu proyecto.
¿Qué es .bobignore?
- Propósito: Proteger información sensible, prevenir cambios accidentales en artefactos de compilación o recursos grandes, y definir generalmente el alcance operativo de Bob dentro de tu espacio de trabajo.
- Uso: Crea un archivo llamado
.bobignoreen el directorio de tu espacio de trabajo. Lista patrones en este archivo para indicarle a Bob qué archivos y directorios ignorar.
Bob monitorea activamente el archivo .bobignore. Cualquier cambio que realices se recarga automáticamente, asegurando que Bob siempre use las reglas más actuales. El archivo .bobignore en sí siempre se ignora implícitamente, por lo que Bob no puede modificar sus propias reglas de acceso.
Sintaxis de patrones
La sintaxis para .bobignore es idéntica a .gitignore. Aquí hay ejemplos comunes:
| Ejemplo | Descripción |
|---|---|
node_modules/ | Ignora todo el directorio node_modules |
*.log | Ignora todos los archivos que terminan en .log |
config/secrets.json | Ignora un archivo específico |
!important.log | Una excepción; Bob no ignorará este archivo específico, incluso si existe un patrón más amplio como *.log |
build/ | Ignora el directorio build |
docs/**/*.md | Ignora todos los archivos Markdown en el directorio docs y sus subdirectorios |
Para aprender más sobre la sintaxis, lee la documentación oficial de Git sobre .gitignore.
Cómo interactúan las herramientas de Bob con .bobignore
Las reglas de .bobignore se aplican en varias herramientas de Bob:
Aplicación estricta (Lectura y escritura)
Estas herramientas verifican .bobignore directamente antes de cada operación de archivo. Si un archivo está ignorado, la operación se bloquea:
read_file: No lee archivos ignorados.write_file: No escribe en archivos ignorados ni crea nuevos archivos ignorados.apply_diff: No aplica diffs a archivos ignorados.GetSymbolsOverview: No analiza archivos ignorados en busca de símbolos de código.
Herramientas de edición de archivos (posible omisión de escritura)
Las herramientas insert_content y search_and_replace utilizan un componente interno para gestionar cambios.
Importante: Actualmente, la operación de escritura final realizada por estas herramientas podría omitir las reglas de .bobignore. Aunque los intentos de lectura iniciales podrían bloquearse, la acción de guardado en sí no tiene una verificación explícita.
Descubrimiento y listado de archivos
- Herramienta
list_files: Cuando Bob lista archivos, los archivos ignorados normalmente se omiten o se marcan con un símbolo 🔒 (ver "Experiencia del usuario" a continuación). - Detalles del entorno: La información sobre tu espacio de trabajo (como pestañas abiertas y estructura del proyecto) proporcionada a Bob se filtra para excluir o marcar elementos ignorados.
Ejecución de comandos
- Herramienta
execute_command: Esta herramienta verifica si un comando (de una lista predefinida comocatogrep) apunta a un archivo ignorado. Si es así, se bloquea la ejecución del comando.
Limitaciones y alcance importantes
- Centrado en el espacio de trabajo: Las reglas de
.bobignorese aplican solo a archivos y directorios dentro de la raíz del espacio de trabajo actual de Bob. Los archivos fuera de este alcance no se ven afectados. - Especificidad de
execute_command: La protección paraexecute_commandse limita a una lista predefinida de comandos de lectura de archivos. Los scripts personalizados o utilidades inusuales pueden no ser capturados. - Operaciones de escritura a través de
insert_contentysearch_and_replace: Como se mencionó, estas herramientas podrían escribir en archivos ignorados debido a limitaciones actuales en su mecanismo de guardado. - No es un sandbox completo:
.bobignorees una herramienta poderosa para controlar el acceso de Bob a archivos a través de sus herramientas, pero no crea un sandbox a nivel de sistema.
Experiencia del usuario y notificaciones
- Indicador visual (🔒): En los listados de archivos, los archivos ignorados por
.bobignorepueden marcarse con un símbolo de candado (🔒), dependiendo de la configuraciónshowbobignoredFiles(el valor predeterminado estrue). - Mensajes de error: Cuando se bloquea una operación de herramienta, Bob recibe un error:
"El acceso a [file_path] está bloqueado por la configuración del archivo .bobignore. Debes intentar continuar con la tarea sin usar este archivo, o pedirle al usuario que actualice el archivo .bobignore." - Notificaciones de chat: Normalmente verás una notificación en la interfaz de chat de Bob cuando se bloquea una acción debido a
.bobignore.
Esta guía te ayuda a comprender la función .bobignore, sus capacidades y sus limitaciones actuales, para que puedas gestionar eficazmente la interacción de Bob con tu base de código.
Atajos de teclado
Usa atajos de teclado para optimizar tu flujo de trabajo y reducir la dependencia de las interacciones con el ratón.
Modos personalizados
Personaliza el comportamiento de Bob creando modos personalizados con roles especializados, restricciones de herramientas y flujos de trabajo de equipo. Configúralos globalmente o por proyecto usando el formato YAML.