개발 slecs

에이전트 산출물 디렉터리를 깃이그노어로 차단해 PR 노이즈 제거

목차

.omc/ 를 .gitignore 에 박은 이유

작업 도중 워킹트리에 .omc/ 디렉터리가 슬금슬금 늘어나는 걸 발견함. 에이전트 상태, 노트패드, 프로젝트 메모리, 플랜 초안, 로그까지 죄다 그 안에 쌓이고 있었음. 깜빡하고 한 번 커밋했다가 PR 디프가 본질 변경 30줄에 부산물 800줄로 부풀어버려서, 리뷰어가 "이거 뭐냐"고 물어본 게 트리거였음.

어떤 게 들어있길래

.omc/ 안에 들어가는 것들 대충 정리하면 이런 식임.

종류 성격 공유 가치
state/*.json 모드 실행 상태, 세션 단위 0 (재현 불가, 머신 로컬)
notepad.md 작업 중 메모 0 (개인 스크래치패드)
project-memory.json 누적 디렉티브 낮음 (개인 학습 캐시)
plans/, research/ 플랜·리서치 산출물 상황에 따라 다름
logs/ 실행 로그 0 (재실행하면 갱신)

대부분 세션 로컬 캐시 라서 다른 사람한테 공유될 이유가 없음. 공유해도 머신/시점이 다르면 그대로는 안 돌아가고. 플랜·리서치 결과물은 가끔 보존하고 싶은 게 있긴 한데, 그건 별도로 docs/ 같은 곳에 옮겨서 의식적으로 커밋하는 게 맞다고 판단함.

한 줄짜리 디프

결국 변경은 진짜 한 줄임.

.omc/

* 패턴 안 쓰고 디렉터리 통째로 무시. 하위에 어떤 파일이 새로 생기든 신경 안 써도 되니까 유지보수가 0 임. 예외 두고 싶으면 나중에 !.omc/keep-this.md 식으로 negation 패턴 붙이면 그만이라 일단 가장 단순한 형태로 박았음.

놓쳤던 포인트들

  • 이미 트래킹 중인 파일은 무시 안 됨. .gitignore 추가 후에도 한 번 트래킹된 파일은 계속 따라옴. git rm -r --cached .omc/ 로 인덱스에서 빼줘야 함. 처음에 이거 안 해서 "왜 여전히 status 에 뜨지" 하고 5분 헤맴.
  • 글로벌 .gitignore 와 충돌 검토. 머신 글로벌에 이미 .omc/ 가 있으면 레포 안 넣어도 되긴 하지만, 다른 협업자 머신엔 없을 수 있어서 레포 단위로 박는 게 안전함.
  • 팀 룰 합의. 혼자 쓰는 도구 디렉터리라도 일단 root .gitignore 에 추가하면 모두에게 영향감. 동료들도 같은 도구 쓸 가능성이 높아서 미리 공지하고 머지함.

회고 한 줄

레포에 들어갈 자격 없는 산출물은 생기는 즉시 무시 처리하는 게 답임. 한두 번은 괜찮아도 누적되면 디프 노이즈가 리뷰 품질을 깎아먹음. 도구 도입할 때 산출물 디렉터리부터 점검하는 습관을 추가했음.

댓글 0

첫 댓글 달아줘.