구성

파일 무시하기

프로젝트에 `.bobignore` 파일을 만들어 Bob Shell이 접근할 수 있는 파일을 제어하세요.

개요

기능설명이점
경로 제외Bob Shell이 특정 파일이나 디렉토리에 접근하지 못하도록 방지민감한 정보 보호
패턴 매칭glob 패턴을 사용하여 여러 파일 매칭효율적인 파일 유형 제외
부정 지원특정 파일에 대한 제외 규칙 재정의세밀한 제어
프로젝트별각 프로젝트가 자체 제외 규칙을 가질 수 있음프로젝트 요구 사항에 맞게 사용자 지정

.bobignore를 사용하는 이유

  • 개인 정보 보호: API key 및 자격 증명과 같은 민감한 파일을 비공개로 유지
  • 성능 향상: 작업을 느리게 만드는 대용량 바이너리 파일이나 디렉토리 제외
  • 노이즈 감소: Bob Shell의 컨텍스트에서 관련 없는 파일 제거
  • 집중 제어: Bob Shell의 관심을 코드베이스의 가장 관련성 높은 부분으로 유도

.bobignore 작동 방식

.bobignore 파일에 경로를 추가하면, 이 파일을 준수하는 Bob Shell 도구가 작업에서 매칭되는 파일과 디렉토리를 자동으로 제외합니다. 예를 들어 read_many_files 명령을 사용할 때 .bobignore 파일의 경로는 건너뜁니다.

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│                 │     │                 │     │                 │
│  Your project   │────▶│  .bobignore     │────▶│  Files Bob Shell │
│  files          │     │  filter         │     │  can access     │
│                 │     │                 │     │                 │
└─────────────────┘     └─────────────────┘     └─────────────────┘

.bobignore 파일의 변경 사항이 적용되려면 Bob Shell 세션을 재시작해야 합니다.

패턴 문법

.bobignore 파일은 .gitignore와 동일한 패턴 문법을 따릅니다:

패턴설명예시
file.txt특정 파일 매칭apikeys.txt
*.ext해당 확장자를 가진 모든 파일 매칭*.log
/dir/디렉토리 매칭/node_modules/
/path/to/file루트에서 경로를 고정/src/config/secrets.json
!pattern이전 패턴 무효화!important.md
#주석 줄# API credentials

시작하기

.bobignore 파일 만들기

  1. 프로젝트 디렉토리 루트에 .bobignore라는 파일을 만드세요
  2. 제외할 파일과 디렉토리의 패턴을 추가하세요
  3. 파일을 저장하고 Bob Shell 세션을 재시작하세요
# 프로젝트 루트에서
touch .bobignore
echo "# Files to ignore" > .bobignore
echo "secrets/" >> .bobignore

일반적인 제외 패턴

다음은 .bobignore 파일에 추가할 수 있는 일반적인 패턴입니다:

# 민감한 정보
.env
secrets/
*password*
*credential*
*apikey*

# 대용량 디렉토리
node_modules/
.git/
dist/
build/

# 바이너리 및 미디어 파일
*.zip
*.tar.gz
*.mp4
*.jpg
*.png

# 로그 파일
*.log
logs/

패턴 예시

특정 디렉토리 제외하기

전체 디렉토리와 내용을 제외하려면:

# packages 디렉토리와 모든 내용 제외
/packages/

# 프로젝트 어디서나 node_modules 디렉토리 제외
**/node_modules/

# 루트 수준에서만 dist 디렉토리 제외
/dist/

와일드카드 사용하기

와일드카드를 사용하면 유사한 패턴의 여러 파일을 매칭할 수 있습니다:

# 모든 마크다운 파일 제외
*.md

# src 디렉토리의 모든 JavaScript 파일 제외
/src/**/*.js

# 이름에 "test"가 포함된 모든 파일 제외
*test*

부정 사용하기

특정 파일에 대한 제외 규칙을 재정의할 수 있습니다:

# 모든 마크다운 파일 제외
*.md

# 단 README.md는 포함
!README.md

# 그리고 docs 디렉토리의 모든 마크다운 파일 포함
!docs/*.md

고급 사용법

패턴 조합하기

패턴을 조합하여 정교한 제외 규칙을 만들 수 있습니다:

# 모든 JavaScript 파일 제외
*.js

# 단 src 디렉토리의 모든 파일은 포함
!src/**/*.js

# src 디렉토리의 테스트 파일은 제외
src/**/*.test.js

.bobignore 파일 디버깅

Bob Shell이 접근하기를 원하는 파일을 무시하거나, 무시하기를 원하는 파일에 접근하는 것 같다면:

  1. .bobignore 파일에서 충돌하는 패턴을 확인하세요
  2. 더 구체적인 패턴 (부정 등)은 일반 패턴 뒤에 와야 한다는 점을 기억하세요
  3. 변경 후 Bob Shell 세션을 재시작하세요
  4. 상대 경로가 예상대로 작동하지 않으면 절대 경로를 사용하세요

모범 사례

  • 간단하게 시작하기: 몇 가지 필수 패턴으로 시작하고 필요에 따라 더 추가하세요
  • 패턴에 주석 달기: 특정 파일을 제외하는 이유를 설명하는 주석을 추가하세요
  • 구체적으로 작성: 중요한 파일을 실수로 제외하지 않도록 정확한 패턴을 사용하세요
  • 보안 고려: 민감한 정보가 포함된 파일은 항상 제외하세요
  • 정기적으로 유지 관리: 프로젝트가 발전함에 따라 .bobignore 파일을 업데이트하세요
이 주제는 어떤가요?