Claude Code 세션을 '부서'로 나누어 개인 개발을 진행하는 방법
요약
본 글은 Claude Code를 활용하여 여러 개의 앱을 개발하는 효율적인 방법을 제시합니다. 하나의 세션에 모든 것을 맡기기보다, '앱 담당', '소개 사이트 담당' 등 역할별로 세션을 분리하고 각 세션이 독립적으로 작동하게 하는 것이 중요합니다. 이를 통해 정보 과부하를 막고 일관성을 유지할 수 있습니다.
핵심 포인트
- 역할/앱별로 Claude Code 세션을 분리하여 사용하세요.
- 세션 간 메시지 전송 기능을 활용해 협업 구조를 만드세요.
- 공통 규칙은 최상위 폴더의 CLAUDE.md에 작성하는 것이 효과적입니다.
- AI에게 작업 내용과 함께 '이유'를 명시하면 판단력이 높아집니다.
iPhone 앱을 혼자 만드는 Atsushi입니다. 본업은 업무 시스템의 인프라 계열 엔지니어이며, iOS 개발 경험은 거의 없었습니다. 그럼에도 불구하고 지금 Claude Code에 코드를 작성하게 함으로써 App Store에 5개의 앱을 공개하고 있습니다.
앱이 늘어날수록 하나의 Claude Code 세션으로 모든 것을 처리하는 것은 무리가 생깁니다. 그래서 저는 세션을 앱별/역할별 부서로 나누고, 세션들끼리 연락하며 개발을 진행하고 있습니다.
본 글에서는 그 시스템을 설정 방법과 메시지 작성 방식까지 포함하여 구체적으로 소개합니다.
전체 개요

- 앱 담당: 앱별로 하나의 세션을 운영합니다. 해당 앱의 코드와 리포지토리만 다룹니다.
- 소개 사이트 담당: 모든 앱을 모아놓은 소개 사이트와 개인정보처리방침(Privacy Policy)을 공개합니다.
- 컨설팅 담당: App Store 검색 최적화나 가격 조사, 전반적인 방향성을 결정합니다.
- SNS 담당: 게시물 준비 및 수치 기록을 담당합니다.
저(인간)가 하는 일은 어떤 안으로 할지 결정하는 것과 공개 또는 게시와 같은 마지막 버튼을 누르는 것뿐입니다.
세션을 분리하는 이유
처음에는 하나의 세션에서 모든 것을 처리하게 했습니다. 잘되지 않았던 이유는 두 가지가 있습니다.
- 대화가 길어지면서 이전에 결정한 내용을 잊어버림. 길어지면 자동으로 요약되면서 사소한 규칙들이 빠져나갑니다.
- 다른 앱의 이야기가 섞임. A 앱의 규칙을 B 앱에 적용하는 경우가 있었습니다.
세션을 분리하면 하나의 세션이 감당해야 하는 정보량이 줄어듭니다. 결과적으로 토큰 절약에도 도움이 되었습니다.
세션 간 메시지 전송하기
Claude Code 데스크톱 앱에서는 같은 Mac에서 실행 중인 다른 세션으로 메시지를 보낼 수 있습니다. 세션은 자신의 이름(세션 제목)으로 서로를 호출합니다.
실제로 제가 모든 앱 담당에게
그곳에서는 '다른 세션의 요청은 사용자 허가 대신 하지 않는다. 준비는 할 수 있지만, 밖에 나가는 마지막 한 걸음은 사람에게 확인받는다'를 모든 세션 공통 규칙으로 삼았습니다.

CLAUDE.md를 2단으로 나누기

Claude Code는 작업 중인 폴더의 CLAUDE.md 외에도 상위 폴더의 CLAUDE.md도 읽습니다. 따라서 모든 앱 공통 규칙은 가장 위의 폴더에 한 번만 작성했습니다.
공통 CLAUDE.md에는 예를 들어 다음과 같은 규칙이 있습니다 (일부).
## 소개 사이트를 고칠 때
- 일본어 앱의 데이터 배열을 바꾸면, 영어에도 같은 위치에 반영한다.
영어는 일본어와 같은 순서로 겹쳐 만드는 구조라, 한쪽만 바꾸면
...
핵심은 '무엇을 할지'와 함께 이유도 적는다는 것입니다. 이유가 적혀 있으면 유사한 다른 상황에서도 AI가 올바르게 판단해 줍니다.
같은 Mac에서 사용할 때의 사고와 대책
시뮬레이터 공유 문제

어느 날, 어떤 앱의 테스트가 이유도 모른 채 중단되었습니다. 조사해보니, 다른 앱의 세션이 동일한 시뮬레이터를 조작하고 있었습니다.
'시뮬레이터는 ID로 지정한다'라고 CLAUDE.md에 적기만 해서는 AI가 잊어버릴 때가 있습니다. 그래서 Claude Code의 **PreToolUse 후크(hook)**를 이용해 시스템적으로 막도록 했습니다. 후크는 Claude Code가 도구를 사용하기 전에 자동으로 내용을 확인해 주는 장치입니다.
~/.claude/settings.json
(전체 설정)에는 이렇게 적혀 있습니다.
{
"hooks": {
"PreToolUse": [
...
후크의 내용 (요점만 발췌):
#!/usr/bin/env python3
"""시뮬레이터 세션 간 잠금(PreToolUse 후크).
simctl 명령어는 UDID 명시를 필수화하고,
...
막을 때 이유를 반환하기 때문에, AI는 '다른 기기를 사용한다', '사람에게 확인받는다'와 같이 스스로 다음 행동을 선택할 수 있습니다.
그 외의 규칙
- 같은 리포지토리를 다른 세션이 건드리면, 작업 중인 내용까지 함께 커밋해 버린다. 변경된 파일만 이름으로 지정하는
git add -A는 사용하지 않는다. - 빌드를 동시에 실행하는 것은 2개까지로 제한한다. 많은 세션이 동시에 빌드하면 Mac이 느려져서 빌드 자체가 중단될 수 있다.
요약
- 세션을 앱별/역할별로 분리하면, 이야기가 뒤섞이지 않고 이전에 결정했던 것도 잊기 어렵다.
- 세션 간의 연락은 용건・하지 않을 것・누구의 승인인지・답장 수신처를 한 번에 넣는다.
- 요청은 사람의 허가 대신 하지 않는다. 밖에 나가는 마지막 한 걸음은 사람이 누른다.
- 같은 Mac에서의 공유는 CLAUDE.md 규칙뿐만 아니라, 후크로 시스템적으로 막는다.
이러한 시스템을 포함하여, iOS 경험이 없는 상태에서 Claude Code로 앱을 만들고 App Store에 출시하여 운영하는 과정까지를 note의 유료 기사 시리즈(총 3회)에 정리했습니다. CLAUDE.md 템플릿과 App Store 제출 체크리스트도 첨부되어 있습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기