← Back to list

Claude CodeNasıl Geliştirildi?

Yeni ve popüler Claud Code geliştirme aracının nasıl geliştirildiğini öğreniyoruz.

Cahit Barkin Ozer in Softtech · 2025-11-07 06:51 · 53 claps · 12.7 min read
#claude-code #yazılım-geliştirme #ürün-geliştirme #yz-ile-kod-üretimi #yz-mühendisliği
Open on Medium ↗
Wiki topics: LLM · Large Language Models

Claude Code Nasıl Geliştirildi?

Yeni ve popüler Claud Code geliştirme aracının nasıl geliştirildiğini öğreniyoruz.

Bu yazı Gergely Orosz’un “How Claude Code is built” makalesinin çevirisidir.

Claude Code Repo’su:

[embed]GitHub - anthropics/claude-code: Claude Code is an agentic coding tool that lives in your terminal… Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster…github.com

Claude Code’un nasıl çalıştığını anlamak istiyorsanız:

shareAI-lab/learn-claude-code” reposu 5 aşamalı örneklerle Claude Code mantığını sıfırdan anlatıyor:

v0: Bash aracı

v1: Temel ajan döngüsü

v2: Planlama

v3: Alt ajanlar

v4: Yetenek sistemi

Claude Code, Mayıs ayında genel kullanıma sunulduğundan beri geliştirici dünyasını kasıp kavurdu. Araç şu anda yıllık 500 milyon dolardan fazla gelir üretiyor ve kullanımı, Mayıs’taki lansmanından bu yana geçen üç ayda 10 kattan fazla bir artış yaşadı.

Gergely Orosz kısa bir süre önce Claude Code’un arkasındaki kurucu mühendislerden ikisiyle bir araya gelmiş: Boris Cherny (orijinal prototipi geliştiren mühendis ve projenin kurucu mühendisi), Sid Bidasaria (Claude Code’un 2 numaralı mühendisi ve Claude Code alt ajanlarının yaratıcısı) ve kurucu ürün müdürü Cat Wu.

Claude Code’un nasıl geliştirildiğini öğrenmek ve başarılı bir “yapay zeka öncelikli mühendislik ekibinin” nasıl çalıştığına dair içgörüler edinip; bu, hızlı hareket eden startup’ların nasıl çalışacağına dair potansiyel bir geleceğe göz atmak gibiymiş.

İçindekiler

  • Her şey nasıl başladı. Claude Code fikri, bir mühendisin işte ne müzik dinlediğini belirtmek için Claude kullanan bir komut satırı aracından doğdu. Dosya sistemine erişim verildikten sonra bu uygulama Anthropic’te orman yangını gibi yayılmış. Bugün Claude Code’un kendi tam teşekküllü geliştirme ekibi bulunuyor.
  • Teknoloji yığını ve mimari. TypeScript, React, Ink, Yoga ve Bun. Teknoloji yığını, “dağıtıma uygun” (on distribution) olması ve modelin güçlü yönlerinden yararlanması için seçilmiş. Eğlenceli bir bilgi: Claude Code’daki kodun %90'ı kendisi tarafından yazılıyor!
  • Özellikleri haftalar değil, günler içinde geliştirme ve yayınlama. Ekip, mühendis başına günde yaklaşık 5 sürüm yayınlayarak hızlı bir tempoda çalışıyor. Prototipleme şaşırtıcı derecede hızlı yapılıyor: Yeni bir özellik için 10'dan fazla gerçek prototipi deneniyor. Görünüşe göre yapay zeka ajanları yinelemeyi gerçekten hızlandırıyor.
  • Terminal kullanıcı deneyimini (UX) yeniden tasarlamak. Claude Code, LLM’ler tarafından desteklenen terminallerle etkileşime geçmeden önce ihtiyaç duyulmayan birçok yenilikçi özelliği terminal kullanıcı deneyimine getiriyor. Bunlardan bazılarına bir bakış.
  • “Yapay zeka öncelikli” yazılım mühendisliği nasıl bir şey. Kod incelemeleri ve testler için yapay zeka ajanlarını kullanmak, test odaklı geliştirmenin (TDD) rönesansı, olay müdahalesini otomatikleştirmek ve özellik bayraklarının (feature flags) dikkatli kullanımı. Bu durum, gelecekte “yapay zeka öncelikli” mühendislik ekiplerinin nasıl çalışacağının bir habercisi olabilir mi?
  • Alt ajanlar (subagents) geliştirmek. Alt ajanlar özelliğinin sadece üç günde nasıl geliştirildiğine, bu sürecin iki günlük çalışmasının nasıl çöpe atıldığına bir bakış.
  • Yapay zeka destekli mühendislik ekiplerinin geleceği? Mühendislik ekiplerinin Anthropic’in çalışma şeklinden neler öğrenebileceği ve onu benzersiz kılan, daha az aktarılabilir olabilecek unsurlar hakkında akılda tutulması gerekenler.

1. Her şey nasıl başladı

Boris Cherny, Eylül 2024'te Anthropic’e katıldı ve Claude 3.6 modeliyle bir sürü farklı prototip geliştirmeye başladı. O zamanlar Anthropic’in genel API’sine daha aşina olmak istiyordu. Boris o dönemi şöyle hatırlıyor:

“Terminalde Claude kullanarak bir şeyler kurcalamaya başladım. İlk sürüm çok basitti: Dosyaları okuyamıyor, bash kullanamıyor ve hiçbir mühendislik işi yapamıyordu. Ama bilgisayarla etkileşime girebiliyordu.

Bu prototipi AppleScript’e bağladım: Çalışırken ne müzik dinlediğimi söyleyebiliyordu. Ve sonra girdime göre çalan müziği de değiştirebiliyordu.

Bu havalı bir demoydu ama o kadar da ilginç değildi.”

Bu sırada Cat Wu, yapay zeka ajanlarının bilgisayar kullanımını ve ajanların bunları kullanmasından doğan yeni yetenekleri araştırıyordu. Cat ile bir sohbetin ardından Boris, terminale sadece AppleScript kullanmaktan daha fazla yetenek kazandırma fikrine kapıldı. Şöyle diyor:

“Ona dosya sistemiyle etkileşime girmesi ve batch ile etkileşime geçmesi için bazı araçlar vermeyi denedim; dosyaları okuyabiliyor, dosyalara yazabiliyor ve batch komutlarını çalıştırabiliyordu.

Aniden, bu ajan gerçekten ilginç bir hal aldı. Onu bizim kod tabanımızda çalıştırdım ve hakkında sorular sormaya başladım. Claude daha sonra dosya sistemini keşfetmeye ve dosyaları okumaya başladı. Yani, bir dosyayı okuyor, import’lara bakıyor, sonra import’larda tanımlanan dosyaları okuyordu! İyi bir cevap bulana kadar devam etti. Claude’un dosya sistemini keşfetmesi benim için akıl almazdı çünkü daha önce hiç böyle bir araç kullanmamıştım.

Yapay zekada ‘ürün fazlası’ (product overhang) diye bir şeyden bahsederiz ve prototiple keşfettiğimiz şey buydu. Ürün fazlası, bir modelin belirli bir şeyi yapabildiği, ancak yapay zekanın çalıştığı ürünün bu yeteneği yakalayacak şekilde inşa edilmediği anlamına gelir. Claude’un dosya sistemini keşfetmesiyle ilgili keşfettiğim şey saf ürün fazlasıydı. Model bunu zaten yapabiliyordu ama bu yetenek etrafında inşa edilmiş bir ürün yoktu!”

Ürün-pazar uyumu

Boris prototipini her gün işinde kullanmaya başladı. Daha sonra bunu, ileride çekirdek Claude Code ekibi olacak kişilerle paylaştı ve diğer geliştiriciler de günlük olarak kullanmaya başladı.

Boris ve Claude Code ekibi, ilk prototipten iki ay sonra, Kasım 2024'te şirket içi kullanıma hazır bir sürüm yayınladı. İlk gün, Mühendislik ekibinin yaklaşık %20'si, beşinci günde ise %50'si Claude Code’u kullanıyordu. O noktada Boris, Claude Code’un dış dünyada da başarılı olabileceğine oldukça emindi.

Ancak aracı yayınlayıp yayınlamama veya dahili kullanım için saklama konusunda şirket içinde bir tartışma vardı. Boris anlatıyor:

“Aslında Claude Code’u halka açık olarak piyasaya sürmek isteyip istemediğimizden bile emin değildik çünkü bunun bizim için rekabet avantajı, yani ‘gizli sosumuz’ olabileceğini düşünüyorduk: eğer bize bir avantaj sağlıyorsa, neden yayınlayalım?

Sonunda vardığımız pozisyon şuydu:

  • Anthropic, özünde bir model güvenliği şirketidir.
  • Model güvenliği ve yetenekleri hakkında öğrenme şeklimiz, insanların kullandığı araçlar yapmaktır.
  • Claude Code, Anthropic’e bağımlı olduğu için neredeyse kesinlikle insanların kullanacağı bir araç olacaktı.
  • Dolayısıyla bu aracı yayınlayarak, model güvenliği ve yetenekleri hakkında çok daha fazla şey öğrenmiş olacaktık.”

Claude Code mühendislik ekibini kurmak

Başlangıçta ekip sadece Boris’ten oluşuyordu, ta ki Kasım ayında Sid Bidasaria Anthropic’e katılıp Claude Code’un erken versiyonuyla karşılaşana kadar. Fikri beğendi ve projede Boris’e katıldı.

İki kişilik ekiplerinin çalışma şeklinde büyük bir özgürlük vardı. Sid bana şunları söyledi:

“Yaptığımız şeyin çoğu, gerçekten hızlı bir şekilde prototip oluşturmak ve temelindeki modelin ne kadar güçlü olduğunu gösteren ürünler geliştirmekti. Ekip içinde resmi süreçlerimiz yoktu: Her şey süper akışkandı. Neredeyse istediğimiz her şey üzerinde çalışabiliyorduk ve bu yüzden en umut verici fikirleri seçmeye devam ettik.”

Ekip, Temmuz ayına kadar yaklaşık 10 mühendise ulaştı ve işe alımlar o zamandan beri devam ediyor. Bugün, mühendisler, Ürün Yönetimi, Tasarım ve Veri Bilimi çalışanlarından oluşan tam teşekküllü bir ürün ekibi var ve hala işe alım yapıyorlar.

Claude Code sadece kodlayıcılar için değil

Bugün, Anthropic’in kod yazan mühendislerinin %80'inden fazlası Claude Code’u günlük olarak kullanıyor, ancak sadece onlar değil. Boris:

“Ofise girerken bir veri bilimcinin ekranına gözüm takıldı. Claude Code çalıştırıyordu. ‘Bir dakika, neden Claude Code çalıştırıyorsun?’ dedim. Şöyle dedi: ‘Bu şeyi nasıl çalıştıracağımı ve benim için sorgu yazmasını nasıl sağlayacağımı çözdüm.’

Bu günlerde veri bilimcilerinin olduğu sıradan geçerken hepsinin Claude Code çalıştırdığını görüyorum, birçoğunun birkaç örneği birden çalışıyor, sorgular çalıştırıyor, görselleştirmeler oluşturuyor ve diğer türde faydalı işler yapıyorlar.”

İlginç bir nokta, Boris’in Claude Code için aklında her zaman sadece yazılım mühendislerinin olmasıydı ancak ürünün başka alanlarda da faydalı olduğu ortaya çıktı.

Ekip boyutunu ikiye katlarken mühendislik çıktısını artırmak

Mühendis başına çekme talebi (pull request) metriğini ele alırsak; bir mühendislik ekibi hızla iki katına çıktığında bu süreç genellikle metriği aşağı çeker. Bunun nedeni, mevcut mühendislerin yeni iş arkadaşlarını eğitmek için daha fazla zaman harcaması ve daha az kod yazması, yeni katılanların ise ilk başta işlere alışması gerekmesidir. Her metrik gibi, mühendis başına çekme talebi (PR) de mükemmel bir metrik değildi, ancak yineleme hızına dair bir fikir verir. PR verimliliği GitHub, Dropbox, Monzo, Adyen ve diğer şirketler tarafından halihazırda ölçülmektedir.

Ancak Anthropic, Claude Code sayesinde ekip büyüklüğü ikiye katlanırken PR verimliliğinde %67'lik bir artış gördü. Ortalama onaylanan PR metriğinin düşmesi normal olurdu, ama aslında arttı! Bunun kredisi Claude Code’a veriliyor: Mühendisler onunla PR’ları daha hızlı tamamlıyor. Şanslı bir olaylar dizisi olarak, Anthropic, Claude Code’un tüm mühendislik departmanında benimsendiği sıralarda mühendis sayısını ikiye katladı.

Claude Code ile bir işi tamamlamak önemli ölçüde daha hızlıdır ve kodlama görevlerinde araçla daha verimli ilerleme kaydedilebilir. Ayrıca Claude Code, programı çalıştırıp çıktıları kontrol edebilmesi veya testleri çalıştırarak kodun doğruluğunu doğrulayabilmesi sayesinde geliştirme sürecinde de oldukça yardımcı olur.

2. Teknoloji yığını ve mimari

Claude Code’un teknoloji yığını:

  • TypeScript: Claude Code bu dil üzerine inşa edilmiştir.
  • Ink ile React: Kullanıcı arayüzü, etkileşimli komut satırı öğeleri için Ink çerçevesi kullanılarak React ile yazılmıştır.
  • Yoga: Meta tarafından açık kaynaklı hale getirilen düzen sistemi. Güzel çalışan, kısıtlama tabanlı bir düzendir. Terminal tabanlı uygulamaların tüm terminal boyutlarını destekleme dezavantajı vardır, bu nedenle bunu pragmatik bir şekilde yapmak için bir düzen sistemine ihtiyacınız vardır.
  • Bun: Derleme ve paketleme için. Ekip, Webpack, Vite ve diğer derleme sistemlerine kıyasla hızı nedeniyle onu seçti.

Ink çerçevesi, terminalde hoş görünen kullanıcı arayüzleri oluşturmaya olanak tanıyan şık bir bileşendir. Örneğin, bu arayüzü oluşturmak için:

Kodu React ile yazabilirsiniz:

import React, {useState, useEffect} from 'react';
import {render, Text} from 'ink';

const Counter = () => {
  const [counter, setCounter] = useState(0);

  useEffect(() => {
    const timer = setInterval(() => {
      setCounter(previousCounter => previousCounter + 1);
    }, 100);

    return () => {
      clearInterval(timer);
    };
  }, []);

  return <Text color="green">{counter} tests passed</Text>;
};

render(<Counter />);

Konsolda güncellenen bir sayacın kodu. Kaynak: [https://github.com/vadimdemedes/ink]

Claude Code’u dağıtmak için npm kullanılır. Node ekosistemindeki en popüler paket yöneticisidir. Claude Code’u kullanmaya başlamak için Node 18 veya üstü sürümün yüklü olması, ardından şunu çalıştırmanız gerekir:

npm install -g @anthropic-ai/claude-code

Bu işlem tamamlandıktan sonra aracı claude komutuyla başlatabilirsiniz.

Teknoloji yığını, Claude modeli için “dağıtıma uygun” (on distribution) olacak şekilde seçildi. Yapay zekada “dağıtıma uygun” ve “dağıtım dışı” (off distribution) terimleri vardır. “Dağıtıma uygun”, modelin zaten nasıl yapılacağını bildiği anlamına gelirken, “dağıtım dışı” ise bu konuda iyi olmadığı anlamına gelir.

Ekip, Claude için zaten iyi olduğu “dağıtıma uygun” bir teknoloji yığını istedi. TypeScript ve React, modelin çok yetenekli olduğu iki teknoloji olduğundan mantıklı bir seçimdi. Ancak, ekip Claude’un pek de iyi olmadığı daha egzotik bir yığın seçseydi, bu “dağıtım dışı” bir yığın olurdu.

Boris şöyle özetliyor: “Dağıtım dışı bir yığınla model yine de öğrenebilir. Ama ona yol göstermeniz ve çaba sarf etmeniz gerekir. Biz öğretmemiz gerekmeyen bir teknoloji yığını istedik: Claude Code’un kendini inşa edebileceği bir yığın. Ve harika çalışıyor; Claude Code’un yaklaşık %90'ı Claude Code ile yazılıyor.”

Mimari: en basit seçeneği seçin

İlginç bir şekilde, Claude Code’un modüller, bileşenler ve istemci tarafındaki karmaşık iş mantığı açısından çok da fazla bir şeyi yok. Dosya sistemlerini ve kod tabanlarını dolaşmak gibi oldukça karmaşık şeyler yapan bir araç için bu biraz şaşırtıcı! Ancak Claude Code, Claude modelinin üzerinde sadece hafif bir kabuktur. Bunun nedeni, işin neredeyse tamamını modelin yapmasıdır:

  • Kullanıcı arayüzünü tanımlar ve modelin onu değiştirmesi için kancalar (hooks) sunar.
  • Modellerin kullanması için araçlar sunar ve aradan çekilir.

Claude Code ekibi, mümkün olduğunca az iş mantığı yazmaya çalışıyor.

Boris şöyle diyor: “Bu kulağa tuhaf gelebilir, ama bunu inşa etme şeklimiz, insanların modeli mümkün olduğunca ham hissetmelerini istememizdir. Modelin, günümüz ürünlerinin yapmasına olanak tanıdığından çok daha fazlasını yapabileceğine dair bir inancımız var.

Birçok kodlama ürününe baktığınızda, modelin önüne geçiyorlar; kullanıcı arayüzü elemanları ve diğer parçaları ekleyerek ortalığı karıştıran bir iskelet oluşturuyorlar, öyle ki bu araçlarda çalışan model tek ayak üzerinde sekiyormuş gibi hissediliyor. Kullanıcılara yardımcı olması amaçlanan özellikler, sonunda modeli sınırlıyor. Bu yüzden, kullanıcı arayüzünü mümkün olduğunca minimal yapmaya çalışıyoruz.

Her yeni model sürümünde bir sürü kodu siliyoruz. Örneğin, 4.0 modelleriyle sistem isteminin (system prompt) yaklaşık yarısını sildik çünkü artık ona ihtiyacımız yoktu. Modelin etrafına mümkün olduğunca az kod koymaya çalışıyoruz ve bu, istemi (prompting) en aza indirmeyi ve araç sayısını en aza indirmeyi içeriyor. Sürekli olarak araçları siliyor ve yenileriyle denemeler yapıyoruz.”

Claude Code sanallaştırma kullanmaz , yerel olarak çalışır. Önemli bir tasarım kararı, Claude Code’u bir sanal makinede, Docker konteyneri gibi veya bulutta, çalıştırıp çalıştırmayarak bir korumalı alan (sandbox) ortamı yaratmaktı. Ancak ekip, yerel olarak çalışan bir sürümle devam etmeye karar verdi sebebi basitlikti.

Boris:”Her tasarım kararında neredeyse her zaman mümkün olan en basit seçeneği seçiyoruz. ‘Batch komutlarını nerede çalıştırırsınız?’ ve ‘Dosya sisteminden nerede okuma yaparsınız?’ sorularına en basit cevaplar nelerdir? Bunu yerel olarak yapmaktır.

Bu yüzden bununla devam ettik: Claude Code, batch komutlarını yerel olarak çalıştırır ve dosya sisteminden okuma ve yazma yapar. Sanallaştırma kullanmaz.”

İzinler sistemi Claude Code’un en karmaşık kısmı izinler sistemidir. Claude Code’u yerel olarak çalıştırmanın riski, bir ajanın dosya silmek gibi yapmaması gereken geri döndürülemez şeyler yapabilmesidir. Peki bu nasıl güvenli bir şekilde yapılabilir?

Yine ekip basitliği seçti ve bir eylemi gerçekleştirmeden önce izin isteyen bir izinler sistemi kurdu. Kullanıcı daha sonra şunlara karar verebilir:

  • İzni bir kereliğine vermek
  • Gelecekteki oturumlar için de izni vermek
  • İzni reddetmek

Claude Code bir dosyayı silmeden önce izin istiyor

Claude Code bir dosyayı silmeden önce izin istiyor

Boris, izinleri doğru yapmanın çaba gerektirdiğini söylüyor:

“En önemli prensibimiz şu: Claude Code’u çalıştırmaya başlarsanız, izniniz olmadan sisteminizde bir şeyleri değiştirmemeli. Bu tehlikeli olabilir.

Ancak, insanların bundan vazgeçip ‘aslında, çalıştığım bağlamda her seferinde izin vermek istemiyorum’ gibi şeyler söyleyebilmeleri için yollar da sunmalıyız.

İzinler sisteminde çok fazla nüans var. Örneğin, bir komut geldiğinde, bunun ayarlar dosyasında (settings.json dosyasında) zaten izin verilen bir şey olup olmadığını kontrol etmek için üzerlerinde statik analiz yapıyoruz.

Ayarlar sistemi, proje başına, kullanıcı başına ve şirket başına yapılandırılabilen çok katmanlı bir sistemdir. Ayarları ekibinizle de paylaşabilirsiniz. Ekiplerin, Claude Code’un izin istememesi için komutları beyaz listeye alan ayar dosyalarını paylaştığını gözlemliyoruz.

Diğer özellikler Claude Code bazı yönlerden basit olsa da, karmaşıklığına katkıda bulunan düzinelerce özelliği var.

Dikkate değer bazıları:

  • Kancalar (Hooks): Claude Code’un kullanması için özel kabuk komutları oluşturur.
  • MCP desteği: Claude Code’u MCP sunucularına bağlayarak daha fazla yetenek kazandırır.
  • GitHub ve GitLab desteği: GitHub Actions kullanır ve Claude Code’u GitLab CI/CD’ye entegre eder.
  • Çıktı stilleri: Çıktı stillerine geçme veya kendinizinkini tanımlama yeteneği. Geçebileceğiniz yerleşik çıktı stilleri şunları içerir:
  1. Açıklayıcı: Uygulama seçimleri hakkında sizi eğitir.

2. Öğrenici: Claude’un sizden küçük görevleri kendiniz yapmanızı istediği işbirlikçi bir stil. Döngüde kalmak, uygulamalı olmak ve öğrenmek için çok akıllıca bir yaklaşım. Daha az deneyimli mühendislerin öğrenmesi veya konuya yabancı olanlar için harika bir yol olabilir.

3. Yapılandırıcı: Terminalinizi, modelinizi, durum satırınızı ve daha birçok şeyi yapılandırmak için çeşitli yapılandırma dosyaları ve ayarlar kullanır.

  • Alt ajanlar (Subagents): Aşağıda ele alınmıştır.
  • Kurumsal özellikler: Claude Code’u bir organizasyon genelinde kullanmak için Kimlik ve Erişim Yönetimi (IAM) kurar ve kullanımı izlemek için kuruluş genelindeki analizlere erişir.
  • Claude Code SDK: Claude Code’u güçlendiren ajan altyapısını kullanarak özel yapay zeka ajanları oluşturur.

3. Özellikleri haftalar değil, günler içinde geliştirme ve yayınlama Yaklaşık bir düzine mühendisten oluşan bir ekip için gerçekten hızlı çalışıyorlar:

  • Günde ~60–100 dahili sürüm. Bir mühendis Claude Code’da bir değişiklik yaptığında, dahili olarak yeni bir npm paketi yayınlarlar. Anthropic’teki herkes dahili sürümü kullanır ve geliştirme ekibi hızlı geri bildirim alır.
  • Yaz boyunca mühendisler günde yaklaşık 5 çekme isteği (pull request) gönderdi. Bu, günde 1–2 çekme isteğinin genellikle norm olduğu çoğu teknoloji şirketinden çok daha hızlı bir tempo.
  • Günde 1 harici sürüm. Neredeyse her gün, paketin yeni bir sürümü bir dağıtımın parçası olarak yayınlanır.

2 günde 20 prototip: yapılacaklar listesi oluşturmak Bu geliştirme sürecinde beni şaşırtan şey, ekibin Claude Code ile alıştığımdan çok daha fazla prototipleme yapması. Örnek olarak, Boris bana yeni özellik olan yapılacaklar listelerinin yaklaşık 20 prototipini birkaç saat içinde iki günde nasıl oluşturduğunu anlattı.

Claude Code ekibi tarafından çeşitli yinelemeler için kullandığı gerçek istemler (prompt) paylaşılmaktadır.

Her birinden sonra Boris:

  • Bazen sonucu biraz değiştirir.
  • Onu biraz kullanır.
  • Eğer iyi hissettiriyorsa, geri bildirim için iş arkadaşlarıyla paylaşır.
  • Bir şeyler ters gittiğinde, yeni bir istemle yeni bir prototip oluşturur.

Claude Code kullanarak Claude Code’un Nasıl Geliştirildiğinin Bir Örneği

Prototip #1: Yapılacakların tamamlandıkça gösterilmesi Fikir: Yapılacaklar listeleri, Claude’un nasıl ilerlediğini takip etmenin en kolay yollarından biridir, bu yüzden listeyi en son araç çağrısının hemen altında göstermeyi denediler.

İstem:

Yapılacakların geldikçe görünmesi yerine, yapılacaklar için araç kullanımını ve sonucunu gizle ve girdinin üzerinde sabit bir yapılacaklar listesi oluştur. Başlığı gri renkte “/todo (3'te 1)” olsun.

Nasıl göründü:

Prototip #2: İlerlemenin altta gösterilmesi Başka bir varyasyon, her yapılacak güncellemesini satır içinde göstermekti.

İstem:

Aslında hiç yapılacaklar listesi gösterme ve bunun yerine, model bir yapılacak üzerinde çalışmaya başladığında kullanılan aracı satır içinde kalın başlıklar olarak göster. “4'ün 2. adımı” veya benzerini koru ve sonrasına gri renkte görmek için middot /todo ekle

Nasıl göründü:

Prototip #3 ve #4: “Etkileşimli bir hap” Ya yapılacaklar, ilerlemeyi görmek için yukarı çekebileceğiniz, arka plan görevleri gibi etkileşimli bir “hap” (konsolun altındaki bir dikdörtgen) olsaydı?

İstemler ve çıktılar:

Ayrıca metin girdisinin altına, bg görevlerine benzer bir yapılacaklar hapı ekle. “yapılacaklar: 3'te 1” veya benzerini göstermeli.

Hapı, bg görevleri hapı gibi etkileşimli yap.

Prototip #5 ve #6: “Çekmece” kullanmak Ya yapılacakların yan tarafta göründüğü bir “çekmece” olsaydı?

İstemler ve çıktılar:

Aslında hem hapı hem de başlıkları geri al. bunun yerine, yapılacaklar listesini girdinin sağına, gri bir ayırıcıyla dikey olarak ortalanmış şekilde oluştur. yapılacaklar aktifken göster, bittiğinde gizle

Biraz zıplıyor, bir çekmece gibi canlandırabilir misin

Prototip #7, #8 ve #9: Görünürlük üzerine deneyler Yapılacaklar listesini mümkün olduğunca görünür kılmak için Boris, onu her zaman girdinin üzerinde göstermeyi denedi.

İstemler ve çıktılar:

Aslında yapılacaklar listesini girdinin üzerinde göstersen ne olur?

5'te kes ve “… ve 4 tane daha” veya benzerini göster

Gri metinle “Yapılacak:” başlığı ekle

Prototip #10–20: Döndürme (spinner) kullanıcı arayüzü elemanını taşımak

Boris, yapılacaklar listesinin görünürlüğünün nerede olması gerektiğiyle oynamaya devam etti ve birkaç prototipten sonra. Sonunda Boris, yapılacaklar listelerini görünürlüğü en üst düzeye çıkaran döndürme elemanına taşıdı ve bu iyi hissettirmeye başladı. Birkaç yinelemeden sonra, sonunda halka açık olarak yayınladıkları versiyona ulaştılar.

Bir yineleme daha

Ekip, topluluktan tüm yapılacakları görmek istediklerine dair çok fazla geri bildirim aldı. Bu yüzden ekip, CTRL + T ile bunları açıp kapama yeteneği ekledi. Ve bugün canlı olan da bu!

Tab tuşuna basmak, yürütülen adımların listesini açıp kapatıyor

Tab tuşuna basmak, yürütülen adımların listesini açıp kapatıyor

Yapay zeka ajanları ile bir günde 5–10 prototip fikri oluşturmak ve test etmek mümkün. Prototipleme eskiden o kadar zaman alıcıydı ki, prototipleme için iki gün varsa, sonunda iki farklı prototipin oluşturulmuş olması şans sayılırdı. Ama şimdi, ajanlar çok hızlı prototipler oluşturabiliyor, bu yüzden Claude Code ekibinin yaptığı gibi günde 5–10 prototip testi kolayca yapılabiliyor.

Herkesin bu kadar çok prototipi bu kadar çabuk oluşturabileceğini iddia etmiyorum, ancak prototiplemenin eskiden ne kadar sürdüğünü unutmanın mantıklı olduğunu düşünüyorum: bu araçlar prototiplemenin ne kadar hızlı olabileceğini değiştiriyor!

Bu prototiplemenin çoğu, kullanıcı arayüzünü “iyi hissettirmekle” ilgiliydi: Animasyonlu prototipleri bu başlıkta görebilirsiniz. Özelliğin nasıl geliştiğine ve Boris’in yapılacaklar listesinin aracın içinde bugünkü haline nasıl daralttığına dair bir fikir edinmek için prototip adımlarının videolarını izlemenizi öneririm.

4. Terminal kullanıcı deneyimini (UX) yeniden tasarlamak Claude Code, her komuta yanıt veren bir LLM sayesinde terminalin ilk kez gerçekten etkileşimli olması nedeniyle ekipten birçok taze fikre sahip.

Kaynak

Gergely Orosz, (Sep 23, 2025), How Claude Code is built:

[https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built]


메타데이터
post_id
cffdeda8494b
slug
claude-codenasıl-geliştirildi-cffdeda8494b
url
https://medium.com/softtechas/claude-codenas%C4%B1l-geli%C5%9Ftirildi-cffdeda8494b
canonical_url
https://medium.com/softtechas/claude-codenas%C4%B1l-geli%C5%9Ftirildi-cffdeda8494b
author_url
https://medium.com/@cbarkinozer
status
ok
fetched_at
2026-08-23 14:02:09