Orijinal yayın hafiz.dev adresindedir.
Birçok yapay zeka kodlama akışındaki sorun, sizin yaptığınızda sona ermesidir. Bilgisayarınızı kapatıyorsunuz, oturum bitiyor. Uyuyorsunuz, hiçbiri çalışmıyor. Pazartesi sabahı geldiğinizde ise, gözden geçirilmemiş PR’larla dolu bir yığın var ve Cuma günkü dağıtımın sağlıklı olup olmadığını bilmiyorsunuz.
Claude Code Routines, bunu değiştiriyor. Anthropic tarafından yönetilen bulut altyapısında çalışıyor, bu da oturumunuz bilgisayarınız açık olsun ya da olmasın devam ediyor demek. Komutu bir kez yazıyorsunuz, bir tetikleyici bağlıyorsunuz ve işler arka planda gerçekleşiyor.
Bu, gerçek bir Laravel projesinde Routines’i ayarlamak için pratik bir kılavuz. Beş somut kullanım durumu, gerçek komutlar ve karşılaşacağınız sorunları içeriyor.
Routines Nedir (ve Değildir)
Routines Nedir (ve Değildir)
Bir Routine, kaydedilmiş bir Claude Code yapılandırmasıdır: bir komut, bir veya daha fazla GitHub deposu ve isteğe bağlı MCP bağlayıcıları, birlikte paketlenir ve otomatik olarak tetiklenir. Her çalıştırma, Anthropic’in altyapısında tam bir Claude Code bulut oturumu oluşturur. Claude, deponuzu klonlar, işi yapar ve claude/ önekli bir dalda değişiklikleri kaydeder.
Öncelikle bilmeniz gereken üç şey var.
Birincisi, Routines /loop ve Masaüstü zamanlanmış görevlerden farklıdır. /loop komutlarını mevcut terminal oturumunuzda çalıştırır ve kapattığınızda sona erer. Masaüstü zamanlanmış görevler bir zamanlama ile çalışır, ancak bilgisayarınızın açık olmasını gerektirir ve Claude Code Masaüstü açık olmalıdır. Routines, tamamen unattended olarak çalışabilen tek seçenektir.
İkincisi, bu özellik şu anda araştırma önizlemesi aşamasındadır. Davranış, API şekilleri ve oran limitleri değişebilir. Ancak, şu anda Pro, Max, Team ve Enterprise planlarda kullanılabilir. claude.ai/code üzerinde açık olan Claude Code ile.
Üçüncüsü, Routines tamamen otonom çalışır. Bir çalıştırma sırasında onay istemi yoktur. Komutta ne yazarsanız o çalışır. Bu, görev sırasında yönlendirme yapabileceğiniz normal bir Claude Code oturumundan anlamlı bir şekilde farklıdır. Claude Code Kanalları ile uzaktan komut gönderdiyseniz, Routines’i hiç bir şey göndermeden çalışan versiyon olarak düşünün.
| Seçenek | Çalıştığı Yer | Bilgisayar Gerekli mi? | Terminali kapatınca hayatta kalır mı? |
|---|---|---|---|
/loop | Yerel terminal | Evet | Hayır |
| Masaüstü zamanlanmış görev | Bilgisayarınız | Evet | Hayır |
| Routine | Anthropic bulutu | Hayır | Evet |
Üç Tetikleme Türü
Üç Tetikleme Türü
Her Routine’nde en az bir tetikleyici gerekir. Aynı Routine’de birden fazla tetikleyici de kullanabilirsiniz.
Zamanlama tetikleyicileri belirli bir aralıkta çalışır. En düşük aralık saatte birdir. Günlük, hafta içi ve haftalık hazır ayarlar mevcuttur. “Her iki saatte bir” veya “ayın ilk pazartesi” gibi bir şey için en yakın preset’i seçersiniz ve ardından oluşturduktan sonra belirli bir cron ifadesi ayarlamak için /schedule update komutunu CLI’da çalıştırırsınız.
API tetikleyicileri Routine’e özel bir HTTP uç noktası verir. Buna bearer token ile POST yaparak opsiyonel olarak bir text alanı geçebilirsiniz. Bu, Routine’lerinizi diğer yapı taşlarınızla birleştirmenizi sağlar: dağıtım hattınız, uyarı sisteminiz, Sentry’den bir webhook. Kimliği doğrulanmış bir HTTP isteği yapabilen herhangi bir hizmet Routine’i tetikleyebilir.
GitHub tetikleyicileri depo olaylarına otomatik olarak tepki verir. Bir PR açılır. Bir sürüm yayımlanır. Etiketli PR’ye yeni bir commit itilir. Hangi olayların tetikleneceğini daraltmak için filtreler ekleyebilirsiniz: temel dal main ile eşit, taslak false, yazar belirli bir kullanıcı adını içeriyor.
Bir Routine birden fazla tetikleyici kullanabilir. Bir kod inceleme Routine’i her gece çalışabilir (önceki gün açılan her şey için), her yeni PR’da ateş edebilir ve CI hattınızdan API aracılığıyla çağrılabilir. Üçü de aynı komuta bağlanabilir.
Beş Laravel Kullanım Durumu Ayarlamaya Değer
Beş Laravel Kullanım Durumu Ayarlamaya Değer
1. Gece PR İncelemesi
1. Gece PR İncelemesi
Her aktif Laravel projesi için en derhal faydalı rutin. Claude, son 24 saatte açılan tüm açık PR’leri inceler, Pest test kümesini çalıştırır, kimlik doğrulama veya veritabanı göçlerine müdahale eden herhangi bir şeyi işaretler ve çevrimiçi yorum bırakır.
Kullanılacak komut:
Review all open pull requests in this repository that were opened in the last 24 hours and have no reviewer assigned.
For each PR:
- Run the Pest test suite and report any failures
- Check that migrations are reversible and include both up() and down() methods
- Flag any raw queries that bypass Eloquent
- Check that jobs implement ShouldQueue and define both $tries and $timeout
- Flag any use of env() outside of config files
- Leave inline review comments for issues found
- Add a summary comment listing all issues, or confirming the PR is clean
Do not approve the PR. Add a "needs-changes" label if any issues are found, and "passed-ai-review" if clean.
Takvim tetikleyici olarak her hafta içi sabah 8:00’de ayarla. Güne geri bildirimlerle başlarsınız. İnsan gözden geçirenler mimariye odaklanabilir.
2. Kuyruk Sağlığı Kontrolü
2. Kuyruk Sağlığı Kontrolü
Horizon harika, ama her şeyi kontrol etmiyor. Gece bir Routine, Laravel projenizdeki kuyruk teşhisatını çalıştırabilir ve sadece gerçekten bir şey yanlış olduğunda sizi uyarır, bu sadece gürültü oluşturmaz.
Using the environment variables available in this session, run the following checks:
1. Run php artisan queue:monitor against all configured queue drivers
2. Check the failed_jobs table for any entries created in the last 24 hours
3. Hit the /horizon/api/stats endpoint and verify Horizon is running and workers are active
4. Check the application log for any CRITICAL or ERROR entries from the last 24 hours
If all checks pass, exit without posting anything.
If any check fails, post a message to the #alerts Slack channel with the failure details and the exact artisan commands to fix it.
Bir Slack MCP bağlayıcısının yapılandırılmış olması ve bulut ortamında çevre değişkenleri olarak ortam kimlik bilgilerinizin ayarlanmış olması gerekecektir. Kuyruk ile ilgili Artisan Komutlarının tam listesi için referans sayfasını kaydetmek yararlıdır.
3. PR Açıldığında Otomatik Kod İncelemesi
3. PR Açıldığında Otomatik Kod İncelemesi
Bir GitHub tetikleyicisi ayarlayın ve pull_request.opened olayında bir filtre gibi sadece is draft: false kullanın. Bu, her açıldığında insan gözden geçirenin bile bakmadan önce, her non-draft PR’ı yakalar.
A new pull request has just been opened. Apply our Laravel code review checklist:
- New controllers must use the single-action pattern (one public __invoke method only)
- Form Requests used for all validation, never validate() inside controllers
- No env() calls outside of config files
- No missing $fillable on new Eloquent models
- All new jobs implement ShouldQueue and define $tries and $timeout
- Flag any database queries inside loops (N+1 problem) with the exact file and line
- No direct use of DB::statement() or DB::select() without a comment explaining why
Leave an inline comment for each violation. Post a summary comment at the bottom of the PR. Add label "passed-ai-review" if clean, or "needs-changes" if violations were found. Do not approve or request changes on the PR directly.
Filtre burada önemlidir. is draft: false, Routine’in yalnızca gerçekten gözden geçirmeye hazır PR’lar üzerinde tetiklenmeye başlamasını sağlar. Taslak bir PR’na her yeni bir commit gönderildiğinde çalışmasını istemezsiniz.
4. Dağıtım Sonrası Smoke Testi API Üzerinden
4. Dağıtım Sonrası Smoke Testi API Üzerinden
CD hattınızı, üretim dağıtımı her tamamlandığında Routine’i tetikleyecek şekilde bağlayın. Routine, yeni dağıtıma karşı smoke testlerini çalıştırır ve sonuçları yayımlama kanalınıza gönderir.
API tetikleyicisi size bir text alanı verir ki bunu dağıtım bağlamını iletmek için kullanabilirsiniz. Dağıtım scriptinizden:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01XXXXX/fire \
-H "Authorization: Bearer YOUR_ROUTINE_TOKEN" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"text": "Deploy complete. SHA: abc123. Environment: production."}'
Not: buradaki bearer token, Routine’e özgü jetonunuzdur, Anthropic API anahtarınız değildir. Bunu web arayüzünde API tetikleyici yapılandırmasından oluşturun. Sadece bir kez gösterilir, bu yüzden hemen gizli veriler yöneticinize kaydedin.
Routine prompt’u, text ile geçirilen dağıtım bağlamını referans alabilir:
A production deploy has just completed. The deploy details are in your session context.
Run the following smoke checks:
1. Hit the /health endpoint and verify a 200 response
2. Run php artisan about to confirm the application is responding
3. Run php artisan queue:monitor and report queue status
4. Check the error log for any new CRITICAL entries in the last 5 minutes
Post results to the #deployments Slack channel. Include the deploy SHA from the context. Mark as PASS if all checks succeed, FAIL with details if any check fails.
5. Haftalık Belge Drift Tespiti
5. Haftalık Belge Drift Tespiti
Dokümanlar zamanla bayatlayabilir. Bir hafta boyunca, bir Routine, birleştirilen PR’leri tarayarak değişen yöntemleri /docs diziniyle karşılaştırır ve drift bulduğunda güncelleme PR’ları açar.
Scan all pull requests merged in the last 7 days.
For each merged PR:
1. Identify which PHP files changed
2. Check whether the changed public methods or classes are referenced in the /docs directory
3. If documentation references a changed method but looks outdated based on the diff, open a PR against the docs branch with a suggested update
Skip PRs that only changed tests, migrations, config files, or frontend assets. Only flag documentation that references changed public-facing methods or API endpoints.
Bunu her pazar geceyarısı ayarlayın. Pazartesi sabahı güncelleme PR’ları hazır olacaktır, kimsenin geri bildirimini beklemeden.
İlk Routine’inizi Kurma
İlk Routine’inizi Kurma
En hızlı yol web arayüzü üzerinden. claude.ai/code/routines adresine gidin ve Yeni rutin butonuna tıklayın.
Açıklayıcı bir ad verin. “Gece PR İncelemesi” “Routine 1” den daha iyidir. Komutu yazın. Bu en önemli kısımdır: Routine siz olmadan çalıştığı için komut ne yapacağını ve başarısının nasıl olacağını açıkça belirtmelidir. Belirsiz komutlar belirsiz sonuçlar üretir ve denetim altında takip edecek kimse yoktur.
GitHub deponuzu seçin. Claude her çalıştırmada onu temiz bir şekilde klonlar, varsayılan şubeden başlar.
Bir ortam seçin. Varsayılan ortam çoğu durumda çalışır. Routine’in dış API’leri araması veya Sentry jetonları veya Slack webhook’ları gibi gizlilik gerektiren verilere erişmesi gerekiyorsa, önce özel bir ortam oluşturun ve o değerlere çevre değişkenleri olarak ayarlayın.
Tetikleyicinizi ekleyin. Zamanlanmış bir Routine için frekansı seçin. Zamanlar yerel saat diliminizde ayarlanır ve otomatik olarak dönüştürülür, böylece “09:00” her yerel saatte 09:00’de çalışır, hesaplamaya gerek kalmaz.
Bağlayıcıları gözden geçirin. Varsayılan olarak tüm bağlı MCP bağlantıları dahil edilir. Routine’in gerçekten ihtiyaç duymadığı herhangi bir şeyi kaldırın. Sadece kod inceleyen ve PR açan bir Routine’in Linear veya Google Drive’a ihtiyacı yoktur.
Oluştur butonuna tıklayın. Hemen test etmek için detay sayfasında Şimdi Çalıştır butonuna basın, sonraki zamanlamayı beklemeden.
CLI’dan, bir Claude Code oturumunda /schedule komutunu çalıştırarak Routine’i konuşma şeklinde oluşturabilirsiniz. Ne istediğinizi biliyorsanız ve web UI’de tıklamak istemiyorsanız oldukça yararlıdır. /schedule list tüm Routine’lerinizi gösterir ve /schedule update birini değiştirir, /schedule run ise hemen tetikler.
Dal İzinleri: Ortak Yapılan Hata
Dal İzinleri: Ortak Yapılan Hata
Varsayılan olarak, Routines yalnızca claude/ öneki olan dallara değişiklik yapabilir. Bu, kasıtlıdır. Otonom bir ajan, komutu mükemmel bir şekilde belirlemediğinde main veya develop dalında commit oluşturması risklidir.
Bir Routine’e bir depo eklediğinizde, İzinsiz dal itmelerine izin ver ayarı bulunur. Belirli bir ihtiyaçınız yoksa kapalı bırakın. claude/ öneki, otomatik çalışmayı açıkça tanımlamanızı sağlar ve eğer bir şey ters giderse temizlenmesi kolaydır.
Routine’iniz uygun görünen PR’lar oluşturup ama push işlemiyle başarısız oluyorsa, muhtemelen bu sebepten. O repo için Routine ayarlarında izinsiz itmeleri etkinleştirin.
Diğer yandan: Routine tarafından oluşturulan PR’lar GitHub kimliğiniz altında görünür. Commit’ler sizin kullanıcı adınızı taşır. Slack mesajları, Routine’in bağlayıcıları tarafından sizin Slack hesabınızı kullanarak gönderilir. Routine, bir bot hesabı yerine sizin gibi işlem görür.
Planlar ve Limitler
Planlar ve Limitler
Routines, Pro, Max, Team ve Enterprise planlarında mevcuttur. Normal Claude Code abonelik kullanımınızdan alındığı gibi çalışırlar. Ayrıca, her hesap için günlük bir sınırlama vardır ve buna claude.ai/settings/usage adresinden ulaşabilirsiniz.
Günlük sınıra ulaşırsanız, ekstra çalıştırmalar reddedilir ve pencere sıfırlanana kadar çalışmayacaktır. Ekstra kullanım etkinleştirildiğinde Team ve Enterprise planlarında, Routines metrelendirilmiş aşımlarla devam eder.
GitHub olay tetikleyicileri de araştırma önizleme aşamasında, her bir Routine ve hesap başına saatlik sınırlara sahiptir. Limit dışındaki olaylar, pencere sıfırlanana kadar düşürülür. Yüksek hacimli bir depoda tetikleyici ayarlıyorsanız göz önünde bulundurulması gereken bir durumdur.
GitHub Actions Ne Zaman Kullanılmalı?
GitHub Actions Ne Zaman Kullanılmalı?
Routines, CI/CD’nin yerini almaz. Her push’ta test çalıştırmak, birleştirme sırasında stajyer dağıtımı yapmak, PR birleştirilmeden önce güvenlik kontrollerini zorunlu hale getirmek gibi, geliştirici akışını engelleyecek herhangi bir iş GitHub Actions içinde yer almalıdır. Bu, dal korumalarıyla entegre olur, kendi altyapınızda çalışır ve PR UI’de yerel görünürlük sağlar.
Routines, herhangi bir şeyi engellemesine gerek olmayan arka plan çalışmaları için daha iyidir. İnceleme, sıralama, belge güncellemeleri, izleme. Bunu bir kapı bekçisi (CI/CD) ile arka planda tekrarlayan işleri halleden bir yardımcı arasındaki fark gibi düşünün.
Ayrıca, Routines onay istemleri olmadan çalışır. Bu nokta, ama aynı zamanda bir risk. Herhangi bir Routine’i Şimdi Çalıştır butonuyla test edin ve gerçekten ne yaptığını gözden geçirin. Kötü bir şekilde belirlenmiş bir PR inceleme komutu, 30 gereksiz PR açmak zorunda kalmak beklenmeyen bir sabah değildir.
Claude Code ekosistemi yazısı, Routines’in diğer parçalarla (CLAUDE.md, yetenekler, MCP, ve eklenti pazar yeri) nasıl bir araya geldiğini kapsamlı olarak incelemenizi sağlar.
SSS
SSS
Routines özel depolarda çalışır mı?
Evet. Routines, gerekli erişimi sağlandığında bağlı GitHub depolarınızı klonlar, özel olanlar da dahil. GitHub olay tetikleyicileri, depoya Claude GitHub Uygulamasını yüklemeyi gerektirir. /web-setup ile depo erişimi, uygulamayı otomatik olarak yüklemeden ayrıdır.
Routine ile Claude Code çağıran bir GitHub Action arasındaki fark nedir?
GitHub Actions, GitHub’ın altyapısında çalışır, GitHub Actions dakikalarınızı sayar ve PR’lar ve dağıtımlar üzerinde gerekli durum kontrolleriyle engelleyebilir. Routines, Anthropic tarafından yönetilen altyapıda çalışır ve Claude Code aboneliğinizden alır. Bir şeyi engellemeniz gerektiğinde GitHub Actions kullanın. Arka planda herhangi bir şeyi engellemeden çalışan işler için Routines kullanın.
Routine’leri takım arkadaşlarımla paylaşabilir miyim?
Şu anda mümkün değil. Routines bireysel claude.ai hesabınıza aittir ve paylaşılmaz. Routine’in yaptıklarının hepsi sizin GitHub kimliğiniz veya bağlantılarınız üzerinden görünür. Birden fazla kişinin aynı otomasyonu yapması gerektiğinde, her kişi kendi Routine’ini ayarlamalıdır veya bunu GitHub Actions ile gizli anahtarlarla düzenleyebilirsiniz.
Her API tetikleme çağrısında farklı bağlam geçirebilir miyim?
Evet. API isteği gövdesindeki isteğe bağlı text alanı, Routine’e çalıştırmaya özel bağlam olarak geçilir. Her şeyi geçirebilirsiniz: Sentry uyarı metni, dağıtım SHA’sı, değiştirilen dosyaların listesi. Routine, onu literel bir dize olarak alır, bu yüzden yapılandırılmış JSON göndererek ayrıştırılmasını beklemeyin. Yapılandırılmış verilere ihtiyacınız varsa, kendiniz seri hale getirin ve komut talimatlarında ayrıştırın.
Bir Routine çalıştırması oturum sırasında başarısız olursa ne olur?
Çalıştırma oturumu claude.ai/code/routines adresinde görünür durumda kalır. Açabilir, tam olarak Claude’un ne yaptığını görebilir ve gerekirse konuşmaya manuel olarak devam edebilirsiniz. Routine, gelecekteki tetikleyiciler üzerinde çalışmaya devam eder. Sadece o bireysel çalıştırma başarısız olur.
Sonuç
Sonuç
Routines, varsayılanı tersine çevirir. Claude Code, aktif olarak yönlendirdiğiniz bir araç yerine, diğer şeylere konsantre olurken veya uyurken arka planda çalışan bir şey haline gelir. Gece PR incelemesi, birden fazla katkıda bulunanı olan herhangi bir proje için ayarlama zamanına kesinlikle değerdir.
Bir tane ile başlayın. Gece PR incelemesini ayarlayın, manual olarak birkaç kez çalıştırın ve komutu uyarlayın, sonra çalışmaya bırakın. Güven kazandıkça, otomatikleştirecek beş tane daha düşündüğünüzü göreceksiniz.
Yazılım mimarisi, kod kalitesi veya Laravel uygulamaları hakkında bir gözden geçirmeye mi ihtiyaç var? İletişime geçin ve bunun nasıl olabileceğini konuşalım.
Kaynak: Orijinal Makale
- Routines Nedir (ve Değildir)
- Üç Tetikleme Türü
- Beş Laravel Kullanım Durumu Ayarlamaya Değer
- 1. Gece PR İncelemesi
- 2. Kuyruk Sağlığı Kontrolü
- 3. PR Açıldığında Otomatik Kod İncelemesi
- 4. Dağıtım Sonrası Smoke Testi API Üzerinden
- 5. Haftalık Belge Drift Tespiti
- İlk Routine’inizi Kurma
- Dal İzinleri: Ortak Yapılan Hata
- Planlar ve Limitler
- GitHub Actions Ne Zaman Kullanılmalı?
- SSS
- Sonuç


