Yapay zeka destekli kodlama araçları, son dönemde geliştiricilerin projeleri neredeyse düşünür düşünmez hayata geçirmelerine olanak tanıyor. Cursor, Claude Code ve Codex gibi araçlarla hafta sonlarında tamamlanan MVP’ler artık sıradanlaşıyor. Bir fikirden ürüne giden yol, sadece birkaç saat sürüyor. Ancak bu hızın arkasında yatan bir sorun var: alınan kararların izi kayboluyor.
Hızın Ötesinde: Kararların Kalıcılığı
Geliştiriciler, projelerini hızla ilerletirken yüzlerce küçük kararı da aynı hızla alıyor. Hangi kimlik doğrulama sistemi kullanılacak? Veritabanı nasıl yapılandırılacak? Bir modül hangi sorumluluklara sahip olacak? Bu kararlar genellikle sohbet geçmişlerinde kalıyor ya da geliştiricinin hafızasına yükleniyor. Oysa bu kararların kaybolması, projelerin ölçeklenmesini engelliyor.
Persist OS adlı yerel CLI aracı, geliştiricilerin aldıkları kararları kalıcı hale getirmelerine yardımcı oluyor. Bu araç, proje klasörüne yerleştirilen düz metin dosyalarında kararları saklıyor ve herhangi bir ağ bağlantısı ya da telemetri kullanmadan bu kararları uygulamaya zorluyor. Böylece, geliştiriciler hem hızlarını koruyor hem de kararların izini sürmeyi kolaylaştırıyor.
Kararların Kaydedilmesi: Proje Belleğinin İnşası
Persist OS’un sunduğu bellek sistemi, geliştiricilerin projelerine dair tüm kararları, standartları ve kalite kontrollerini tek bir yerde toplamalarına olanak tanıyor. Kurulumdan itibaren proje klasörüne yerleştirilen docs/ dizini altında aşağıdaki yapı oluşturuluyor:
00-product/- Ürün vizyonu, PRD ve yol haritası10-architecture/- Teknoloji yığını, modül sınırları ve mimari kararlar20-security/- Tehdit modellemesi ve güvenlik kuralları30-modules/- Modüllerin sahiplik bilgileri40-features/- Her özellik için PRD, kabul kriterleri ve test planları50-quality/- Kalite kapıları ve standartlar60-engineering/- Mühendislik kuralları ve geliştirici talimatlarıadrs/- Kabul edilen karar kayıtları (ADR’ler)
Bu yapı, geliştiricilerin projelerine dair tüm bilgileri tek bir yerde toplamalarını ve gelecekteki oturumlarda bu bilgilere kolayca erişmelerini sağlıyor. Ayrıca, .persist/config.json dosyası aracılığıyla proje özelinde ayarlar yapılabiliyor.
Özel Ayarlar ve Entegrasyonlar
Persist OS, farklı geliştirme ortamları ve araçlarla entegre çalışabiliyor. Örneğin:
AGENTS.md- Geliştirme araçlarına (örneğin Claude Code ya da Cursor) özel talimatlar ve komutlarCLAUDE.md- Claude Code’a özel kısa talimatlar.cursor/rules/persist-memory.mdc- Cursor’da her zaman uygulanacak kurallar.persist/hooks/pre-commit- Commit öncesipersist doctorkomutunu çalıştıran bir kanca
Bu entegrasyonlar sayesinde, geliştiriciler projelerine dair kararları ve kuralları araçlara otomatik olarak aktarabilir ve bu kuralların her oturumda uygulandığından emin olabilirler.
Bir Günlük MVP’nin Yönetimi: Pratik Bir Örnek
Persist OS’un nasıl çalıştığını anlamak için, basit bir alışveriş ödeme akışının geliştirilmesini ele alalım. Bu projeyi bir günde tamamlamak istiyoruz, ancak kararlarımızın kalıcı olmasını da sağlıyoruz.
Adım 1: Bellek Yapısının Oluşturulması
Öncelikle, projeye dair bellek yapısını oluşturmalıyız:
persist feature create checkoutBu komut, docs/40-features/F-###-checkout/ dizini altında aşağıdaki dosyaları oluşturur:
PRD.md- Ürün gereksinim belgesiACCEPTANCE.md- Kabul kriterleriTEST_PLAN.md- Test planıTASKS.md- Görevler listesi
Bu dosyalar, projenin teslim sürecine dair tüm bilgileri içeriyor ve geliştiricinin doğrudan src/ dizinine geçmeden önce bu belgeleri doldurmasını sağlıyor.
Adım 2: Kararların Kaydedilmesi ve Kabul Edilmesi
Kararlarımızı kaydetmek ve kabul etmek için aşağıdaki adımları izliyoruz:
persist adr create payment-providerBu komut, docs/adrs/proposed/ dizini altında önerilen bir karar kaydı oluşturur. Ardından, bu kararı kabul etmek için:
persist adr accept payment-providerBu komut, kararı docs/adrs/ dizinine taşır ve projenin resmi belleğine ekler. Hiçbir karar otomatik olarak kabul edilmez; geliştiricinin onayı gereklidir.
Adım 3: Geliştirme Araçlarının Kurulumu
Persist OS’un ürettiği AGENTS.md dosyası, geliştirme araçlarına özel talimatlar içerir. Örneğin, bir geliştirme aracı aşağıdaki kurallara göre çalışır:
- Proje belleğindeki kurallar modelin tercihlerine göre önceliklidir.
- Eğer bir çakışma oluşursa, araç çalışmayı durdurur ve geliştiriciyi bilgilendirir.
persist doctorkomutu, projenin belleğinin doğruluğunu kontrol eder ve her tamamlanan işin ardından çalıştırılmalıdır.
Adım 4: İşin Tamamlandığının Doğrulanması
Bir özelliğin tamamlandığını iddia etmek için aşağıdaki komutları çalıştırmak gerekiyor:
pnpm test:run && pnpm typecheck && persist doctorBu komutlar, testlerin çalıştırılmasını, tür denetimlerinin yapılmasını ve projenin belleğinin doğruluğunun kontrol edilmesini sağlar. Sadece bu adımların tamamlanmasıyla geliştirici, işin gerçekten tamamlandığını iddia edebilir.
Gelecekteki Projeler İçin Öneriler
Persist OS gibi araçlar, geliştiricilerin projelerini daha hızlı ve daha güvenilir bir şekilde yönetmelerine yardımcı oluyor. Ancak, bu araçların etkin bir şekilde kullanılabilmesi için geliştiricilerin projeye dair tüm kararları ve standartları sistematik bir şekilde kaydetmeleri gerekiyor.
Geliştiriciler, projelerini ölçeklendirirken sadece kodu değil, aynı zamanda alınan kararları ve uygulanan standartları da kaydetmeyi unutmamalıdır. Bu sayede, projeler daha kolay anlaşılabilir, daha güvenilir ve daha sürdürülebilir hale gelir. Gelecekte, benzer araçların yaygınlaşmasıyla birlikte, yapay zeka destekli geliştirme süreçlerinin daha da verimli hale gelmesi bekleniyor.
Yapay zeka özeti
Yapay zeka araçlarıyla projeleri hızla geliştirebilirsiniz. Peki kararlarınızı nasıl kalıcı hale getirebilirsiniz? Persist OS adlı araçla proje belleğinizi nasıl yönetebilirsiniz?