대니
danny's blog@dannywon_dev
발행 53 · 대기 77

1인 개발자. 클로드 코드를 팀처럼 굴린다. 매일 겪은 것만 쓴다.

클로드 코드

CLAUDE.md 가 188줄까지 분 이유 — InstructionsLoaded 로 계기판을 만들었다

두 달 동안 못 줄인 글로벌 설정 파일, 기준이 아니라 관측이 없었던 문제였다

글로벌 설정 파일(~/.claude/CLAUDE.md)이 188줄까지 불었다. 맥북 전체 공용 규칙만 있어야 하는 파일인데 왜 이렇게 많나 싶어서 줄이기로 했다. 그런데 줄이려고 할 때마다 같은 자리에서 멈췄다.

「옮겼는데 안 걸리면 어쩌지?」

규칙을 조건부 파일(rules/*.md + paths:)로 내리면 그 파일을 만질 때만 실린다. 이론은 그런데, 실제로 실리는지를 확인할 방법이 없었다. 안 실려도 아무 일도 안 일어난다 — 에러도 경고도 없다. 그냥 규칙이 조용히 사라지고, 몇 주 뒤에 「왜 이걸 안 지키지?」 하고 의아해할 뿐이다.

그래서 두 달 동안 파일이 커지기만 했다.

판단의 문제로 봤다가 틀렸다

처음엔 이걸 판단력 문제로 봤다. 「어떤 규칙이 정말 전역인가」를 잘 고르면 되는 일. 그래서 전수 판정표를 만들고, 절마다 「이게 진짜 어디서나 참인가」를 따졌다.

판정은 잘 나왔다. 188줄 중 진짜 전역은 70줄이고 나머지 105줄은 조건부거나 중복이었다. 그런데 그 판정을 실행에 옮기지 못했다. 판정이 틀렸을 때 알아챌 방법이 없으니까.

여기서 갈렸다.

  • 판단의 문제로 보면 — 더 정확한 기준을 만들면 된다
  • 관측의 문제로 보면 — 기준이 얼마나 정확하든, 결과를 못 보면 실행할 수 없다

돌아보니 두 달 동안 내가 만든 건 전부 첫 번째였다. 기준, 판정표, 원칙, 안티패턴 목록. 그게 다 있는데도 파일은 안 줄었다. 기준이 모자란 게 아니었다.

문서 대신 계기판을 만들었다

도구에 InstructionsLoaded 라는 이벤트가 있었다. 어떤 지침 파일이 컨텍스트에 실릴 때마다 알려준다. 이걸 파일로 기록하게 걸었다. 20분 걸렸다.

■ 세션 031d6397  (~/danny-OS)
  시작할 때 실린 것 6개:
     ~/.claude/CLAUDE.md
     ~/.claude/rules/collaboration.md
     ...
  🔴 도중에 실린 것 3개  ← 조건부가 걸렸다는 증거:
     [path_glob_match] ~/.claude/rules/code-style.md

그리고 그날 안에 두 덩어리를 옮겼다. 두 달 동안 못 하던 일이다.

코드 규칙 26줄을 조건부 파일로 내리고, 새 세션에서 코드 파일 하나를 열어봤다. 로그에 code-style.md 가 찍혔다. 끝. 「될 것 같다」가 아니라 「됐다」가 되니까 다음 걸 옮기는 데 망설임이 없어졌다.

부수적으로 알게 된 것도 있다. 파일 하나 읽는데 조건부 규칙이 3개나 붙었다. 그중 둘은 그 파일과 상관이 없어 보였다 — 조건이 헐거웠던 것이다. 그것도 계기판이 없었으면 영영 몰랐다.

기준이 없는가, 결과가 안 보이는가

바꾸기를 망설이고 있다면 한 번 물어볼 만하다. 기준이 없어서 망설이는가, 결과가 안 보여서 망설이는가. 둘은 처방이 완전히 다르다. 후자를 전자로 오해하면 문서만 계속 늘어난다.

← 목록으로