‹ 首页

autonomous-pr

@vibeeval · 收录于 1 周前 · 上游提交 1 个月前

Otonom PR yasam dongusu. PR olustur, CI bekle, hata varsa duzelt, review feedback'i uygula, merge'e hazirla. Budget ve zaman limiti ile kontrol altinda tutulan tam otonom PR pipeline'i.

适合你,如果经常花大量时间手动处理PR的CI失败和审查反馈

/ 下载安装
autonomous-pr.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add vibeeval/vibecosystem/autonomous-pr
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- vibeeval/vibecosystem/autonomous-pr
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify vibeeval/vibecosystem/autonomous-pr
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
515GitHub stars
~1.2K上下文体积 · 单文件
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · cea9462

Autonomous PR Lifecycle

PR'i olusturmaktan merge'e kadar tum sureci otonom yonet. CI basarisiz olursa duzelt, review feedback gelirse uygula, butce asarsa dur.

PR Pipeline
1. BRANCH    → Feature branch olustur
2. IMPLEMENT → Kodu yaz (kraken/spark)
3. VERIFY    → Lokal test + lint + build
4. PR CREATE → gh pr create
5. CI WAIT   → CI pipeline'i bekle
6. CI FIX    → Basarisizsa duzelt, tekrar push (max 3)
7. REVIEW    → Review feedback bekle
8. APPLY     → Feedback'i uygula
9. READY     → Merge'e hazir bildir
Kullanim
Basit: Tek PR
# Claude'a otonom PR olusturttir
claude -p "
Feature: kullanici profil sayfasi ekle
Branch: feat/user-profile
PR target: main

Pipeline:
1. Branch olustur
2. Implement et
3. Test yaz
4. PR olustur
5. CI bekle ve fix et
6. Hazir olunca bildir
"
Gelismis: Budget ve Zaman Limiti
claude -p "
Feature: auth middleware refactor
Branch: refactor/auth-middleware
PR target: main

Limitler:
  --budget 500K tokens    # Max token harcama
  --max-duration 30m      # Max sure
  --max-ci-retries 3      # Max CI fix denemesi
  --auto-merge false      # Merge'i ben onaylayacagim

Basarisiz olursa:
  Draft PR olarak birak, ne yaptigini acikla
"
CI Fix Dongusu
CI BASARISIZ
  │
  ├─ Build hatasi?
  │   └─ build-error-resolver agent cagir
  │      └─ Fix → Push → CI tekrar bekle
  │
  ├─ Test basarisiz?
  │   └─ Hata mesajini oku
  │      ├─ Test kodu hatali → Test'i duzelt
  │      └─ Implementation hatali → Kodu duzelt
  │      └─ Push → CI tekrar bekle
  │
  ├─ Lint hatasi?
  │   └─ Otomatik fix (prettier, eslint --fix)
  │      └─ Push → CI tekrar bekle
  │
  ├─ Type hatasi?
  │   └─ Type fix uygula
  │      └─ Push → CI tekrar bekle
  │
  └─ 3. deneme basarisiz?
      └─ DURR → Draft PR olarak birak
         └─ PR body'ye aciklama yaz
CI Fix Script
#!/bin/bash
# scripts/ci-fix-loop.sh

MAX_RETRIES=3
RETRY=0

while [ $RETRY -lt $MAX_RETRIES ]; do
  echo "=== CI Check (attempt $((RETRY + 1))/$MAX_RETRIES) ==="

  # CI durumunu kontrol et
  STATUS=$(gh pr checks --json state -q '.[].state' | sort -u)

  if echo "$STATUS" | grep -q "SUCCESS"; then
    echo "CI PASSED"
    exit 0
  fi

  if echo "$STATUS" | grep -q "PENDING"; then
    echo "CI bekliyor..."
    sleep 30
    continue
  fi

  # Basarisiz -- fix dene
  RETRY=$((RETRY + 1))
  echo "CI FAILED (attempt $RETRY)"

  # Hata detayini al
  FAILED=$(gh pr checks --json name,state -q '.[] | select(.state=="FAILURE") | .name')

  for check in $FAILED; do
    echo "Fixing: $check"
    # Claude'a fix ettir
    claude -p "CI check '$check' failed. Read the error, fix it, commit." --no-input
  done

  git push
  sleep 60  # CI'in yeniden baslamasini bekle
done

echo "CI FIX BASARISIZ ($MAX_RETRIES deneme)"
exit 1
Review Feedback Dongusu
REVIEW GELDI
  │
  ├─ Approval?
  │   └─ MERGE'E HAZIR
  │
  ├─ Changes requested?
  │   └─ Her yorumu oku
  │      ├─ Kod degisikligi isteniyor → Uygula
  │      ├─ Soru soruluyor → Cevapla (PR comment)
  │      └─ Mimari itiraz → DURDUR, kullaniciya bildir
  │   └─ Degisiklikleri push et
  │   └─ Re-review iste
  │
  └─ Comment only?
      └─ Cevaplanmasi gereken varsa cevapla
Review Feedback Uygulama
# PR review comment'lerini oku
gh pr view <PR_NUMBER> --comments --json comments

# Her comment icin fix uygula
claude -p "
PR #<NUMBER> icin su review feedback geldi:

$(gh api repos/OWNER/REPO/pulls/<NUMBER>/comments | jq -r '.[] | "File: \(.path):\(.line)\nComment: \(.body)\n---"')

Her feedback'i uygula, commit et.
"

git push
gh pr review <PR_NUMBER> --comment --body "Review feedback uygulandı, tekrar bakabilir misiniz?"
Budget Kontrol
Token Sayaci
# Session token kullanimi takibi
# Her agent cagrisinda tahmini token sayisini artir
TOKEN_USED=0
TOKEN_BUDGET=500000  # 500K limit

check_budget() {
  if [ $TOKEN_USED -gt $TOKEN_BUDGET ]; then
    echo "BUDGET ASILDI: $TOKEN_USED / $TOKEN_BUDGET tokens"
    echo "Otonom islem durduruluyor."
    # Draft PR olarak birak
    gh pr ready --undo 2>/dev/null
    exit 1
  fi
}
Zaman Kontrol
START_TIME=$(date +%s)
MAX_DURATION=1800  # 30 dakika

check_time() {
  ELAPSED=$(($(date +%s) - START_TIME))
  if [ $ELAPSED -gt $MAX_DURATION ]; then
    echo "ZAMAN LIMITI: ${ELAPSED}s / ${MAX_DURATION}s"
    echo "Mevcut durumu kaydet ve dur."
    git add -A && git commit -m "WIP: zaman limiti asildi" || true
    gh pr create --draft --title "WIP: $FEATURE" --body "Zaman limiti nedeniyle duraklatildi." 2>/dev/null
    exit 1
  fi
}
Guvenlik Kurallari
1. ASLA --force push yapma
2. ASLA main/master'a direkt push yapma
3. ASLA review olmadan merge yapma (auto-merge false default)
4. Secret/credential commit ETME
5. Budget asiminda DURDUR, devam etme
6. CI 3 kez basarisizsa DURDUR, draft birak
7. Mimari itirazda DURDUR, kullaniciya sor
vibecosystem Entegrasyonu
  • shipper agent: Release PR'lari icin bu pipeline'i kullanir
  • build-error-resolver agent: CI fix dongusunde build hatalarini cozer
  • code-reviewer agent: Self-review yapar push oncesi
  • verifier agent: Lokal verify adiminda calisir
  • kraken agent: Implementation adiminda TDD ile yazar
  • /commit skill: PR icindeki commit'leri yonetir
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。