GitHub Actions ve diğer CI/CD sistemlerinde Cursor CLI’yi kullanarak geliştirme görevlerini otomatikleştir.
GitHub Actions ile entegrasyon
Temel kurulum:
- name: Cursor CLI'yi Yükle
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: Cursor Agent'ı Çalıştır
env:
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
run: |
cursor-agent -p "İstemini buraya yaz" --model gpt-5
Pratik iş akışları için cookbook örneklerimize göz at: dokümantasyonu güncelleme ve CI sorunlarını düzeltme.
Cursor CLI’yi herhangi bir CI/CD sisteminde şöyle kullan:
- Kabuk betiği çalıştırma (bash, zsh, vb.)
- API anahtarını yapılandırmak için ortam değişkenleri
- Cursor’un API’sine erişmek için internet bağlantısı
Agent’inin otonomi seviyesini seç:
Agente git işlemleri, API çağrıları ve harici etkileşimler üzerinde tam kontrol ver. Kurulumu daha basit, daha fazla güven gerektirir.
Örnek: Update Documentation rehberimizde, ilk iş akışı agente şunları yapma olanağı verir:
- PR değişikliklerini analiz et
- Git branch’leri oluştur ve yönet
- Değişiklikleri commit’le ve push et
- Pull request’lere yorum yap
- Tüm hata senaryolarını yönet
- name: Belgeleri güncelle (tam özerklik)
run: |
cursor-agent -p "Git, GitHub CLI ve PR işlemlerine tam erişimin var.
Commit’ler, push’lar ve PR yorumları dahil tüm belge güncelleme iş akışını yönet."
Kısıtlı özerklik yaklaşımı
Üretim CI iş akışları için bu yaklaşımı izin tabanlı kısıtlamalarla kullanmanı öneriyoruz. Böylece en iyi dengeyi yakalarsın: ajan karmaşık analizleri ve dosya değişikliklerini akıllıca yönetebilirken kritik işlemler deterministik ve denetlenebilir kalır.
Ajanın yapabileceklerini sınırla; kritik adımları ayrı iş akışı adımlarında yürüt. Daha iyi kontrol ve öngörülebilirlik.
Örnek: Aynı cookbook’taki ikinci iş akışı, ajanı yalnızca dosya değişiklikleriyle sınırlar:
- name: Doküman güncellemeleri oluştur (kısıtlı)
run: |
cursor-agent -p "ÖNEMLİ: Branch oluşturma, commit, push yapma veya PR yorumu yazma.
Sadece çalışma dizinindeki dosyaları değiştir. Yayınlama daha sonraki bir iş akışı adımında yapılır."
- name: Docs dalını yayınla (deterministik)
run: |
# Deterministik git işlemleri CI tarafından yönetilir
git checkout -B "docs/${{ github.head_ref }}"
git add -A
git commit -m "docs: PR için güncelleme"
git push origin "docs/${{ github.head_ref }}"
- name: PR yorumunu paylaş (deterministik)
run: |
# Deterministik PR yorumları CI tarafından yönetilir
gh pr comment ${{ github.event.pull_request.number }} --body "Docs güncellendi"
Kısıtlamaları CLI düzeyinde zorunlu kılmak için izin yapılandırmalarını kullan:
{
"permissions": {
"allow": [
"Read(**/*.md)",
"Write(docs/**/*)",
"Shell(grep)",
"Shell(find)"
],
"deny": [
"Shell(git)",
"Shell(gh)",
"Write(.env*)",
"Write(package.json)"
]
}
}
Önce Cursor panenden bir API anahtarı oluştur.
Cursor API anahtarını deponda güvenli şekilde sakla:
- GitHub depona git
- Settings → Secrets and variables → Actions’a tıkla
- New repository secret’a tıkla
- Adını
CURSOR_API_KEY koy
- Değer olarak API anahtarını yapıştır
- Add secret’a tıkla
CURSOR_API_KEY ortam değişkenini ayarla:
env:
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}