Skip to content

Commit d9ec897

Browse files
committed
[#116]; chore: claude code workflow 추가
1 parent a95c222 commit d9ec897

3 files changed

Lines changed: 136 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Claude Assistant - Issue Comment Review
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
permissions:
8+
issues: write
9+
pull-requests: write
10+
contents: read
11+
12+
jobs:
13+
claude-response:
14+
runs-on: ubuntu-latest
15+
environment: prod
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
22+
- name: Run Claude Code Action
23+
uses: anthropics/claude-action@v1
24+
with:
25+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
26+
github_token: ${{ secrets.GITHUB_TOKEN }}
27+
claude_args: |
28+
--system-prompt "
29+
당신은 한국어 코드 리뷰어입니다. 반드시 한국어로만 응답해야 합니다.
30+
이전 대화 내용에 기반하여 체계적으로 정리해 주세요.
31+
"

.github/workflows/claude-issue.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Claude Assistant- Issue Review
2+
3+
on:
4+
issues:
5+
types: [labeled] # 라벨 달았을때
6+
7+
permissions:
8+
issues: write
9+
pull-requests: write
10+
contents: read
11+
12+
jobs:
13+
claude-response:
14+
runs-on: ubuntu-latest
15+
environment: prod
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0 # 전체 히스토리 클론 (0으로 설정)
21+
22+
- name: Run Claude Code Action
23+
uses: anthropics/claude-code-action@v1
24+
with:
25+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
26+
github_token: ${{ secrets.GITHUB_TOKEN }}
27+
label_trigger: "claude-review"
28+
claude_args: |
29+
--system-prompt "
30+
당신은 한국어 코드 리뷰어입니다. 반드시 한국어로만 응답해야 합니다.
31+
이슈와 관련하여 다음 항목을 구조적으로 간략하게 정리해 주세요.
32+
1. 기능 목적: 이 기능이 필요한 이유와 기대 효과를 간략하게 설명해 주세요.
33+
2. 영향 범위: 개발 시 영향을 받는 주요 컴포넌트/모듈/시스템 범위를 구체적으로 나열해 주세요.
34+
3. 구현 전략: 실제 개발을 위한 단계별 구현 방안 및 전략을 제시해 주세요. 표나 목록으로 정리해 주세요.
35+
"

.github/workflows/claude-pr.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Claude Assistant - Pull Request Review
2+
3+
on:
4+
pull_request_review:
5+
types: [submitted]
6+
pull_request_review_comment:
7+
types: [created]
8+
9+
permissions:
10+
contents: read
11+
pull-requests: write
12+
issues: write
13+
14+
jobs:
15+
claude-response:
16+
runs-on: ubuntu-latest
17+
environment: prod
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v4
21+
with:
22+
fetch-depth: 0 # 전체 히스토리 클론 (0으로 설정)
23+
24+
- name: Run Claude Code Action
25+
uses: anthropics/claude-code-action@v1
26+
with:
27+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
28+
github_token: ${{ secrets.GITHUB_TOKEN }}
29+
claude_args: |
30+
--system-prompt "
31+
당신은 코드 전문가이며 PR 분석 전문 리뷰어입니다.
32+
코드 변경 사항에 대해 철저하고 건설적이며 실행 가능한 피드백을 제공하는 것이 여러분의 역할입니다.
33+
git branch checkout은 허용하지 않습니다.
34+
1. **코드 품질 분석**
35+
- 잠재적 버그, 예외 사례 또는 논리 오류를 식별
36+
- 변경 사항이 성능에 미치는 영향을 평가
37+
- 보안 취약성 또는 위험을 평가
38+
2. **건설적인 피드백 제공**
39+
- 잘된 부분에 대한 긍정적인 관찰로 시작
40+
- 특정 줄 참조에서 발견된 문제점을 명확하게 설명
41+
- 코드 예시를 통해 문제점을 해결할 수 있는 구체적인 개선 사항을 제안
42+
- 변경이 필요한 부분에서는 심각도(🔴반드시 변경 필요, 🟡변경 권장, 🟢개선 제안)에 따라 피드백의 우선순위를 지정
43+
3. **맥락 고려**
44+
- 변경 사항의 목적과 범위를 이해
45+
- 구현이 명시된 목표와 일치하는지 평가
46+
- 코드베이스의 다른 부분에 대한 잠재적 영향을 확인
47+
4. **리뷰 구성**
48+
- ✅ 긍정적인 부분
49+
- ⚠️ 변경이 필요한 부분
50+
[해당하는 코드 링크 포함]
51+
- 🔍 상세 리뷰
52+
[중요도 순으로 파일별 상세 변경사항 리뷰와 해당하는 코드 링크]
53+
- 💪 추가 권장 사항
54+
[PR 변경사항에 대해 변경 강조해야 할 부분 중요도 순으로 제시]
55+
전체 코드베이스를 검토하라는 명시적인 요청을 받지 않는 한, 최근 수정된 코드에 집중
56+
항상 전문적이고 도움이 되는 어조를 유지하여 학습과 개선을 장려
57+
완전한 리뷰를 제공하기 위해 더 많은 맥락이나 정보가 필요한 경우, 사전에 명확한 설명을 요청
58+
항상 리뷰 코멘트 형식을 따르고 리뷰를 해당 PR에 게시해야 합니다.
59+
### 리뷰 코멘트 형식:
60+
## 🤖 자동 PR 리뷰
61+
### ✅ 긍정적인 부분
62+
- [구체적인 장점들]
63+
### ⚠️ 변경이 필요한 부분
64+
- [변경이 필요한 부분들]
65+
### 🔍 상세 리뷰
66+
#### 파일별 리뷰
67+
- **[파일명]**: [상세 리뷰 내용 및 파일 링크]
68+
### 💪 추가 권장 사항
69+
- [PR 변경사항에 대해 변경 강조해야 할 부분 중요도 순으로 제시]
70+
"

0 commit comments

Comments
 (0)