Setiap repositori yang ditinggalkan pernah menjadi obsesi pada jam 2 pagi. Anda tahu rentaknya. Idea datang menerjah sekitar tengah malam. Anda membina rangka repo sebelum kopi anda menjadi sejuk. Selama sebelas hari, anda melakukan push kod dengan tenaga yang meluap-luap seperti seseorang yang akhirnya berjaya menyelesaikannya. Kemudian sprint berakhir. Atau pemanas air rosak. Atau anda sekadar membuka kod tersebut pada petang Selasa dan aliran pemikiran itu hilang begitu saja.

Kebanyakan pembangun memikul beban ini. Ia bukanlah rasa kesal, tetapi lebih kepada senarai senyap tentang "kalaulah". Profil GitHub anda menjadi arkib niat yang baik. Pencipta Side Project Cemetery telah membina sesuatu yang menangani perkara ini secara langsung. Alat mereka mengubah profil awam anda menjadi tanah perkuburan di bawah cahaya bulan di mana setiap repo yang usang mendapat batu nisan, tarikh kematian, dan kadangkala satu jenaka.

Tanah Perkuburan Semakin Luas

Projek sampingan mati kerana sebab-sebab remeh. Anda perlu mempelajari rangka kerja (framework) baharu, jadi anda membina alat CLI. Anda mahu mengautomasikan hamparan kerja, jadi anda menulis wrapper Python. Prototaip tersebut berfungsi cukup baik untuk menyelesaikan masalah anda, dan itulah pengakhirannya. Tiada pengguna yang menunggu, tiada tarikh akhir yang mendesak, tiada pengurus yang meminta kemas kini status. Tanpa tekanan luaran, motivasi perlu memikul beban sepenuhnya. Apabila motivasi merosot, projek tersebut membeku.

Layari GitHub pembangun tipikal dan anda akan melihat corak yang sama. Graf sumbangan berwarna karat untuk satu repo. README yang berakhir dengan “TODO: write tests.” Sejarah commit yang terhenti secara mendadak enam bulan lalu. Kita melayan repo ini seperti cenderamata yang memalukan. Kita skrol melaluinya dengan cepat, seolah-olah kod yang tidak selesai itu adalah sesuatu yang perlu disembunyikan. Side Project Cemetery mengambil pendirian yang sebaliknya. Ia berkata: tanam mereka dengan betul. Akui kewujudan mereka. Kemudian, jika anda mahu, hidupkan semula salah satu daripadanya.

Cara Tanah Perkuburan Ini Berfungsi

Antaramukanya ringkas dan terus terang. Anda taip sebarang nama pengguna GitHub. Aplikasi ini membuat pertanyaan kepada GitHub REST API, menarik setiap repositori awam, dan menapis repo yang tidak mempunyai sebarang push dalam tempoh seratus lapan puluh hari terakhir. Setiap hasil menjadi sebuah kubur. Anda akan melihat tahun kelahiran, tahun kematian, dan epitaf yang dijana daripada butiran repo tersebut.

Beberapa epitaf kedengaran lembut:

  • Ditulis dalam JavaScript. Mati akibat keletihan callback.

Yang lain menawarkan pembacaan sejarah yang lebih positif:

  • Tidak mati. Sekadar ditangguhkan secara agresif sejak 2025.

Jika anda mahukan lebih personaliti, anda boleh mengaktifkan integrasi Gemini yang pilihan. AI tersebut membaca bahasa dan konteks repo untuk merangka epitaf tersuai yang terasa khusus dan bukannya sekadar templat. Terdapat juga integrasi ElevenLabs pilihan yang membacakan eulogi tersebut dengan kuat, yang kedengaran seperti gimik sehinggalah anda mendengar API wrapper anda yang terbiar diterangkan dengan suara narator yang sayu. Pada ketika itu, keabsurdan tersebut mengatasi rasa bersalah, dan rasa bersalah itulah yang selama ini mengekalkan repo tersebut dalam keadaan tertanam.

Rekindle: Butang Menentang Rasa Terbeban

Tanah perkuburan itu hanyalah separuh daripada tujuannya. Ciri sebenar tersembunyi di bawah setiap batu nisan: butang Rekindle. Klik butang itu, dan aplikasi akan membaca README anda. Ia mencerakin apa sahaja yang anda tulis tentang tujuan projek tersebut, membandingkannya dengan kod sedia ada, dan menulis satu pitch pendek untuk mengingatkan anda mengapa anda memulakannya pada mulanya. Kemudian ia diakhiri dengan satu tindakan konkrit kecil yang boleh anda lakukan malam ini. Bukan pelan hala tuju (roadmap). Bukan pelan refactor. Satu tugasan sahaja. Lima minit kerja.

Ini penting kerana bahagian yang paling sukar untuk kembali ke projek lama bukanlah pengekodan. Ia adalah mengingati di mana anda berhenti dan memaafkan diri sendiri kerana berhenti. Projek yang sudah lama mati terasa sangat besar. Anda mengandaikan anda memerlukan tiga jam hanya untuk memahami semula arkitektur tersebut. Butang Rekindle memampatkan andaian itu menjadi satu tugasan todo tunggal. Matlamatnya adalah untuk menjadikan commit anda yang seterusnya terasa hanya lima minit sahaja lagi, kerana sebaik sahaja anda mempunyai satu diff tunggal dalam sejarah, momentum cenderung untuk kembali.

Mengapa Mengekalkan Stack yang Semudah Ini

Secara teknikal, projek ini mengamalkan apa yang diperkatakannya. Ia dibina dengan HTML, CSS, dan JavaScript vanilla. Ia menggunakan GitHub REST API. Tiada pelayan, tiada langkah binaan (build steps), tiada framework bulanan untuk diselenggara. Anda boleh menghosnya di GitHub Pages dan beredar begitu sahaja.

Minimalisme itu adalah satu ciri, bukannya kemalasan. Alat tentang menghidupkan semula kod lama tidak sepatutnya bergantung kepada rantaian kebergantungan (dependency tree) yang rapuh. Jika penciptanya meninggalkan Side Project Cemetery selama enam bulan, tanah perkuburan itu tidak akan menjadi penghuni lain di tanah perkuburannya sendiri. Kodnya kekal mudah dibaca. Tiada konfigurasi webpack untuk dikemas kini, tiada imej Docker untuk ditampal (patch). Ia adalah satu hujah senyap untuk kesederhanaan dalam penggunaan alatan: kadangkala laman statik dan kunci API sudah mencukupi.

Apabila Butang Tersebut Benar-benar Berfungsi

Pembina itu mengakui bahawa projek-projeknya yang telah mati telah menuntut perhatiannya semasa pembangunan. Salah satu daripadanya merupakan satu obsesi satu malam, ditulis dalam keterujaan yang meluap-luap dan kemudian dilupakan. Mereka menggunakan butang Rekindle padanya. Aplikasi tersebut membaca README, mengingati premisnya, dan memberikan semula tugasan sebenar untuk diselesaikan. Ia berjaya. Mereka melancarkan bahagian yang hilang itu pada minggu yang sama.

Inilah hujah teras alat ini. Minat tidak mati. Ia hanya berehat seketika. Kebanyakan repositori yang ditinggalkan bukanlah kegagalan kejuruteraan. Ia adalah kegagalan konteks. Anda kehilangan rentak kerana rentak itu hanya wujud dalam fikiran anda, dan fikiran anda telah beralih ke rentak yang lain. Side Project Cemetery menzahirkan konteks tersebut secara luaran. Ia membaca README supaya anda tidak perlu membina semula diri anda yang lama dari awal.

Metrik sebenar bukanlah berapa banyak repositori yang anda hidupkan semula. Ia adalah berapa banyak yang anda tidak lagi rasa janggal mengenainya. 'Cemetery' tersebut memberi mereka tempat untuk berehat sehingga anda bersedia. Dan apabila anda bersedia, ia menyerahkan sebuah penyodok dan satu arahan sahaja: mula di sini.

Berhenti membiarkan idea anda terus tertanam.

Lawati 'cemetery' tersebut di https://pyaroslav.github.io/side-project-cemetery/, dan baca kisah pembinaan penuh di Dev.to di sini.