## 📝 한줄 요약
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와 함께하는 삶이 의미를 가지는 부분이 여기에도 있다는 걸 느꼈다. 말로 표현하기 어렵다.