레거시 자동화 도구는 문서로 정리한다
목차
docs/seo-infra.md에 archived 상태의 money-bot을 추가하고, orphan CLAUDE.md 커밋이 정상 케이스임을 명시했다. 작은 변경 같지만 팀 문서화 정책과 프로젝트 생명주기 관리에서 꽤 중요한 패턴이라 생각해서 기록해본다.
죽은 봇도 누군가는 찾는다
초기에는 이렇게 생각했다. "봇이 archived니까 더 이상 운영하지 않는 프로젝트고, 문서도 그냥 없애면 되지 않나?" 실제로는 그렇지 않았다.
새로 팀에 들어온 개발자나, 특정 자동화 기능을 찾던 운영자, 혹은 유사한 다른 봇을 만들려던 누군가가 "이게 이전에 있었던 건가?"라고 물어본다. 그때 문서가 없으면:
- 검색만 해서는 찾을 수 없고
- 누군가는 중복으로 비슷한 걸 다시 만든다
- 왜 archived 됐는지 히스토리도 남지 않아서 같은 실패를 반복할 수 있다
money-bot이 정확히 그런 경우였다. 자체적으로 충분한 역할을 했지만, 어느 순간 다른 시스템으로 통합되거나 필요성이 줄어서 archived 상태가 됐다. 이 정보를 문서에 남기면:
- "아, 이미 있었는데 정책 변화로 안 쓰네"
- "왜 archived 됐는지 상황을 알 수 있네"
- "혹시 비슷한 기능이 필요하면 이 경험을 참고할 수 있겠다"
Orphan CLAUDE.md와 4중정합 예외
이 커밋의 다른 부분은 좀 더 기술적이다. archived 로컬 봇의 경우 orphan CLAUDE.md 파일이 생긴다. 정상적인 상황에서는 절대 커밋하면 안 되는 것이, 여기선 예외적으로 정상이라는 걸 명시해야 했다.
보통 우리는 4중정합 규칙을 따른다:
| 검증 단계 | 규칙 | 예외 허용? |
|---|---|---|
| 로컬 빌드 | 통과해야 함 | 거의 X |
| 린트 & 포맷 | 반드시 준수 | X |
| 설정 참조 일관성 | CLAUDE.md 정의와 코드 일치 | X |
| 커밋 메시지 명시성 | 왜 이걸 했는지 | 드문 특수 케이스 |
archived 봇의 orphan CLAUDE.md는 그 4번째 케이스다. 보통은 "이 파일이 뭐지? 왜 남겨졌어?"하면서 lint가 걸린다. 하지만 archived 봇이라면 의도적으로 로컬에만 남겨두는 게 맞다. 왜냐하면:
- 봇이 동작하지 않으므로 공유 문서 구조에서 삭제해야 하지만
- 로컬 레포지토리에는 그 봇의 원본 설정이 남아있어야 하고
- 나중에 필요하면 복구할 때 참고할 수 있게
이런 미묘한 케이스를 문서화 하지 않으면, 코드 리뷰할 때 매번 "이거 왜 커밋됐어?"라는 질문이 반복된다.
문서로 팀 의사결정을 아키이빙하기
결국 이 작은 커밋이 하는 일은:
- visibility — "이런 봇이 있었고, 지금은 없다"는 팀의 공동 기억
- precedent — "다음번에 비슷한 상황이 생기면 어떻게 처리할지" 라는 의사결정 기록
- policy — "orphan 파일도 특정 조건 하에서는 커밋 OK"라는 명시적 규칙
이걸 안 하면:
- 3개월 뒤에 다른 봇을 archive 할 때, 이번에 한 처리가 뭐였는지 까먹음
- 새 팀원이 "왜 이 파일이 여기 있어?"라고 물으면 일일이 설명
- 린트나 정책 검증에서 "이게 오류인가?"하면서 매번 체크
반대로 문서화 해두면, 다음 비슷한 상황은 일관되게 처리되고, 팀이 학습한다.
다음
작은 문서 추가지만, 이런 식으로 "팀이 이미 결정해본 것들"을 아키이빙하는 습관이 쌓이면 온보딩도 빨라지고, 중복 논의도 줄어든다. 특히 automation 처럼 다양한 봇과 도구가 생겼다 지워지는 영역에서는 더욱 그렇다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.