구성

파일 무시

프로젝트에 `.bobignore` 파일을 만들어 Bob이 액세스할 수 있는 파일을 제어합니다.

.bobignore란 무엇인가요?

  • 목적: 민감한 정보를 보호하고, 빌드 아티팩트나 대용량 자산에 대한 실수로 인한 변경을 방지하며, 일반적으로 워크스페이스 내에서 Bob의 작동 범위를 정의합니다.
  • 사용법: 워크스페이스 디렉토리에 .bobignore라는 파일을 만듭니다. 이 파일에 패턴을 나열하여 Bob에게 무시할 파일과 디렉토리를 알려줍니다.

Bob은 .bobignore 파일을 적극적으로 모니터링합니다. 변경한 내용은 자동으로 다시 로드되므로 Bob은 항상 최신 규칙을 사용합니다. .bobignore 파일 자체는 항상 암시적으로 무시되므로 Bob이 자체 액세스 규칙을 수정할 수 없습니다.

패턴 구문

.bobignore의 구문은 .gitignore와 동일합니다. 다음은 일반적인 예입니다:

예제설명
node_modules/전체 node_modules 디렉토리를 무시합니다
*.log.log로 끝나는 모든 파일을 무시합니다
config/secrets.json특정 파일을 무시합니다
!important.log예외; *.log와 같은 더 넓은 패턴이 있더라도 Bob은 이 특정 파일을 무시하지 않습니다
build/build 디렉토리를 무시합니다
docs/**/*.mddocs 디렉토리 및 하위 디렉토리의 모든 Markdown 파일을 무시합니다

구문에 대한 자세한 내용은 .gitignore에 대한 공식 Git 문서를 참조하세요.

Bob 도구가 .bobignore와 상호 작용하는 방법

.bobignore 규칙은 Bob의 파일 도구 전반에 걸쳐 적용됩니다:

읽기 및 쓰기 도구

이러한 도구는 파일 작업 전에 .bobignore를 확인합니다. 파일이 무시된 패턴과 일치하면 작업이 차단됩니다:

  • read_file: 무시된 파일을 읽지 않습니다.
  • write_file: 무시된 파일에 쓰거나 무시된 파일을 새로 만들지 않습니다.
  • apply_diff: 무시된 파일에 diff를 적용하지 않습니다.
  • insert_content: 무시된 파일에 콘텐츠를 삽입하지 않습니다.
  • search_and_replace: 무시된 파일을 수정하지 않습니다.
  • GetSymbolsOverview: 무시된 파일을 코드 기호로 구문 분석하지 않습니다.

파일 검색 및 나열

  • list_files 도구: 무시된 파일은 목록에서 생략되거나 🔒 기호로 표시됩니다(아래 "사용자 경험" 참조).
  • 환경 세부 정보: 열린 탭 및 프로젝트 구조와 같이 Bob에 제공되는 워크스페이스 정보는 무시된 항목을 제외하거나 표시하도록 필터링됩니다.

명령 실행

  • execute_command 도구: Bob은 미리 정의된 목록(예: cat 또는 grep)의 명령이 무시된 파일을 대상으로 하는지 확인합니다. 대상인 경우 명령 실행이 차단됩니다. 이 미리 정의된 목록에 없는 명령은 .bobignore에 대해 확인되지 않습니다.

제한 사항: .bobignore와 워크스페이스 샌드박스 설정("Allow outside workspace tool requests")은 서로 다른 두 가지 제어 기능입니다. .bobignore는 Bob의 파일 도구가 워크스페이스 내에서 액세스할 수 있는 파일을 제한합니다. 워크스페이스 샌드박스 설정은 파일 도구가 워크스페이스 루트 외부에서 작동할 수 있는지를 제어합니다. 두 제어 기능 모두 임의의 셸 작업에 대한 execute_command를 제한하지 않으므로, 이러한 설정과 관계없이 셸 명령은 운영체제가 허용하는 모든 위치에서 파일을 생성, 수정 또는 삭제할 수 있습니다.

주요 제한 사항 및 범위

  • 워크스페이스 중심: .bobignore 규칙은 현재 Bob 워크스페이스 루트 내의 파일 및 디렉토리에만 적용됩니다. 이 범위 밖의 파일은 영향을 받지 않습니다.
  • execute_command 범위: execute_command에 대한 .bobignore 적용은 미리 정의된 파일 읽기 명령 목록에만 적용됩니다. 임의의 셸 명령은 .bobignore 또는 워크스페이스 샌드박스 설정에 의해 제한되지 않습니다.
  • 완전한 샌드박스 아님: .bobignore는 워크스페이스 내에서 Bob의 파일 도구 액세스를 제어합니다. 시스템 수준 샌드박스를 만들지 않으며 셸 명령 실행을 제한하지 않습니다.

사용자 경험 및 알림

  • 시각적 표시(🔒): 파일 목록에서 .bobignore에 의해 무시된 파일은 showbobignoredFiles 설정(기본값은 true)에 따라 잠금 기호(🔒)로 표시될 수 있습니다.
  • 오류 메시지: 도구 작업이 차단되면 Bob은 오류를 받습니다: "[file_path]에 대한 액세스가 .bobignore 파일 설정에 의해 차단되었습니다. 이 파일을 사용하지 않고 작업을 계속하거나 사용자에게 .bobignore 파일을 업데이트하도록 요청해야 합니다."
  • 채팅 알림: .bobignore로 인해 작업이 차단되면 일반적으로 Bob 채팅 인터페이스에 알림이 표시됩니다.

이 가이드는 .bobignore 기능, 기능 및 현재 제한 사항을 이해하여 코드베이스와 Bob의 상호 작용을 효과적으로 관리하는 데 도움이 됩니다.

이 주제는 어떤가요?