[Claude Code] GitHub 10년차, 처음으로 깃허브 오픈소스에 이슈를 제안한 날

## 📝 한줄 요약

oh-my-claudecode 플러그인의 버그를 발견하고, Claude Code와 함께 해결책을 만들어 GitHub 이슈로 공유했더니 5분 만에 같은 문제를 겪던 사람이 답글을 다는거 보고 소름 돋았네요!

바쁘시면 이것만 읽어도 돼요:

- 사용한 도구: Claude Code (Claude Opus 4.5)

- 문제: 프로젝트 A에서 켜둔 모드가 프로젝트 B에서도 보이는 버그

- 해결: Claude Code가 패치 코드를 작성하고, GitHub 이슈 제안까지 도와줌

- 임팩트: 이슈 등록 5분 만에 같은 문제를 겪던 사람의 답글

- 깨달은 점: 전문 개발자가 아니어도 오픈소스 생태계에 기여할 수 있다

## 🎯 이런 분들께 도움돼요

- AI 코딩 도구를 쓰다가 버그를 발견했는데 어떻게 해야 할지 모르는 분

- GitHub 이슈 제안은 "고수들만 하는 것"이라고 생각하시는 분

- AI와 협업해서 실제로 뭔가를 해결해본 경험이 궁금하신 분

## 😫 문제 상황 (Before)

휴대전화에 있는 한국어 문자 메시지 스크린샷

oh-my-claudecode라는 Claude Code 플러그인을 쓰고 있었다. 이 플러그인에는 ultrawork, ralph, autopilot 같은 모드가 있는데, 한 번 켜면 세션이 끝나도 상태가 유지된다.

문제는 프로젝트 A에서 켜둔 모드가 프로젝트 B에서도 보인다는 것.

```

프로젝트 A에서 ultrawork 시작

~/.omc/state/ultrawork-state.json 에 상태 저장 (전역 경로)

프로젝트 B에서 새 세션 시작

"ultrawork 활성화됨" 메시지가 뜸 ❌

```

분명히 프로젝트 B에서는 ultrawork를 켠 적이 없는데, 프로젝트 A의 상태가 보이는 거다. 원인을 찾아보니 플러그인이 상태를 전역 경로에 저장하기 때문이었다.

## 🛠️ 사용한 도구

- 도구명: Claude Code

- 모델: Claude Opus 4.5

- 특이사항: oh-my-claudecode 플러그인 사용 중

---

## 🔧 작업 과정

### 버그 발견 - "이거 왜 이래?"

프로젝트를 여러 개 왔다갔다하면서 작업하다 보니 이상한 현상을 발견했다. 분명히 이 프로젝트에서는 ultrawork를 안 켰는데 "ultrawork 활성화됨"이라는 메시지가 뜨는 거다.

처음에는 그냥 넘어갔는데, 계속 반복되니까 슬슬 짜증이 났다. 그래서 Claude Code에게 물어봤다.

```

이 프로젝트에서 ultrawork를 안 켰는데 왜 활성화됐다고 나와?

```

Claude가 상태 파일 경로를 확인해보더니 원인을 찾아줬다. ~/.omc/state/ 라는 전역 경로에 상태가 저장되기 때문에, 프로젝트 A에서 켠 상태가 프로젝트 B에도 영향을 주는 거였다.

---

### 해결책 설계 - "그러면 어떻게 해야 해?"

원인을 알았으니 해결책이 필요했다. Claude에게 물어봤다.

```

그러면 프로젝트별로 상태를 분리하려면 어떻게 해야 해?

```

Claude가 제안한 해결책은 간단했다:

1. 상태 저장할 때 project_path 필드를 추가해서 어떤 프로젝트에서 저장한 건지 기록

2. 상태 읽을 때 현재 프로젝트 경로와 비교해서, 다르면 무시

개념은 이해했는데, 이걸 실제 코드로 어떻게 만드는지는 몰랐다. 하지만 Claude Code는 알았다.

---

### 패치 코드 작성 - "코드까지 짜줘"

```

그러면 이 해결책을 실제로 적용하는 패치 코드를 만들어줘

```

Claude가 두 개의 스크립트를 만들어줬다:

- clean-stale-state.mjs: 세션 시작할 때 다른 프로젝트의 상태 파일을 정리

- apply-omc-patches.mjs: oh-my-claudecode 소스 코드에 패치를 자동 적용

그리고 이 스크립트들을 Claude Code의 SessionStart 훅에 등록하면, 세션 시작할 때마다 자동으로 실행된다고 알려줬다.

나는 코드가 어떻게 돌아가는지 100% 이해하지는 못했지만, Claude가 "이렇게 하면 됩니다"라고 해서 그대로 따라했다. 그리고 진짜 됐다.

---

### GitHub 이슈 등록 - "이거 나만 쓰기 아까운데?"

패치가 잘 동작하는 걸 확인하고 나니, 문득 이런 생각이 들었다.

"이 문제... 나만 겪는 거 아니잖아?"

그래서 Claude에게 물어봤다.

```

이 해결책을 다른 사람들도 쓸 수 있게 공유하려면 어떻게 해야 해?

```

Claude가 GitHub 이슈를 제안하라고 했다. 솔직히 GitHub를 10년 넘게 썼지만, 이슈를 직접 등록해본 적은 한 번도 없었다. 그건 버그를 찾아내는 슈퍼개발자들이나 하는 거라고 생각했다.

하지만 Claude가 이슈 템플릿까지 작성해줬다.

```

GitHub 이슈 제목이랑 본문 작성해줘

```

Claude가 영어로 깔끔하게 정리된 이슈 템플릿을 만들어줬다. 문제 상황, 기대 동작, 제안하는 해결책, 영향받는 파일들까지 다 정리되어 있었다.

복사해서 붙여넣기만 하면 되는 수준이었다.

---

스크린샷 스크린샷 스크린샷 스크린샷 스크린샷 스크린샷

### 5분 만에 답글 - "나만 겪는 문제가 아니었구나"

이슈를 등록하고 나서 다른 작업을 하고 있었는데, 5분 만에 알림이 왔다.

> "I also came across this issue and am trying to switch to local (project) installs but things seem to be messed up after going from a global install to a local one... Still debugging."

같은 문제를 겪고 있는 사람이 있었다.

이 순간 뭔가 묘한 기분이 들었다. 전문 개발자도 아닌 내가, GitHub 이슈를 통해 오픈소스 생태계에 기여하고 있다는 느낌?

바로 Claude에게 부탁해서 해결책 코드를 직접 이슈 댓글에 올렸다. (내 저장소가 private이라 링크만 공유하면 안 됐기 때문)

```

내 저장소가 private이니까, 해결 코드를 직접 이슈 댓글에 올려줘

```

Claude가 스크립트 전체 코드와 설치 방법을 정리해서 댓글로 달아줬다.

---

## ✅ 결과 (After)

### Before vs After

| 항목 | Before | After |

|------|--------|-------|

| 프로젝트 간 상태 | 섞임 | 완전 분리 |

| GitHub 이슈 경험 | 0건 | 1건 + 해결책 공유 |

| 오픈소스 기여 | 없음 | 있음 (!) |

### 결과물

- 패치 패키지: omc-project-isolation (설치 스크립트 포함)

- GitHub 이슈: https://github.com/Yeachan-Heo/oh-my-claudecode/issues/324

- 해결책 공유: 이슈 댓글에 전체 코드 포함

## 💬 이 과정에서 배운 AI 활용 팁

### 효과적이었던 것

1. "왜?"로 시작해서 "어떻게?"로 끝내기: 문제 원인 파악 → 해결책 설계 → 코드 작성 → 공유까지 자연스럽게 연결됨

2. Claude가 제안하면 일단 해보기: "GitHub 이슈를 등록해보세요"라는 제안을 따라했더니 실제로 도움이 됨

3. 복사-붙여넣기 수준으로 만들어달라고 하기: "이슈 템플릿 작성해줘", "댓글용 코드 정리해줘" 같이 구체적으로 요청

### 이렇게 하면 안 돼요

1. 혼자만 쓰고 끝내기: 해결책을 찾았으면 공유하는 게 모두에게 이득

2. "나는 개발자가 아니니까"라고 포기하기: AI가 옆에 있으면 가능함

## 🌍 다른 업무에 적용한다면?

- 회사에서 쓰는 도구에 버그가 있을 때 → 원인 분석하고 해결책 제안하기

- 반복되는 불편함이 있을 때 → 자동화 스크립트 만들어서 팀에 공유하기

- 오픈소스 도구를 쓰다가 문제를 발견했을 때 → 이슈 등록하기 (생각보다 쉬움)

## 🚀 앞으로의 계획

이번 경험으로 "오픈소스 기여"가 생각보다 어렵지 않다는 걸 알게 됐다. 앞으로는:

1. oh-my-claudecode 메인테이너가 이 패치를 공식으로 반영해주면 좋겠음

2. 비슷한 불편함을 발견하면 적극적으로 이슈 등록해볼 예정

3. 해결책을 찾으면 혼자만 쓰지 않고 공유하는 습관 들이기

## 📋 재사용 가능한 프롬프트

### 프롬프트 1: 버그 원인 분석

> [현상 설명]. 왜 이런 일이 발생하는지 원인을 찾아줘.

### 프롬프트 2: 해결책 코드 요청

> [문제 설명]. 이 문제를 해결하는 패치 코드를 만들어줘.

### 프롬프트 3: GitHub 이슈 템플릿

> 이 해결책을 GitHub 이슈로 제안하고 싶어. 이슈 제목이랑 본문을 영어로 작성해줘.

### 프롬프트 4: 코드 공유용 댓글

> 내 저장소가 private이라 링크를 공유할 수 없어. 이슈 댓글에 직접 올릴 수 있게 코드랑 설치 방법을 정리해줘.

---

## 🤔 마치며

GitHub를 10년 넘게 쓰면서, 내가 이슈를 제안하는 날이 올 줄은 몰랐다.

버그를 발견해서 제안하는 건 슈퍼개발자들만 하는 줄 알았는데, 불편함을 느낀 즉시 Claude Code와 협업해서 해결했고, 이 좋은 해결방법을 혼자만 쓰는 게 아니라 같이 쓸 수 있는 방법을 Claude가 알려줬다.

사실 별 생각 없이 이슈를 올렸는데, 5분 만에 같은 문제를 가진 사람의 답글이 달린 걸 보고 묘한 기분이 들었다.

심지어... 이 글을 작성하는 와중에!!!

오픈소스 주인이 수정사항을 적용했다고 답변을 달아줌!~!!

전문 개발자가 아님에도 Git 생태계에 기여하는 사람이 된 느낌?

AI와 함께하는 삶이 의미를 가지는 부분이 여기에도 있다는 걸 느꼈다. 말로 표현하기 어렵다.

3
8개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요