Apa yang membuat dokumen rencana penurunan harga yang baik untuk proyek pengembangan perangkat lunak? Apa perbedaan antara rencana yang bagus dan yang bagus? Saya selalu berbicara tentang bagaimana saya menghabiskan 85%+ waktu dan energi saya pada fase perencanaan. Nah, apa sebenarnya yang dimaksud dengan itu? Sulit untuk dijelaskan secara abstrak; Anda memerlukan contoh nyata untuk benar-benar menggambarkan nuansanya. Jadi saya pikir saya akan membagikan contoh yang baik dari hari ini. Ini juga menjawab pertanyaan baru-baru ini yang saya dapatkan tentang pendekatan saya. Orang-orang tampaknya berada di bawah kesan bahwa Anda harus melakukan segala sesuatu dalam proyek Anda dalam satu bidikan. Dan dalam pendekatan saya, itu benar, tetapi hanya untuk versi 1! Jika Anda memutuskan ingin menambahkan fitur baru atau mengubah cara kerjanya, Anda jelas dapat melakukannya setelah Anda memiliki v1 yang berfungsi. Dan cara Anda melakukannya adalah cara yang sama seperti Anda membuat v1, dengan membuat rencana penurunan harga yang sangat rinci terlebih dahulu dan kemudian mengubahnya menjadi manik-manik. Jadi saya akan memberi Anda contoh dari Cass, program Pencarian Sesi Agen Pengkodean saya, yang merupakan program Rust yang cukup rumit yang secara otomatis mendeteksi, mengurai, menyimpan, dan mengindeks semua log sesi Anda sebelumnya dari hampir setiap agen pengkodean di luar sana. Ini menawarkan "pencarian instan saat Anda mengetik" di bawah 50ms di semua log tersebut dan memiliki banyak fitur bagus lainnya. Saya memutuskan bahwa saya ingin menambahkan fitur ke Cass yang mirip dengan fitur yang sudah saya miliki di MCP Agent Mail dan di beads_viewer (bv): kemampuan untuk mengekspor pengaturan Anda sebagai situs web statis yang dapat disajikan menggunakan GitHub Pages. Anda dapat melihat contoh bv untuk proyek ini, yang merupakan hasil akhir dari proses perencanaan yang akan saya jelaskan dalam posting ini: Fungsionalitas ini membuatnya sangat cepat dan mudah untuk membuat dan menyebarkan situs yang diekspor menggunakan utilitas gh. Situs itu sendiri biasanya terdiri dari file sqlite dan banyak typescript dan wasm yang berjalan seluruhnya di browser, tetapi dengan kinerja yang sangat baik dan fitur serta gaya yang bagus, yang dapat Anda amati dalam contoh yang baru saja diberikan. Sekarang, berbagi pesan MCP Agent Mail atau banyak manik-manik adalah satu hal, tetapi berbagi banyak log sesi agen pengkodean sangat berbeda; hal-hal ini seringkali penuh dengan informasi sensitif, kunci API, kutukan/sindiran (setidaknya milik saya!), dan materi lain yang pasti tidak ingin Anda ekspos ke dunia. Tapi GitHub Pages, sebagus apa pun, hanya berfungsi untuk repositori publik (btw, alat saya juga mendukung halaman Cloudflare, tetapi GH Pages lebih baik dan lebih mudah untuk kasus penggunaan ini). Jadi bagaimana menangani masalah ini? Jawabannya adalah enkripsi: pengguna pertama-tama memilih agen pengkodean mana yang akan disertakan, folder proyek mana, periode waktu, dll. dan bundel dihasilkan (perhatikan bahwa bundel ini dalam format kanonis yang secara internal dikonversi oleh Cass dari format asli aslinya) dan kemudian pengguna memberikan kata sandi untuk digunakan untuk enkripsi bundel itu. Jadi idenya adalah bahwa meskipun repositori dan halaman web bersifat publik, semua orang kecuali Anda dan orang lain yang Anda beri tahu kata sandi hanya akan melihat bidang kata sandi dan tidak akan dapat membaca pesan apa pun. Setelah kata sandi dimasukkan, itu akan membuka UI yang indah dan responsif yang memungkinkan Anda dengan mudah mencari pesan hampir secepat dan seefisien yang dilakukan Cass. Dan jika Anda benar-benar tidak memiliki apa-apa untuk disembunyikan, Anda dapat membiarkan kata sandi dan membuat semuanya benar-benar publik. ...