MADEBYARIS

Cara menggunakan Cursor AI tanpa bikin technical debt

5 min read
By Aris Setiawan
Cara menggunakan Cursor AI tanpa bikin technical debt

Orang googling cara menggunakan Cursor AI, baca “suruh agent bikin fitur”, lalu Accept semua. Seminggu kemudian repo klien penuh package baru, utils2.ts di sebelah helper yang sudah ada, dan PR yang nggak ada yang berani review.

Itu bukan model yang bodoh. Itu cara pakai yang skip pagar.

Saya Aris Setiawan. Senior full-stack, Cursor Ambassador pertama di Indonesia. Saya pakai Cursor tiap minggu di kerjaan klien. Artikel ini pendamping bahasa Indonesia dari workflow yang sudah saya tulis di bahasa Inggris. Bukan tur fitur. Ini cara memakai Cursor tanpa nambah technical debt.

Kalau kamu baru kenalan, mulai dari Apa itu Cursor AI. Loop produksi lengkapnya, dalam bahasa Inggris, ada di How to use Cursor AI to ship faster without wrecking the codebase.

Kenapa cara menggunakan Cursor AI tanpa pagar bikin utang

Cursor jago ngisi celah. Kalau kamu nggak kasih peta, dia isi dari tutorial Next.js di training data, bukan dari repo ini.

Tiga utang yang paling sering saya temui.

Package baru. Prompt “bikin modul invoice”. Rules kosong. Dia bikin packages/invoices-v2 padahal invoice sudah hidup di app/invoices. Tim nggak pakai folder itu. Satu bulan kemudian dua tempat nulis aturan yang sama.

utils2 dan duplikat. Helper CSV sudah ada. Dia nggak nemu, atau males nyocokin. Jadi lib/utils2.ts, exportCsvNew, atau api-client.ts di sebelah yang sudah dipakai. Namanya kelihatan rapi. Arsitekturnya pecah.

Diff yang nggak direview. Agent nulis 30 file. Summary-nya yakin. Kamu Accept karena deadline. Auth keubah, webhook ke-rename, tes baru cuma ngikutin implementasi. Review jadi mahal. Itu technical debt Cursor yang paling mahal: utang review.

Pagar itu project rules plus path di prompt plus kamu yang masih baca PR. Tanpa tiga itu, cara menggunakan Cursor AI cuma cara lebih cepat nambah utang.

Empat kesalahan yang saya lihat di repo klien

Saya nggak ngarang ini. Ini pola dari kerjaan klien dan mentoring Cursor AI Indonesia.

Prompt tanpa path. “Tambah export CSV di invoice.” Nggak ada @. Nggak ada folder. Composer cari tempat. Sering tempat yang salah. Kalau kamu nggak bisa sebut app/invoices dan helper yang sudah ada, kamu belum siap generate.

Rules kosong, atau essay. File .cursor/rules nggak ada, atau isinya “tulis kode yang bersih” dan “ikuti best practice”. Model angguk, lalu tetap bikin package baru karena nggak ada yang bilang “jangan bikin package baru”. Pagar yang berguna: stack, peta folder, jangan invent, perintah tes. Setengah halaman. Detailnya di Project rules that stop Cursor from inventing bad architecture.

Skip review. Hijau di tes yang dia tulis sendiri bukan izin merge. Saya tetap baca diff kayak PR junior. Kalau dia nyentuh file yang nggak saya sebut, saya revert yang ekstra, ketatin scope, jalanin sekali lagi. Bukan “sekalian benerin itu”.

Apply from chat. Chat bagus buat tanya dan nge-plan. Kadang dia nawarin Apply. Di repo klien, Apply dari chat adalah jalan pintas ke utils2. Rencana di Chat. Tulis file lewat Composer dengan path yang sudah disebut. Pemisahan itu ada di Chat vs Composer in Cursor.

Yang bikin debt

Kalau empat itu masih kebiasaan, kecepatan kamu palsu. Review tim yang bayar.

Loop yang saya pakai: rules, Chat, Composer, review

Ini loop yang sama dengan pilar. Pendek.

Loop yang aman
  1. Project rules hidup. Setengah halaman. Stack, peta folder, jangan bikin package baru, bentuk error, perintah tes. Kalau rules-nya essay, anggap kosong.
  2. Chat buat rencana. Tanya di mana perubahan hidup. Minta path. Minta dia jangan nulis file dulu. Kalau saya nggak bisa sebut foldernya, mundur ke Chat. Jangan lompat ke Composer.
  3. Composer dengan file yang disebut. Buka file itu. @ path. Tulis blast radius: boleh sentuh apa, jangan sentuh apa. Baru generate.
  4. Tetap review PR. Rules kurangi folder invent. Mereka nggak nangkep aturan bisnis yang salah. Kamu tetap yang merge.

Kalau tugasnya repo berantakan, monorepo, folder yang nggak boleh disentuh, versi panjangnya ada di How to use Cursor AI effectively on a real repo.

Cursor AI Indonesia yang saya ajarin ke mentee bukan “agent lebih pintar”. Itu pagar plus urutan. Tab dan Chat dulu. Composer setelah rencananya muat lima kalimat. Review kayak kamu yang on-call.

Prompt pendek yang saya pakai

Di atas rules file, prompt Composer saya kira-kira begini:

Tambah export CSV di list invoice. Ikuti project rules. Sentuh app/invoices dan lib/export saja. Jangan bikin package baru. Pakai helper CSV yang sudah ada. Jangan ubah webhook pembayaran. Acceptance: unit test baris CSV, termasuk list kosong.

Bahasa Indonesia atau Inggris, modelnya ngerti. Yang penting: path, yang dilarang, helper yang harus dipakai, cara tahu beres.

Kalau Chat, saya minta peta dulu:

Di app/invoices, filter list hidup di mana? Jangan usul file baru. Tunjuk helper yang sudah ada kalau ada.

Baru setelah path-nya jelas, pindah ke Composer.

Checklist sebelum Accept

Sebelum generate:

  • Rules file ada. Stack dan peta folder tertulis.
  • Ada kalimat “jangan bikin package baru”.
  • Chat sudah nulis rencana dan path. Composer nggak disuruh mikir dari nol.
  • Saya sudah @ file yang boleh disentuh.

Sesudah Composer, sebelum Accept:

  • Nggak ada folder top-level baru.
  • Nggak ada package yang nggak saya minta.
  • Nggak ada utils2 di sebelah helper asli.
  • File di luar scope nggak keubah.
  • Diff masih ukuran PR. Satu orang bisa selesaiin dalam satu duduk.
  • Tes yang sudah ada jalan, bukan cuma tes yang baru dia tulis.

Kalau satu kotak gagal, revert yang ekstra, ketatin rules atau prompt, jalanin sekali lagi.

Bukan lebih cepat. Lebih rapi.

Jadi, cara menggunakan Cursor AI yang nggak bikin technical debt itu bukan shortcut. Pagar dulu. Chat nge-plan. Composer dengan path. Review tetap kamu.

Model akan makin pintar. Repo klien tetap berantakan dengan caranya sendiri. Kerjaan kamu: pagar dan selera.

Kalau kamu mau dibantu pasang loop itu di repo sendiri, bukan cuma dikasih daftar fitur, itu Level up. Saya mentoring Cursor buat developer yang sudah nge-code dan mau nge-ship tanpa ngerusak codebase.

Install pagar. Pilih permukaan. Review kayak kamu yang pegang on-call.

Aris Setiawan

Aris Setiawan

Senior Full Stack Developer specializing in Next.js, React, and WordPress. I write about web development, performance optimization, and best practices.

Related Articles