Claude Code SDLC Simulation
AI & HCIGitHub 기반 개발 전체 사이클을 Claude Code로 직접 처음부터 끝까지
Posted on Sept. 22, 2026, 4:40 a.m. by
SANGJIN
Ran a full software development cycle end-to-end using Claude Code, against a small Python sample project built with a real, reproducible bug and a branch deliberately set up to cause an actual merge conflict later.
| Stage | What happened |
|---|---|
| Clone & issue check | Cloned the repo, had Claude Code read the codebase and analyze the reported bug |
| Fix branch → code fix | Created a branch, reviewed a plan before any edit, then applied the fix |
| Test | Wrote a regression test first (failing), then confirmed it passed after the fix |
| PR | Generated a diff-based PR description automatically |
| Review → revise | Generated reviewer-style comments, posted them, then addressed them as the developer |
| Merge conflict | Resolved a real conflict against a colliding branch, verified the diff by hand |
Key design decisions
- Real merge conflict, not staged — a second branch was prepared in advance to touch the same lines as the fix, so the conflict at merge time was genuine, not simulated after the fact.
ghCLI over the claude.ai GitHub connector — the connector didn't take effect mid-session, so issue creation, PRs, reviews, and merges all went throughghinstead.- Permission mode over prompt wording — asking Claude Code to "show a plan first" wasn't reliably honored under the default Auto mode; switching to Plan mode enforced it structurally instead.
- Manual verification after conflict resolution — Claude Code's proposed resolution was reviewed diff-by-diff before committing, rather than accepted as-is.
Stack: Python, pytest, git, GitHub CLI (gh), Claude Code
===
Python으로 만든 작은 샘플 프로젝트를 대상으로, Claude Code를 이용해 개발 사이클 전체를 처음부터 끝까지 직접 돌려봤다. 실제 재현 가능한 버그와, 나중에 진짜로 충돌이 나도록 미리 준비해둔 브랜치를 포함시켰다.
| 단계 | 실제로 한 일 |
|---|---|
| Clone & 이슈 확인 | 저장소를 clone하고, Claude Code가 코드베이스를 읽고 이슈 원인을 분석 |
| Fix 브랜치 → 코드 수정 | 브랜치 생성 후, 수정 전 계획을 먼저 검토하고 승인한 뒤 적용 |
| 테스트 | 재현 테스트를 먼저 작성(실패 확인) → 수정 후 통과 확인 |
| PR | diff 기반 PR 설명을 자동 생성 |
| 리뷰 → 반영 | 리뷰어 관점 코멘트를 생성해 남긴 뒤, 개발자 입장에서 반영 |
| Merge 충돌 | 실제로 충돌하는 브랜치를 머지하며 충돌 해결, 결과 diff를 직접 검증 |
핵심 설계 결정
- 연출이 아닌 진짜 머지 충돌 — 수정하는 함수의 같은 부분을 건드리는 브랜치를 미리 준비해서, 머지 시점에 실제로 충돌이 나도록 설계했다.
- claude.ai 커넥터 대신
ghCLI — 커넥터가 세션 중간에 반영되지 않아서, 이슈 등록부터 PR·리뷰·머지까지 전부ghCLI로 처리했다. - 프롬프트가 아니라 권한 모드로 통제 — "계획부터 보여줘"라는 말만으로는 기본 Auto mode 때문에 지켜지지 않는 경우가 있어서, Plan mode로 직접 전환해 구조적으로 막았다.
- 충돌 해결 후 수동 검증 — Claude Code가 제안한 충돌 해결 코드를 그대로 커밋하지 않고, diff를 직접 읽고 확인한 뒤 커밋했다.
사용 기술: Python, pytest, git, GitHub CLI (gh), Claude Code
Links
- Velog: https://velog.io/@kosang234/Claude-Code%EB%A1%9C-GitHub-%EA%B8%B0%EB%B0%98-%EA%B0%9C%EB%B0%9C-%EC%A0%84%EC%B2%B4-%EC%82%AC%EC%9D%B4%ED%81%B4%EC%9D%84-%EC%8B%9C%EB%AE%AC%EB%A0%88%EC%9D%B4%EC%85%98%ED%95%98%EB%A9%B4%EC%84%9C-%EB%8A%90%EB%82%80-%EA%B2%83%EB%93%A4
Leave a Comment: