Davet et, 1 ay ücretsiz Pro kazanNasıl çalışır?

Cursor Agent ile Terraform Projeleri: Pratik Kullanım Rehberi

Cursor Agent ile Terraform projelerinde AGENTS.md kuralları, plan/apply güvenliği, modül refactor’ları, test komutları ve AgentVera ile paralel çalışma ipuçları

Solviera Teknoloji 6 dk okuma

Cursor Agent’ı bir Terraform projesinde cursor-agent komutuyla çalıştırabilirsiniz; agent, repo kurallarınızı okur, plan ve diff odaklı küçük adımlarla değişiklik yapar. Terraform’un state, provider ve modül yapısına hâkim bir geliştiriciyseniz, ajanı özellikle tekrar eden refactor, değişken taşıma ve kaynak dönüşümlerinde güvenle kullanabilirsiniz. Daha fazla bilgi için Cursor Agent sayfasına bakabilirsiniz. Bu rehber, pratik kurulum ve çalışma düzenini anlatır.

Cursor Agent Terraform işleri için neden uygun

Terraform projeleri çoğunlukla deklaratif HCL dosyalarından oluşur; diff okuması kolaydır, ancak state bağımlılıkları ve provider davranışları ince ayar ister. Cursor Agent, dosya değişikliklerini küçük yamalar halinde üretir ve her adımda neyi değiştirdiğini gösterir; bu da terraform plan çıktısıyla birleşince insan gözünün işini kolaylaştırır. Örneğin, bir modüldeki kaynak adlarını değiştirmek, tüm referansları güncellemek ve terraform fmt uygulamak gibi zincirleme işleri tek komutta halleder. Ayrıca HCL’deki tip kısıtlamaları, değişken doğrulamaları ve for_each/count arasındaki farklar gibi konularda ajanın önerdiği düzeltmeler genellikle çalışır; çünkü Terraform dilinin kurallarını bilir ve yaygın hatalardan kaçınır. Terminal üzerinden çalıştığı için, mevcut terraform plan -out=plan.tfplan alışkanlığınıza entegre edebilirsiniz. Temel kullanım için Cursor CLI nasıl kullanılır? Adım adım rehber rehberine göz atabilirsiniz.

Projeyi agent için hazırlama: AGENTS.md ve .cursor/rules

Agent ilk çalıştırmada AGENTS.md veya .cursor/rules dosyalarını okur. Terraform projesinde bu dosyaya net komutlar, klasör düzeni ve güvenlik kuralları koymak, ajanın rastgele apply denemesini veya yanlış modülü değiştirmesini engeller. AGENTS.md, repo kökünde yer alır ve tüm ajanlar için ortak talimatları içerir; .cursor/rules ise yalnızca Cursor Agent’a özel kural setleri barındırabilir. Aşağıdaki örnek, gerçek bir repo için yeterli bir başlangıçtır:

# Terraform proje talimatları

## Komutlar
- Init: terraform init -backend-config=env/dev.tfbackend
- Format kontrolü: terraform fmt -recursive -check
- Doğrulama: terraform validate
- Lint: tflint --recursive
- Plan: terraform plan -out=plan.tfplan
- Apply: yalnızca insan onayından sonra; terraform apply plan.tfplan

## Klasör düzeni
- modules/ altında yalnızca yeniden kullanılabilir modüller bulunur; modüllerde provider bloğu olmaz.
- env/ altında her ortam için root yapılandırmalar bulunur (dev, staging, prod).
- Değişkenler ve çıktılar mutlaka `description` alanıyla tanımlanır.
- State backend'leri her ortam için ayrı env/*.tfbackend dosyalarıyla yapılandırılır.

## Kurallar
- `terraform apply` öncesinde planı göster ve onay bekle.
- Kaynakları taşımadan önce `terraform state mv` komutunu öner, ama uygulamayı kullanıcı yapsın.
- .terraform.lock.hcl dosyasını elle düzenleme.
- Provider yükseltmesinde required_providers ve lock dosyasını birlikte güncelle, ardından validate çalıştır.
- Varsayılan değerleri .tfvars yerine variables.tf içinde tanımla.
- Her commit öncesi terraform fmt çalıştır.

Bu dosyayı repo köküne AGENTS.md olarak ekleyin; .cursor/rules altında da aynı talimatları kullanabilirsiniz. Ek olarak, ortam değişkenleri dışında hassas değerleri (örn. bulut erişim anahtarları, veritabanı şifreleri) asla repo içine koymaması gerektiğini belirtin. Ajan terraform init sırasında backend konfigürasyonunu doğru okumalı; bu yüzden her ortam için ayrı tfbackend dosyalarının yolunu yazın. Modül çağrılarında source parametresi için yerel yol kullanılması gerektiğini söyleyin; ajan, Git URL’li modüllerde yanlış ref’e bağlanabilir. Ayrıca, terraform plan çıktısında “Plan: X to add, Y to change, Z to destroy” satırını commit mesajına eklemesini isteyebilirsiniz.

Çalışma döngüsü: planla, küçük adımlar at, testleri çalıştır, diff’i incele

Terraform’da ajanla güvenli döngü şöyle işler: önce mevcut state ve planı görün; sonra agent’tan tek bir değişikliği yapmasını isteyin; agent değişikliği yaptıktan sonra terraform validate, tflint --recursive ve terraform plan çıktısını birlikte değerlendirin; son olarak diff’i inceleyip commit edin. Agent’tan hiçbir zaman tüm projeyi düzelt gibi geniş bir görev istemeyin; bu, hem planın okunmasını zorlaştırır hem de yanlış değişiklik riskini artırır. Aşağıdaki prompt’lar tipik işler için başlangıç olabilir:

  • mevcut modules/networking modülündeki tüm aws_subnet kaynaklarını for_each kullanacak şekilde yeniden yaz; değişken adlarını koru ve terraform fmt çalıştır.
  • root modüldeki variables.tf dosyasına environment değişkenini ekle, description ve type alanlarıyla; aynı değişkeni outputs.tf içinde de yayınla, ancak terraform apply çalıştırma.
  • terraform plan çıktısında görünen aws_security_group kuralındaki cidr_blocks listesini değişkene taşı; plan çıktısında sadece o değişikliği göster.
  • Projede tflint --recursive çalıştır; çıkan uyarıları gidermek için ilgili dosyaları düzenle, ancak state dosyalarına dokunma.
  • Ortam klasörlerindeki backend yapılandırmasını env/dev.tfbackend, env/staging.tfbackend dosyalarından okuyacak şekilde güncelle; her ortam için ayrı state kalmasına dikkat et.

Her prompt sonrası ajanın yaptığı değişiklikleri git diff ile inceleyin. Özellikle terraform plan çıktısında beklenmeyen “destroy” satırları varsa, ajanın kaynak adreslerini yanlış eşlediğini gösterir. Örneğin, bir değişken adını değiştirdiğinizde tüm referansları güncellediğinden emin olun; ajan bazen sadece kök modülü değil, alt modüllerdeki aynı isimli değişkenleri de değiştirebilir. Bu yüzden planı her zaman çalıştırın, agent’ın yaptığı değişikliklerin plana yansımasını kontrol edin.

Agent’ın iyi yaptığı ve dikkat edilmesi gereken Terraform işleri

Agent, modül içi kaynak taşıma, değişken ve output ekleme, provider sürüm güncellemeleri, format/validate/lint düzeltmeleri gibi tekrarlı işlerde iyi sonuç verir. Ayrıca, terraform fmt -recursive ile kod stilini düzeltir, tflint uyarılarını giderir, eksik description alanlarını ekler ve count yerine for_each dönüşümlerini doğru yapar. Ancak state taşıma, backend değişikliği, provider yükseltme ve taint/import gibi işlemlerde mutlaka planı inceleyin; agent, state dosyasının yerel kopyasını yanlış yorumlayabilir veya yanlış ortamda değişiklik yapabilir. Özellikle terraform apply öncesi planı elle onaylamak zorunludur.

İşAgent’a uygunlukDikkat noktası
Yeni modül eklemeYüksekModül içindeki provider sürümlerini kontrol edin
Variable/output taşımaYüksekPlan çıktısında gereksiz destroy/create olmadığını doğrulayın
terraform state mv ile kaynak taşımaOrtaAgent’ın doğru state adreslerini kullandığını onaylayın
Backend değişikliğiDüşükState migrasyonu ve kilitleri elle yönetin
Provider yükseltmeOrtaDeprecated argümanları ve lock dosyasını kontrol edin

Ek olarak, ajanın locals bloklarını aşırı kullanması veya gereksiz data kaynakları eklemesi gibi durumlara dikkat edin. Terraform’da her data bloğu planı yavaşlatır; ajan ihtiyaç olmadan data eklememelidir. Aynı şekilde, çıktı bloğunda sensitive = true eklemesi gereken durumları atlayabilir; hassas değerleri elle işaretleyin. Modül içinde provider bloğu tanımlanması hatalıdır; ajan buna izin vermez ama yine de kontrol edin. Değişken doğrulamaları (validation) eklerken, hata mesajlarının net ve kısa olmasını sağlayın; ajan bazen aşırı uzun regex’ler üretebilir.

Terraform’da agent ile test ve doğrulama

Terraform’da test, terraform validate, terraform fmt -check, tflint ve terraform plan ile yapılır. Her değişiklikten sonra agent’tan bu komutları sırayla çalıştırmasını isteyin; terraform plan -detailed-exitcode ile planın başarılı olduğunu script içinde kontrol edebilirsiniz. Plan çıktısında 0 to add, 0 to change, 0 to destroy satırını görmeden commit etmeyin. Ajan test ortamında terraform apply denerse, otomatik onayı kapatın; komutları siz tetikleyin ve apply için ayrı bir onay adımı koyun.

Daha ileri doğrulama için, terraform test komutu ile modül bazlı testler yazabilirsiniz; ajan bu test dosyalarını oluşturabilir ve güncelleyebilir. Ancak testlerin gerçek bulut kaynağı oluşturmadığından emin olun; test ortamında plan çalıştırmak yerine terraform validate ve tflint yeterli olabilir. Ayrıca, plan çıktısını JSON formatında (terraform plan -out=plan.tfplan && terraform show -json plan.tfplan) alarak ajanın özet çıkarmasını isteyebilirsiniz. Bu, büyük plan farklarında insan incelemesini kolaylaştırır. Son olarak, her commit öncesi git diff içinde terraform.tfstate veya .terraform klasörlerinin yanlışlıkla eklenmediğini kontrol edin; ajan bazen çalışma dizinindeki tüm dosyaları stage’e alabilir. Bunu engellemek için .gitignore dosyanızı güncel tutun.

AgentVera ile birden fazla ajanı aynı Terraform projesinde çalıştırma

AgentVera, Cursor Agent dahil komut satırı ajanlarını tek pencerede yan yana çalıştıran bir masaüstü uygulamasıdır. Terraform’da aynı repoda birden fazla işi paralel yürütürken her ajana ayrı git worktree vererek aynı dosyaları ezmelerini engellersiniz; bu, modül refactor’ları ve ortam dosyaları için kritiktir. Ajan bir turu bitirdiğinde ikinci bir model otomatik kod incelemesi yapar ve bulgular dosya:satır olarak işaretlenir. Ayrıca her turun checkpoint’i alınır; yanlış bir state değişikliğini tek tıkla geri alıp adım adım tekrar oynatabilirsiniz. Token bütçeleri ise uzun plan/apply zincirlerinde maliyeti kontrol altında tutar. Daha fazla bilgi için Paralel kodlama ajanları için en iyi araçlar (2026) sayfasına bakın.

Sonuç

Cursor Agent’ı Terraform’da güvenle kullanmak için net kurallar, küçük adımlar, plan onayı ve test komutları şart. cursor-agent ile başlayın, AGENTS.md’yi güncelleyin, her değişiklikten sonra planı inceleyin. Birden fazla işi paralelleştirmek için AgentVera’nın worktree ve inceleme özelliklerinden yararlanabilirsiniz. CLI ajanları arasında seçim yapmak isterseniz Claude Code mu Cursor mu? Terminal ajanı ve AI editör karşılaştırmasına da göz atabilirsiniz.

Sık sorulanlar

Cursor Agent Terraform’da terraform apply komutunu kendiliğinden çalıştırır mı?

Varsayılan olarak hayır; ancak AGENTS.md veya .cursor/rules içinde açıkça kısıtlanmazsa deneyebilir. Proje talimatlarına apply etme kuralı ekleyin ve planı gösterdikten sonra manuel onay isteyin.

Cursor Agent ile Terraform state dosyasını taşımak güvenli mi?

terraform state mv gibi işlemler risklidir; agent yanlış adres verebilir. Bu tür komutları kendiniz çalıştırın veya agent’tan sadece komutu önermesini isteyin, uygulamayı siz yapın.

Cursor Agent Terraform projesinde provider sürüm yükseltmesi yapabilir mi?

Yapabilir; required_providers ve lock dosyasını günceller. Ancak deprecated argüman değişiklikleri ve plan farklarını dikkatle inceleyin; yükseltme sonrası terraform validate ve plan alın.

Cursor Agent için AGENTS.md dosyası nasıl olmalı?

Terraform komutlarını, klasör yapısını, state/backend kurallarını ve apply onayı zorunluluğunu içermeli. Kısa, net ve komut odaklı olursa agent daha az hata yapar.

Ajanlarını bir masaya topla.

AgentVera’yı ücretsiz indir; kurulu CLI’ların hazır.

Diğer Cursor Agent rehberleri

Terraform için diğer ajanlar