Claude Code SDLC Simulation

AI & HCI
GitHub 기반 개발 전체 사이클을 Claude Code로 직접 처음부터 끝까지
Posted on Sept. 22, 2026, 4:40 a.m. by SANGJIN
random_image

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.
  • gh CLI over the claude.ai GitHub connector — the connector didn't take effect mid-session, so issue creation, PRs, reviews, and merges all went through gh instead.
  • 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 커넥터 대신 gh CLI — 커넥터가 세션 중간에 반영되지 않아서, 이슈 등록부터 PR·리뷰·머지까지 전부 gh CLI로 처리했다.
  • 프롬프트가 아니라 권한 모드로 통제 — "계획부터 보여줘"라는 말만으로는 기본 Auto mode 때문에 지켜지지 않는 경우가 있어서, Plan mode로 직접 전환해 구조적으로 막았다.
  • 충돌 해결 후 수동 검증 — Claude Code가 제안한 충돌 해결 코드를 그대로 커밋하지 않고, diff를 직접 읽고 확인한 뒤 커밋했다.

사용 기술: Python, pytest, git, GitHub CLI (gh), Claude Code

  • 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
Claude

Leave a Comment: