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 las herramientas de archivos de Bob:
Herramientas de lectura y escritura
Estas herramientas verifican .bobignore antes de cada operación de archivo. Si un archivo coincide con un patrón ignorado, la operación se bloquea:
read_file: No lee archivos ignorados.write_file: No escribe en archivos ignorados ni los crea.apply_diff: No aplica diffs a archivos ignorados.insert_content: No inserta contenido en archivos ignorados.search_and_replace: No modifica archivos ignorados.GetSymbolsOverview: No analiza archivos ignorados en busca de símbolos de código.
Descubrimiento y listado de archivos
- Herramienta
list_files: Los archivos ignorados se omiten de los listados o se marcan con un símbolo 🔒 (ver "Experiencia del usuario" a continuación). - Detalles del entorno: La información del espacio de trabajo que se proporciona a Bob, como las pestañas abiertas y la estructura del proyecto, se filtra para excluir o marcar elementos ignorados.
Ejecución de comandos
- Herramienta
execute_command: Bob verifica si un comando de una lista predefinida (comocatogrep) apunta a un archivo ignorado. Si es así, el comando se bloquea. Los comandos fuera de esta lista predefinida no se verifican contra.bobignore.
Restricción: .bobignore y la configuración de sandbox del espacio de trabajo ("Allow outside workspace tool requests") son dos controles independientes. .bobignore restringe a qué archivos pueden acceder las herramientas de archivos de Bob dentro del espacio de trabajo. La configuración de sandbox del espacio de trabajo controla si las herramientas de archivos pueden operar fuera de la raíz del espacio de trabajo. Ninguno de los dos controles restringe execute_command para operaciones de shell arbitrarias; un comando de shell aún puede crear, modificar o eliminar archivos en cualquier lugar que el sistema operativo permita, independientemente de estas configuraciones.
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. - Alcance de
execute_command: La aplicación de.bobignoreparaexecute_commandcubre solo una lista predefinida de comandos de lectura de archivos. Los comandos de shell arbitrarios no están restringidos por.bobignoreni por la configuración de sandbox del espacio de trabajo. - No es un sandbox completo:
.bobignorecontrola el acceso de las herramientas de archivos de Bob dentro del espacio de trabajo. No crea un sandbox a nivel de sistema y no restringe la ejecución de comandos de shell.
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.