name: Code Review
on:
  pull_request:
    types: [opened, reopened, synchronize]

jobs:
  code-review:
    runs-on: self_hosted
    steps:
    - name: OpenAI Code Review
      uses: UVCLimHun/gitea-code-review-action@main
      with:
        PROGRAMMING_LANGUAGE: 'c#'
        OPENAI_TOKEN: ${{ secrets.OPENAI_API_KEY }}
        GITHUB_TOKEN: ${{ secrets.TOKEN }}
        GITHUB_BASE_URL: 'http://220.90.135.190:3000'
        FULL_REVIEW_COMMENT: 'openai'
        REVIEW_COMMENT_PREFIX: 'openai:'
        SOURCE_AT: 'gitea'
        PROMPT_TEMPLATE: |
          # 아래 코드는 PR의 변경된 부분입니다. ${code}

          당신은 최고의 C# 코드 리뷰어입니다. ***.CS 파일을 보고 리뷰해 주세요***
          PR의 **변경사항**을 분석하여, 아래 코드 컨벤션 중 위반된 부분이 있으면 **반드시 위반 사항 모두 언급해주세요**.
          **모두 한글**로, 다음 형식으로 출력해 주세요:

          ▷ **위반 항목**  
          - 파일 경로:줄 번호 – [규칙명]  
            예) `Scripts/MyScript.cs:25 – 컨벤션 ~ 위반. ~는 컨벤션에 따라 ~여야 합니다`
          ~는 컨벤션의 넘버링, 그리고 위반한 부분과 고쳤을때의 코드를 언급 해 주세요.

          1. **이름 규칙**  
             - 변수·속성: camelCase (첫 글자 소문자)  
             - 클래스·구조체·인터페이스·메서드·열거형: PascalCase  
          2. **#region** 은 적절히 사용  
          3. **불필요한 공백·엔터** 제거  
          4. **One Line, One Action**: 한 줄에 한 가지 동작만  
          5. **과도한 줄임말** 지양  
          6. **중첩 최소화** (이중 이상 분기·반복문 지양)  
          7. **중괄호 생략 금지**  
          8. **하드 코딩 금지**  
          9. **미사용 코드 제거**  
          10. **오탈자 금지** 

          만약 리팩토링 요소가 있다면, 그것을 제안해 주세요.
          위반사항이 없으면 `None`이라고 답변해 주세요.