Bir yazılım geliştirme projesi için iyi bir indirim planı belgesi nedir? İyi bir plan ile harika bir plan arasındaki fark nedir? Sürekli zamanımın %85+ kısmını planlama aşamalarına harcaydığımı anlatıyorum. Peki bu tam olarak neyi ifade ediyor? Soyut olarak açıklamak zor; Nüansları gerçekten göstermek için somut bir örneğe ihtiyacınız var. Bu yüzden bugünden iyi bir örnek paylaşmak istedim. Bu aynı zamanda yaklaşımımla ilgili son zamanlarda aldığım bir soruyu da ele alıyor. İnsanlar projenizdeki her şeyi tek seferde yapmak gerektiği izleniminde görünüyor. Benim yaklaşımımda bu doğru, ama sadece 1. sürüm için! Yeni özellikler eklemek veya çalışma şeklini değiştirmek isterseniz, bunu işlevsel bir v1 oluşturduğunuzda elbette yapabilirsiniz. Bunu yapma şekli, v1'i yaratırken önce çok detaylı bir indirim planı oluşturup sonra boncuklara dönüştürüyorsun. Size Cass'ten bir örnek vereyim; bu, Coding Agent Session Search programım, neredeyse tüm kodlama ajanlarından önceki oturum kayıtlarınızı otomatik olarak tespit eden, ayrıştıran, depolayan ve indeksleyen oldukça karmaşık bir Rust programı. Tüm bu loglarda 50ms'in altında anında "yazdıkça arama" sunuyor ve birçok güzel özelliği var. Cass'e, MCP Agent Mail'de ve beads_viewer (bv)'de zaten sahip olduğum bir özelliğe benzer bir özellik eklemek istedim: kurulumunuzu GitHub Pages ile sunulabilen statik bir web sitesi olarak dışa aktarma yeteneği. Tam da bu proje için bv örneğini görebilirsiniz; bu, bu yazıda anlatacağım planlama sürecinin nihai sonucu: Bu işlevsellik, gh aracı kullanılarak dışa aktarılan siteyi oluşturmak ve dağıtmak çok hızlı ve kolay hale gelir. Sitenin kendisi genellikle bir sqlite dosyası ve tamamen tarayıcıda çalışan bir sürü typescript ve wasm'den oluşur; bunlar çok iyi performans, güzel özellikler ve tarza sahip, bunu az önce verilen örnekte görebilirsiniz. MCP Agent Mail mesajlarını veya bir sürü boncuk paylaşmak bir şey, ama bir sürü kodlama ajanı oturum günlüğünü paylaşmak çok farklı; bu şeyler genellikle hassas bilgiler, API anahtarları, küfürler/hakaret (en azından benimkiler öyle!) ve kesinlikle dünyaya göstermek istemeyeceğiniz diğer materyallerle dolu. Ama GitHub Pages, ne kadar güzel olursa olsun, sadece halka açık depolar için çalışıyor (bu arada, araçlarım Cloudflare sayfalarını da destekliyor, ama GH Pages bu kullanım için daha iyi ve daha kolay). Peki bu sorunlarla nasıl başa çıkılır? Cevap şifrelemedir: kullanıcı önce hangi kodlama ajanlarını, hangi proje klasörlerini, zaman dilimini vb. seçer ve bir paket oluşturulur (bu paket, Cass'in tüm kodlama ajanı mesajlarını orijinal yerel formatlarından dahili olarak dönüştürdüğü kanonik formatta olduğunu unutmayın) ve ardından kullanıcı, o paketin şifrelenmesi için bir şifre verir. Yani fikir şu ki, depo ve web sayfası açık olsa da, siz ve şifreyi söylediğiniz diğerleri dışında herkes sadece bir şifre alanı görecek ve mesajları okuyamayacak. Şifre girildiğinde, mesajlar arasında Cass kadar hızlı ve verimli arama yapmanıza olanak tanıyan güzel ve duyarlı bir arayüz açılıyor. Ve gerçekten saklayacak bir şeyiniz yoksa şifreyi kapatıp hepsini gerçekten kamuya açık yapabilirsiniz. ...