GitHub Actions에서 Cursor CLI를 사용해 리포지토리 문서를 업데이트
name: 문서 업데이트
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
permissions:
contents: write
pull-requests: write
jobs:
auto-docs:
if: ${{ !startsWith(github.head_ref, 'docs/') }}
runs-on: ubuntu-latest
steps:
- name: 저장소 체크아웃
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cursor CLI 설치
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: git 설정
run: |
git config user.name "Cursor Agent"
git config user.email "cursoragent@cursor.com"
- name: 문서 업데이트
env:
MODEL: gpt-5
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH_PREFIX: docs
run: |
cursor-agent -p "너는 GitHub Actions 러너에서 동작 중이야.
GitHub CLI는 \`gh\`로 사용할 수 있고 \`GH_TOKEN\`으로 인증되어 있어. Git도 사용 가능해. 저장소 콘텐츠에 쓰기 권한이 있고 PR에 댓글을 달 수는 있지만, PR을 생성하거나 수정하면 안 돼.
# 컨텍스트:
- Repo: ${{ github.repository }}
- Owner: ${{ github.repository_owner }}
- PR Number: ${{ github.event.pull_request.number }}
- Base Ref: ${{ github.base_ref }}
- Head Ref: ${{ github.head_ref }}
- Docs Branch Prefix: ${{ env.BRANCH_PREFIX }}
# 목표:
- 원본 PR의 점진적 변경 사항에 의해 구동되는 엔드투엔드 문서 업데이트 흐름을 구현해.
# 요구사항:
1) 원본 PR에서 무엇이 변경되었는지 파악하고, 여러 번 푸시가 있었다면 마지막으로 문서 업데이트가 성공한 이후의 증분 diff를 계산해.
2) 그 증분 변경에 기반해 관련 문서만 업데이트해.
3) 컨텍스트의 Docs Branch Prefix를 사용해 이 PR 헤드에 대한 지속적인 문서 브랜치를 유지해. 없으면 생성하고, 있으면 업데이트한 뒤 origin으로 푸시해.
4) PR을 생성할 권한은 없어. 대신 문서 업데이트를 간단히 설명하고 빠르게 PR을 만들 수 있는 인라인 비교 링크를 포함한 자연어 PR 댓글을 하나(1–2문장) 올리거나 업데이트해.
# 입력과 규칙:
- \`gh pr diff\`와 git 히스토리를 사용해 변경을 감지하고 마지막 문서 업데이트 이후의 증분 범위를 도출해.
- PR을 직접 생성하거나 수정하려고 시도하지 마. 위의 비교 링크 형식을 사용해.
- 변경은 최소화하고 저장소 스타일과 일관되게 유지해. 문서 업데이트가 불필요하면 변경하지 말고 댓글도 남기지 마.
# 업데이트 발생 시 산출물:
- 이 PR 헤드에 대한 지속적인 문서 브랜치로 커밋이 푸시됨.
- 위의 인라인 비교 링크를 포함한 자연어 PR 댓글 한 개를 원본 PR에 남겨. 중복 댓글은 피하고, 이전 봇 댓글이 있으면 그것을 업데이트해.
" --force --model "$MODEL" --output-format=text
이 페이지가 도움이 되었나요?