Fallow: Alat Intelijen Kode yang Wajib Dimiliki Setiap Pengguna Claude
BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술
Transcript
00:00:00Ini adalah Fallo, alat kecerdasan berbasis kode untuk TypeScript dan JavaScript yang menganalisis seluruh basis kode Anda untuk mencari kode mati,
00:00:10duplikasi, kompleksitas yang tidak perlu, dan banyak lagi. Artinya, tidak perlu lagi menggunakan kombinasi NIP, JSC, PD, dan ESLint
00:00:17hanya untuk menghentikan agen Anda mengirimkan kode yang buruk. Alat ini dibangun dengan Rust dan mendukung lebih dari 90 plugin,
00:00:23artinya ini akan langsung berfungsi dengan sebagian besar kerangka kerja dan paket populer. Namun fakta bahwa ini hanya mendukung
00:00:29JavaScript dan TypeScript membuatnya kurang menarik bagi pengode yang dibantu AI. Tekan langganan dan mari kita cari tahu.
00:00:30Jadi, inilah proyek yang sedang saya kerjakan yang menambahkan tampilan film sinematik pada video dan gambar.
00:00:39Proyek ini sebagian besar dibangun dengan Claude Code, jadi akan ada tingkat "AI slot" tertentu.
00:00:43Ada juga PR di sini untuk fitur baru dalam proyek tersebut, yang akan saya bahas nanti, selama GitHub tidak menghilangkannya secara tidak sengaja.
00:00:51Untuk memulai, saya akan menjalankan Fallo dengan bendera summary menggunakan BunX, yang berarti saya tidak perlu menginstalnya.
00:00:56Dan ini memberikan cuplikan proyek saya, menunjukkan ringkasan kode mati, duplikasi, dan ringkasan kesehatan kompleksitas.
00:01:02Jika kita memeriksa status git, ini menambahkan direktori .fallo baru yang berisi cache.
00:01:07Artinya, eksekusi perintah ini selanjutnya akan lebih cepat dan berisi cuplikan serta informasi plugin apa pun.
00:01:12Sekarang, Anda mungkin melihat di sini bahwa skor kesehatannya adalah 41 di atas ambang batas. Apa artinya itu?
00:01:16Nah, skor kesehatan Fallo dihitung dengan mengukur kompleksitas siklomatik dan kompleksitas kognitif.
00:01:17Alat ini menggunakan beberapa formula untuk menghitung densitas kompleksitas.
00:01:24Dan di bagian bawah sini, semua ini digunakan untuk menentukan indeks kemampuan pemeliharaan, yang merupakan skor yang kita lihat di sini.
00:01:27Berdasarkan skor ini, terdeteksi bahwa 41 file saya perlu difaktorkan ulang.
00:01:33Dari sini, kita bisa menjalankan perintah mana pun untuk mendapatkan laporan yang lebih rinci tentang area tertentu.
00:01:38Jadi, jika saya ingin fokus pada kesehatan, kita bisa menjalankan perintah ini.
00:01:43Dan setelah beberapa saat, ini mencantumkan semua file yang memiliki masalah kesehatan yang berbeda.
00:01:46Catatan, jika Anda ingin tahu kepanjangan dari CRAP, ini adalah singkatan dari "change risk anti-patterns",
00:01:49yang bisa Anda pelajari selengkapnya di dokumentasi.
00:01:55Tetapi tingkat kerincian ini sangat mudah diikuti oleh agen AI untuk mengetahui apa yang harus diperbaiki.
00:01:57Bahkan, menurut saya masalah duplikasi jauh lebih mudah diikuti karena memberikan file yang tepat dan nomor baris yang spesifik.
00:02:00Jadi, kita akan fokus pada itu untuk saat ini.
00:02:06Dan jika mau, kita bisa menambahkan file konfigurasi fallo untuk memberikan informasi tentang pola atau dependensi tertentu yang ingin diabaikan,
00:02:07serta menetapkan pengaturan duplikasi khusus, pengaturan kesehatan, dan menambahkan batasan,
00:02:14yang merupakan cara keren untuk mendeklarasikan direktori mana yang boleh mengimpor dari direktori lain.
00:02:18Tapi semua ini terlalu rumit untuk kebutuhan saya, jadi untuk sekarang kita gunakan pengaturan default saja.
00:02:23Sekarang dari sini, kita bisa menjalankan perintah fallo fix atau menambahkan bendera dry run untuk melihat apa yang akan dilakukannya,
00:02:27yaitu mencoba menangani semua jenis masalah yang bisa diperbaiki.
00:02:32Dan Anda bisa melihat di sini bahwa alat ini akan menghapus sejumlah ekspor.
00:02:35Tapi sejujurnya saya tidak percaya pada fallo untuk menjalankan perbaikan otomatis karena ia tidak punya banyak konteks tentang kode saya,
00:02:38apa fungsi masing-masing bagian, dan bagaimana semuanya bekerja bersama.
00:02:43Jadi alih-alih menggunakan bendera fix, saya akan menghubungkan fallo dengan agen AI saya,
00:02:46yang bisa dilakukan menggunakan server MCP atau dengan menggunakan plugin VS Code, yang saya rasa akan berfungsi dengan Cursor.
00:02:49Namun saya akan membuatnya sederhana dan hanya menginstal skill fallo, yang berisi beberapa batasan, aturan agen, dan jebakan umum.
00:02:55Setelah skill terinstal, saya akan menjalankan Claude Code dan memberikan perintah untuk mempelajari proyek ini guna memahami cara kerja kodenya,
00:03:03lalu jalankan fallo untuk menangani kode yang terduplikasi, sambil memastikan penghapusannya tidak merusak fungsionalitas inti.
00:03:10Dan setelah selesai, masukkan perubahan ke dalam branch fitur dan jalankan pengujian untuk memastikan aplikasi berjalan sesuai harapan.
00:03:16Bisa kita lihat di sini, alat ini memuat skill fallo.
00:03:22Kemudian ia menjalankan perintah fallo dupes dan mendapatkan format ekspor JSON, yang merupakan format ramah mesin.
00:03:24Setelah sekitar empat menit, Claude selesai memperbaiki tiga file, alih-alih semua file yang disarankan fallo,
00:03:29terutama karena yang lainnya adalah file pengujian, yang terkadang memang seharusnya memiliki kode duplikat.
00:03:34Saya juga memintanya untuk membuat PR dan jika kita lihat, ia menambahkan 54 baris kode dan menghapus 43 baris.
00:03:39Namun ini karena saya memintanya menambahkan file konfigurasi fallo, yang sekitar 20 baris, untuk mengabaikan semua file tes di laporan mendatang.
00:03:46Dan tentu saja, kita harus terus melakukan ini menggunakan Claude Code atau agen lain untuk memperbaiki masalah kompleksitas atau kode mati.
00:03:54Tapi fallo juga bisa meninjau PR.
00:04:00Jadi jika kita lihat PR yang saya tunjukkan tadi, menjalankan perintah fallo audit akan memeriksa masalah apa pun pada branch ini dibandingkan main
00:04:02sehingga kita hanya memperbaiki masalah yang spesifik. Dan jika kita ingin membandingkannya dengan branch yang berbeda, kita bisa menggunakan bendera base.
00:04:12Namun jika kita tidak ingin memberi perintah pada Claude berulang kali untuk menggunakan fallo, kita bisa menjalankan perintah setup hooks,
00:04:16yang akan menghasilkan beberapa hook Claude Code untuk fallo. Fallo juga bisa berjalan sebagai GitHub action dengan anotasi PR.
00:04:24Alat ini mendukung ruang kerja.
00:04:28Ia dapat mengekspor badge kesehatan dan mendukung baseline, yang berarti masalah saat ini dapat diperbaiki seiring berjalannya waktu.
00:04:30Dan CI hanya akan mendeteksi masalah baru, yang sangat bagus untuk memperbaiki proyek besar dengan banyak masalah.
00:04:35Alat ini memiliki banyak fitur, tetapi hampir semuanya adalah analisis kode statis, yang berarti ia tidak benar-benar mengeksekusi fungsi Anda.
00:04:41Jika Anda menginginkan sesuatu yang melakukan itu, fallo mendukung fitur yang disebut kecerdasan runtime
00:04:49untuk memberi tahu fungsi mana yang dipicu saat aplikasi Anda di produksi menerima trafik nyata.
00:04:59Ini dilakukan dengan menggunakan cakupan runtime V8, dan menggabungkan hasilnya ke laporan kesehatan yang ada melalui sidecar
00:05:08yang bisa dijalankan secara lokal atau diterapkan di mana pun Anda mau. Tapi ini, tentu saja, adalah fitur berbayar, yang cukup masuk akal.
00:05:11Secara keseluruhan, fallo adalah alat luar biasa yang akan lebih sering saya gunakan, meskipun fiturnya sangat banyak dan hanya mendukung teknologi JavaScript.
00:05:19Walaupun bahasa lain punya alatnya sendiri, saya tidak yakin ada yang menggabungkan semuanya sebaik fallo, dan menurut saya penciptanya, Bart, melakukan pekerjaan baik,
00:05:36di mana alat ini menggunakan OXC untuk pemindaian analisis semantik dan resolusi modul sebelum analisis berbasis graf dimulai.
00:05:46Jadi intinya, ini tidak akan meninggalkan JavaScript, dan saya yakin ini membuat Evan You sangat senang, bukan karena bagian JavaScript-nya,