Conversation
PR 시 변경된 Swift 코드에 대해 Gemini AI 자동 리뷰를 수행하는 GitHub Actions 워크플로를 추가한다. TCA + Clean Architecture 멀티모듈 구조에 맞게 프롬프트를 작성했다. Closes #9 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
diff 라인 어노테이션 기반 파싱을 추가해 Gemini가 [LINE N] 라인에만 코멘트하도록 하고, JSON 응답을 pulls.createReview로 인라인 게시한다. 프롬프트는 Swift 6 / SwiftUI / TCA 1.25 / 멀티모듈 Clean Architecture 컨벤션과 P1~P5 심각도 기준에 맞게 전면 재작성
duthd3
reviewed
Apr 21, 2026
Collaborator
duthd3
left a comment
There was a problem hiding this comment.
심각도 상태 표시 해주는거 너무 좋아요! 고생하셨어요
duthd3
approved these changes
Apr 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
*.swiftdiff를 라인 단위로 파싱해[LINE N]/[CTX N]/[DEL]마커로 어노테이션 후 Gemini에게 전달responseMimeType: application/json으로 강제해summary+comments[](path/line/code_snippet/body) 구조로 수신valid_lines.json+line_content_map.json기반 스냅 로직(정확 매치 → code_snippet 매치 → ±5 라인 근접) 추가, 유효 라인에만 코멘트 게시pulls.createReview로 인라인 리뷰 코멘트 방식으로 전환Effect.run캡처,Store.scope, SubView 규칙, guard/final/private 등)@ObservableState전체 캡처는 P2, Action 네이밍 위반은 P3, View suffix·Spacer 남용은 P4, 오타는 P5Review Example
실제 워크플로 실행 시 PR의 해당 코드 라인에 아래와 같은 인라인 코멘트가 달린다.
Test plan
.swift변경을 포함한 드래프트 PR을develop대상으로 띄워 워크플로가 성공하는지 확인performLogin같은 의도 기반 Action 네이밍을 의도적으로 심었을 때 P3로 지적되는지 확인.swift변경이 없는 PR에서는skip_review=true로 Gemini 호출이 생략되는지 확인Closes #9
🤖 Generated with Claude Code