구성
파일 무시하기
프로젝트에 `.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 파일 만들기
- 프로젝트 디렉토리 루트에
.bobignore라는 파일을 만드세요 - 제외할 파일과 디렉토리의 패턴을 추가하세요
- 파일을 저장하고 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이 접근하기를 원하는 파일을 무시하거나, 무시하기를 원하는 파일에 접근하는 것 같다면:
.bobignore파일에서 충돌하는 패턴을 확인하세요- 더 구체적인 패턴 (부정 등)은 일반 패턴 뒤에 와야 한다는 점을 기억하세요
- 변경 후 Bob Shell 세션을 재시작하세요
- 상대 경로가 예상대로 작동하지 않으면 절대 경로를 사용하세요
모범 사례
- 간단하게 시작하기: 몇 가지 필수 패턴으로 시작하고 필요에 따라 더 추가하세요
- 패턴에 주석 달기: 특정 파일을 제외하는 이유를 설명하는 주석을 추가하세요
- 구체적으로 작성: 중요한 파일을 실수로 제외하지 않도록 정확한 패턴을 사용하세요
- 보안 고려: 민감한 정보가 포함된 파일은 항상 제외하세요
- 정기적으로 유지 관리: 프로젝트가 발전함에 따라
.bobignore파일을 업데이트하세요
이 주제는 어떤가요?