Ana içeriğe geç

Terminalde hızlı başlangıç

Beş dakikada küçük bir klasör üzerinde bir görev açacak, kopyasını sandbox içinde değiştirecek, neyin değiştiğini inceleyecek, bunu gerçek klasöre commit edecek, geri alacak ve sonunda işi bir ajana yaptıracaksınız.

kule'nin PATH'inizde olması gerekir (Kurulum). Aşağıdaki her komutu olduğu gibi yapıştırabilirsiniz.

1. Bir demo klasörü oluşturun​

mkdir -p ~/demo && cd ~/demo
printf '# Notes\n\n## Plan\n\n- write docs\n' > notes.md
printf 'hello\n' > hello.txt

Bu sizin çalışma klasörünüz (workspace): gerçek klasör. Siz commit edene kadar Kule onu değiştirmez.

2. Bir görev açın​

kule new ~/demo
task c224e328 · copy at ~/.kule/tasks/c224e328/w/demo

Görevin bir kimliği (burada c224e328; sizinki farklı olur) ve klasörün bir kopyası vardır. macOS'ta ve Btrfs ya da XFS'te kopya bir klondur; dosyalar değişene kadar ek yer kaplamaz.

Sayfanın geri kalanı olduğu gibi yapıştırılabilsin diye kimliği bir değişkende tutun. kule list her satıra bir görev yazar, kimlik başta:

kule list
c224e328 ~/demo
T=c224e328 # kendi kimliğinizi kullanın

Bkz. kule new ve kule list.

3. Sandbox içinde bir komut çalıştırın​

kule exec herhangi bir komutu görevin kopyasında, sandbox içinde çalıştırır ve ardından neleri değiştirdiğini listeler:

kule exec $T -- sh -c '
printf "\n## Later\n\n- ship it\n" >> notes.md
echo hi > new.txt
rm hello.txt'
3 file changes: +1 ~1 -1
- hello.txt
+ new.txt
~ notes.md
+ section Notes › Later

+ oluşturulan, ~ değiştirilen, - silinen dosyadır. Değişen bir dosyanın altında Kule, dosyanın içinde neyin değiştiğini adıyla söyler: burada yeni bir Markdown bölümü. Kod için fonksiyonları ve metotları, JSON ve TOML için anahtarları adlandırır.

Gerçek klasörünüze dokunulmadı:

ls ~/demo # hello.txt notes.md

4. İnceleyin​

kule status $T
3 file changes: +1 ~1 -1
- hello.txt
+ new.txt
~ notes.md
+ section Notes › Later
policy: passes on its own

Son satır politikanın kararıdır. Sıradan dosya düzenlemeleri kendiliğinden geçer. Bkz. kule status (--json seçeneği de vardır).

5. Commit edin​

kule commit $T
committed 3 changes · checkpoint 1

Artık değişiklikler ~/demo'da. Commit checkpoint 1'i (1 numaralı kontrol noktasını) sakladı: yerine koyduklarını, geri alınabilsin diye.

ls ~/demo # new.txt notes.md
kule history $T
0. commit 1 · 3 changes · snapshot 0d0d2c26745d
history verified: 1 entries, signed

Her commit ve undo, imzalı ve hash zinciriyle bağlı bir geçmişte bir kayıttır. Bkz. kule commit ve kule history.

6. Geri alın​

kule undo $T
undid checkpoint 1 (3 changes)

~/demo eski hâline döndü: hello.txt ve notes.md, yeni bölüm olmadan. Daha geriye gitmek için undo'yu tekrar çalıştırın. Bkz. kule undo.

7. Sizi bekleyen bir değişiklik​

Bazı dosyalar neyin kurulacağını, derleneceğini ya da çalışacağını belirler. Politika bunların kendiliğinden geçmesine izin vermez:

kule exec $T -- sh -c 'echo "{\"name\":\"demo\"}" > package.json; echo scratch > draft.txt'
kule status $T
2 file changes: +2 ~0 -0
+ draft.txt
+ package.json
+ key name
policy: waits for approval
package.json · waits for approval (manifests-and-lockfiles)

manifests-and-lockfiles, soruyu soran kuralın adıdır. Düz bir commit artık reddedilir:

kule commit $T
policy: waits for approval
package.json · waits for approval (manifests-and-lockfiles)
kule: not committed; rerun with --approve to approve the changes above

İki seçeneğiniz var:

  • kule commit $T --approve onaylar ve commit eder. Bu klasörde bu dosyalar için bir daha sorulmasın istiyorsanız --remember ekleyin.
  • kule rollback $T değişiklikleri atar.

8. Değişiklikleri atın (roll back)​

kule rollback $T
rolled back 2 changes

Kopya yeniden çalışma klasörüyle aynı. Bkz. kule rollback.

9. İşi bir ajana yaptırın​

Buraya kadarki her şey, işi bir ajan yaptığında da aynı şekilde çalışır. Önce bir ajan kurup oturum açın (Kurulum sayfasındaki Ajanları kurma bölümüne bakın), sonra:

kule run $T --agent claude-code "Add a 'Later' section to notes.md with one idea for the project."
  • Ajan Agent Client Protocol (ACP) üzerinden, aynı sandbox içinde ve ağ trafiği görevin proxy'sinden geçerek çalışır.
  • Yanıtı ve araç çağrıları geldikçe ekrana yazılır.
  • Bir şeyi değiştiren her araç çağrısı bir adım olur: kule steps $T onları listeler.
  • Politikanın bir insana soracağı bağlantılar komut satırından hemen reddedilir (soracak kimse yoktur). Uygulama ise bunun yerine size sorar.
  • Çalıştırma, görevin bütçelerine ve sınırlarına tabidir.

Bittiğinde, eskisi gibi inceleyip karar verin:

kule status $T
kule commit $T # ya da: kule rollback $T

--agent, claude-code (varsayılan), codex ya da gemini alır; ya da eklediğiniz bir ajanın adını. Bkz. kule run.

10. Temizlik​

kule rm $T
removed task c224e328

kule rm görevi ve kopyasını siler. Çalışma klasörüne asla dokunmaz.

Neler öğrendiniz​

kule new FOLDER make a task (a copy)
kule exec TASK -- CMD run a command in the sandbox
kule run TASK "PROMPT" let an agent work
kule status TASK what changed, and the policy's verdict
kule commit TASK apply it to the folder (keeps a checkpoint)
kule undo TASK take the last commit back
kule rollback TASK throw uncommitted changes away
KomutNe yapar
kule new FOLDERbir görev açar (bir kopya)
kule exec TASK -- CMDsandbox içinde bir komut çalıştırır
kule run TASK "PROMPT"işi bir ajana yaptırır
kule status TASKneyin değiştiğini ve politikanın kararını gösterir
kule commit TASKdeğişiklikleri klasöre uygular (bir kontrol noktası saklar)
kule undo TASKson commit'i geri alır
kule rollback TASKcommit edilmemiş değişiklikleri atar

Sırada: aynı döngü masaüstü uygulamasında, ya da işin altında Kule nasıl çalışır.