Ana içeriğe geç

CLI başvurusu

kule, Kule'nin komut satırı aracıdır. Masaüstü uygulamasıyla aynı görevler üzerinde çalışır: kule new ile açtığınız görev uygulamada görünür, uygulamada açtığınız bir görevi de kule commit ile commit edebilirsiniz. Her şey Kule'nin ev klasöründe durur (başkasını seçmediyseniz ~/.kule); uygulama da CLI da burayı okur ve yazar.

Henüz kurmadıysanız Kurulum sayfasına bakın. Önce fikirleri öğrenmek isterseniz Kule nasıl çalışır sayfasını okuyun.

Tek blokta döngü​

Her komut bu döngünün bir yerine oturur:

kule new ~/code/app # 1. görev açın: klasörün copy-on-write kopyası
kule run 3422f830 "Fix the failing test" # 2a. kopyada bir ajan çalışsın
kule exec 3422f830 -- npm test # 2b. ya da orada, sandbox içinde bir komutu kendiniz çalıştırın
kule status 3422f830 # 3. neyin değiştiğini ve politikanın ne dediğini görün
kule commit 3422f830 # 4a. gerçek klasöre uygulayın (bir kontrol noktası saklanır)
kule rollback 3422f830 # 4b. ya da değişiklikleri atın
kule undo 3422f830 # 5. son commit'i klasörden geri alın

Burada copy-on-write (yazınca kopyala), kopyanın ancak bir dosya değiştiğinde yer kaplaması demektir.

4a. adımından önce gerçek klasörünüze (çalışma klasörüne, workspace) hiçbir şey ulaşmaz.

Genel seçenekler​

Bunlar her komut ve alt komutta çalışır.

SeçenekDeğerVarsayılanAnlamı
--homeyol~/.kuleKule'nin görevleri, ayarları, gizli değerleri ve politikayı tuttuğu yer. KULE_HOME ortam değişkeniyle de verilebilir; ikisi birden verilirse seçenek kazanır.
-h, --helpKomutun yardımını yazdırır.
-V, --versionKule'nin sürümünü yazdırır (yalnızca en üst düzeyde).

kule help KOMUT, kule KOMUT --help ile aynı yardımı yazdırır; kule help group put alt komutlarda da çalışır.

Gerçek görevlerinize dokunmadan denemeler yapmak için ayrı bir ev klasörü kullanın:

export KULE_HOME=/tmp/kule-try
kule new ~/code/app
not

Uygulama ile CLI, ancak aynı ev klasörünü kullandıklarında aynı görevleri görür. Bir terminalde KULE_HOME ayarlarsanız, Finder'dan ya da bir başlatıcıdan açılan uygulama yine ~/.kule kullanır.

Bir göreve atıf yapmak​

Her görevin, açıldığında yazdırılan sekiz harf ve rakamdan oluşan bir kimliği (id) vardır:

$ kule new ~/code/app
task 3422f830 · copy at ~/.kule/tasks/3422f830/w/app

Bir komut TASK beklediği her yerde bu tam kimliği verin. Ön ekler ve görev adları kabul edilmez:

$ kule status 3422
kule: no task 3422

kule list her kimliği klasörü, adı, rengi ve grubuyla birlikte yazdırır. Betiklerde kimliği kule new çıktısından alıp saklayın:

TASK=$(kule new ~/code/app | awk '{print $2}')

Tüm komutlar​

Görevler​

KomutNe yapar
kule newBir görev açar: bir klasörün copy-on-write kopyası.
kule listGörevleri uygulamanın gösterdiği sırayla listeler.
kule nameBir göreve ad verir ya da adını kaldırır.
kule colorBir görevi bir renkle işaretler ya da rengini kaldırır.
kule rmBir görevi ve kopyasını siler. Klasöre dokunulmaz.

Görev içinde çalışmak​

KomutNe yapar
kule runBir ajana (Claude Code, Codex, Gemini, …) bir prompt verir; ajan kopyada, sandbox içinde çalışır.
kule execKopyada, sandbox içinde tek bir komut çalıştırır, sonra neyi değiştirdiğini gösterir.
kule shellKopyada, sandbox dışında kendi kabuğunuzu açar.
kule pathKopyanın ya da içindeki bir dosyanın diskte nerede olduğunu yazdırır.
kule openKopyadaki bir belgeyi, resmi ya da videoyu kendi uygulamasıyla açar.

İnceleme ve geçmiş​

KomutNe yapar
kule statusCommit edilmemiş değişiklikleri ve politikanın onlar hakkındaki kararını gösterir.
kule stepsAjanın araç çağrılarını ve her birinin neyi değiştirdiğini listeler.
kule commitDeğişiklikleri klasöre uygular, bir kontrol noktası saklar.
kule rollbackCommit edilmemiş değişiklikleri atar.
kule undoEn yeni commit'i klasörden geri alır.
kule syncKlasörde bu arada değişenleri kopyaya alır.
kule historyGörevin commit ve geri almalardan oluşan imzalı geçmişini doğrulayarak gösterir.

Maliyet ve sınırlar​

KomutNe yapar
kule budgetTek bir görevin ajan çalıştırmalarının ne kadar tutabileceğini gösterir ya da ayarlar.
kule daily-budgetTüm görevlerin herhangi bir 24 saatte toplam ne kadar tutabileceğini gösterir ya da ayarlar.
kule limitsAjan çalıştırmaları için CPU, bellek, disk, GPU ve süre sınırlarını gösterir ya da ayarlar.

Gruplar​

KomutNe yapar
kule groupHer birinin kendi rengi, politikası, bütçesi ve sınırları olan görev gruplarını oluşturur ve yönetir.

Politika ve erişim​

KomutNe yapar
kule policyGeçerli politikayı yazdırır ya da balanced ile careful arasında geçiş yapar.
kule rulesKule'ye bir daha sormamasını söylediklerinizi listeler, ekler ya da unutturur.
kule revealBir klasörün görevlerinin yanındaki bir projeyi (salt okunur) okumasına izin verir.
kule isolationBu bilgisayarın sandbox'a neleri veremediğini gösterir; bunu kabul edip etmemenizi sağlar.

Ev dizini ve gizli değerler​

KomutNe yapar
kule homeBir görevin komutlarının ev dizininize yazdıklarını incelemenizi, uygulamanızı ya da atmanızı sağlar.
kule secretsKomutların hiç görmeden kullandığı API anahtarlarını saklar.

Ajanlar ve eklentiler​

KomutNe yapar
kule agentsKule'nin çalıştırabildiği ajanları listeler, inceler, ekler, dener ve onaylar.
kule extEklenti oluşturur, paketler, kurar, onaylar ve yönetir.

Daemon​

KomutNe yapar
kule daemonUygulamanın konuştuğu arka plan servisini çalıştırır. Uygulama onu sizin için başlatır.

kule ile betik yazmak​

Çıkış kodları. Kule küçük ve sabit bir küme kullanır:

KodAnlamı
0İşlem başarılı.
2Kule reddetti ya da işlem başarısız oldu. Neden, stderr'de kule: ifadesinden sonra yazar; bazen ardından bir hint: satırı gelir. Hatalı argümanlar da (argüman ayrıştırıcısından) 2 ile çıkar.
3Yalnızca kule commit: politika değişiklikleri geri tuttu (onay bekliyorlar ya da reddedildiler). Hiçbir şey commit edilmedi.
komutun kendi kodukule exec ve kule shell, çalıştırdıkları komutun ya da kabuğun çıkış koduyla çıkar; böylece kule exec TASK -- npm test && kule commit TASK okunduğu gibi çalışır.

Makinenin okuyabileceği çıktı. kule status TASK --json, değişiklikleri, politikanın kararını, ajanların harcadıklarını ve daha fazlasını tek bir JSON nesnesi olarak yazdırır; bkz. kule status. Diğer komutlar insanlar için, her satıra bir bilgi düşecek biçimde metin yazdırır.

Hatalar stderr'e, sonuçlar stdout'a gider. kule path stdout'a yalnızca yolu yazdırır; bu yüzden bir uyarı da yazdırdığında bile cd "$(kule path TASK)" çalışır.

Renk. Çıktı yalnızca bir terminalde renklidir; bir boruya (pipe) yönlendirilen çıktı düz metindir.

Ayrıca bakın​