Claude Code로 개발 워크플로우
Claude Code를 활용한 효율적인 개발 워크플로우 구축 방법
Claude Code로 개발 워크플로우
Claude Code를 쓰면서 느낀 점이 매우 똑똑한 주니어와 페어 프로그래밍을 하는 느낌이었다. 똑똑한데 개발의 방향이랑 뭘 개발해야 하는지 명확하게 이해하지 못하는 주니어랄까?
기존에 많은 유저가 쓰는 라이브러리는 정말 잘 쓰지만 조금이라도 비주류의 라이브러리는 상상 코딩하거나 제대로 동작을 못 시키거나 해서 따로 관련 샘플이나 자료를 링크 리스트를 만들어서 학습을 시켜서 진행을 해야 했다.
그리고 어떤 작업은 내가 작업 플랜을 세우고 시키는 것보다 내가 직접 개발하는 게 훨씬 빠르고 나은 것도 있었다.
문제를 해결할 때 생각보다 시간이 걸릴 때도 있었다.
그래서 생각한 게 멀티 작업이다. Claude Code를 멀티 터미널로 열고, 작업 플랜을 각각 업로드하고 작업하게 하고 단계별로 성공할 때마다 커밋을 남기게 학습시키고 난 내가 할 수 있는 작업을 하는 것이다.
그리고 난 일정 시간마다 작업 결과물을 확인하고, 다시 지시를 수정하고 난 내 업무를 또 하는 멀티태스킹으로 한다면 생산성이 매우 올라갈 것이라고 판단했다.(이미 앤트로픽 영상에 있더라...)
그래서 AI 개발 워크플로우를 찾아보고 나름대로 만들어 보기로 했다.
Claude Code를 이용한 전체 워크플로우
- Jira를 연동해서 이슈 생성 후 상태값이 '진행중'으로 변경되면 Jira 내용을 읽어서 작업 계획을 세우고, 작업을 완료하면 자동으로 draft PR을 생성한다.
- 생성된 PR을 리뷰하면서 빠진 부분이나 문제가 없는지 확인하고, draft를 해제한 PR을 업데이트한다.
- QA를 요청한다.
이를 구현하려면 워크플로우를 연결할 수 있는 추가적인 요소가 필요했다. 서버나 인프라 등 다른 구성 요소들이 필요해서 이 워크플로우는 추후 개발하기로 했다. n8n과의 조합으로 가능해 보이지만, 이것만 집중할 수 없어서 다음 계획으로 전환했다.
로컬에서 Claude Code로 개발 워크플로우
- Git Subcommand를 이용해서 Jira 링크를 주면 git worktree를 생성하고 프로젝트를 초기 설정한 후 VS Code를 실행한다. 이때 CLAUDE.md가 자동으로 로드되어 기본적인 내용이 설정된다.
- 작업에 따라서 다음과 같이 사전 작업을 진행한다.
- 신규
- 빈 컴포넌트와 빈 페이지 또는 껍데기 컴포넌트를 만든다. (TDD의 경우는 테스트 케이스를 작성한다.)
- 컴포넌트의 상단에 앵커 주석 시스템을 이용해서 AI가 처리할 작업을 작성한다.
- 이슈
- 이슈의 내용을 정리해서 관련된 파일 리스트와 해결해야 하는 문제를 정의한 후 복사해서 제공한다.
- 신규
- git worktree를 이용해서 또다른 작업트리를 생성(1번 ~ 3번 반복)한다.
- CLAUDE.md에 mcp puppeteer(end-to-end)를 이용해서 브라우저 테스크까지 진행 콘솔창을 보고 자동수정하게 룰이 추가되어 있어야 한다. 에러가 안나면 작업이 대기 상태로 되게 한다.
- worktree별로 열린 에디터를 돌아다니면서 해당 이슈나 신규 기능이 제대로 작성되었는지 검토한다. 정상 동작할 때마다 Slash Command를 이용해서 현재 바뀐 코드 내용을 바탕으로 지금까지 작업한 내용을 커밋 메세지로 저장하게 한다.
- 검토가 완료되면 다음과정중 하나로 진행하게 된다.
- 별도의 티켓으로 생성한경우 Git Subcommand를 이용해서 QA 브랜치에 머지 및 푸시하고 PR을 생성한다.
- 하나의 티켓에서 별도의 작업으로 분리(하나의 티켓 작업인데 작업을 쪼개서 워크트리로 진행한경우이다. 예를 들면 함수나 기능별로 워크트리를 만들어서 작업 시키고 하나의 브랜치로 통합하는 경우)한경우 부모가 되는 브랜치에 머지 한다.
- 위 과정이 끝나면 git worktree를 삭제하고 워크트리에서 해제한다.
Claude Code로 워크플로우를 만들 때 주요 구성 요소는 다음과 같다.