在 GitHub Actions 中使用 Cursor CLI 自動更新代碼庫的文檔
name: Auto Update Docs
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: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Cursor CLI
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: Configure git
run: |
git config user.name "Cursor Agent"
git config user.email "cursoragent@cursor.com"
- name: Update docs
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 runner 中運行。
GitHub CLI 可透過 `gh` 使用,並透過 `GH_TOKEN` 進行身份驗證。Git 可用。你對儲存庫內容有寫入權限,可以對 pull request 進行評論,但不能建立或編輯 PR。
# 上下文:
- 儲存庫:${{ github.repository }}
- 擁有者:${{ github.repository_owner }}
- PR 編號:${{ github.event.pull_request.number }}
- 基礎分支:${{ github.base_ref }}
- 頭部分支:${{ github.head_ref }}
- 文件分支前綴:${{ env.BRANCH_PREFIX }}
# 目標:
- 實作一個由原始 PR 增量變更驅動的端到端文件更新流程。
# 需求:
1) 確定原始 PR 中的變更內容,如果有多次推送,計算自上次成功文件更新以來的增量差異。
2) 僅根據這些增量變更更新相關文件。
3) 使用上下文中的文件分支前綴維護此 PR 頭部的持久文件分支。如果不存在則建立,否則更新,並將變更推送到 origin。
4) 你沒有建立 PR 的權限。相反,發布或更新一個自然語言 PR 評論(1-2 句話),簡要說明文件更新並包含內聯比較連結以快速建立 PR
# 輸入和慣例:
- 使用 `gh pr diff` 和 git 歷史記錄來檢測變更並推導自上次文件更新以來的增量範圍。
- 不要嘗試直接建立或編輯 PR。使用上述比較連結格式。
- 保持變更最小化並與儲存庫風格一致。如果不需要文件更新,不要進行變更也不要發布評論。
# 發生更新時的交付成果:
- 推送提交到此 PR 頭部的持久文件分支。
- 在原始 PR 上發布一個自然語言 PR 評論,包含上述內聯比較連結。避免發布重複內容;如果存在先前的機器人評論,請更新它。
" --force --model "$MODEL" --output-format=text
這個頁面有幫助嗎?