Skip to main content

Command Palette

Search for a command to run...

Sesuaikan

Aturan

Aturan memberikan instruksi tingkat sistem kepada Agent. Aturan menggabungkan prompt, skrip, dan lainnya agar Anda dapat dengan mudah mengelola dan berbagi alur kerja di seluruh tim Anda.

Cursor mendukung empat jenis aturan:

Aturan Proyek

Disimpan di .cursor/rules, dikontrol versinya, dan berlaku untuk codebase Anda.

Aturan Pengguna

Berlaku secara global di lingkungan Cursor Anda. Digunakan oleh Agent (Chat).

Aturan Tim

Aturan untuk seluruh tim yang dikelola dari Dashboard. Tersedia dalam paket Team dan Enterprise.

AGENTS.md

Instruksi Agent dalam format markdown. Alternatif sederhana untuk .cursor/rules.

Cara kerja aturan

Model bahasa besar tidak menyimpan memori antar-completion. Aturan menyediakan konteks persisten yang dapat digunakan kembali pada tingkat prompt.

Saat diterapkan, isi aturan disertakan di awal konteks model. Ini memberikan panduan yang konsisten kepada AI untuk menghasilkan kode, menafsirkan edit, atau membantu alur kerja.

Aturan proyek

Aturan proyek disimpan di .cursor/rules sebagai file .mdc dan dikelola dengan kontrol versi. Aturan ini diterapkan menggunakan pola path, dipanggil secara manual, atau disertakan berdasarkan relevansi.

Gunakan aturan proyek untuk:

  • Mengodekan pengetahuan khusus domain tentang codebase Anda
  • Mengotomatiskan alur kerja atau templat khusus proyek
  • Menstandarkan keputusan terkait gaya atau arsitektur

Struktur berkas aturan

Setiap aturan berupa berkas .mdc yang dapat Anda beri nama sesuka hati. Aturan proyek harus menggunakan ekstensi .mdc. Berkas .md biasa di .cursor/rules diabaikan oleh sistem aturan karena tidak memiliki frontmatter untuk menentukan description, globs, dan alwaysApply. Jika Anda lebih memilih markdown biasa, gunakan AGENTS.md.

.cursor/rules/  react-patterns.mdc       # Dikenali sebagai aturan proyek  api-guidelines.md        # Diabaikan (ekstensi tidak sesuai)  frontend/                # Kelompokkan aturan dalam folder    components.mdc

Anatomi aturan

Setiap aturan adalah berkas Markdown dengan metadata frontmatter dan konten. Atur cara penerapan aturan melalui dropdown jenis, yang mengubah properti description, globs, dan alwaysApply.

Jenis AturanDeskripsi
Selalu BerlakuBerlaku untuk setiap sesi chat
Terapkan Secara CerdasSaat agent memutuskan aturan relevan berdasarkan deskripsi
Terapkan ke File TertentuSaat file cocok dengan pola yang ditentukan
Terapkan ManualSaat disebutkan dengan @ di chat (misalnya, @my-rule)

Di balik layar, ketiga field frontmatter berinteraksi untuk menentukan kapan aturan disertakan:

alwaysApplydescriptionglobsPerilaku
trueSelalu disertakan. Glob dan deskripsi diabaikan.
falsedisediakanDilampirkan secara otomatis saat file yang cocok ada dalam konteks.
falsedisediakanhilangkanAgent membaca deskripsi dan menyertakan aturan saat relevan.
falsehilangkanhilangkanHanya disertakan saat Anda menyebut aturan dengan @ di chat.
Always applied
---alwaysApply: true---- Semua file sumber harus menyertakan header hak cipta perusahaan- Jika ragu tentang detail implementasi, baca file sumber yang relevan  sebelum mengusulkan perubahan- Jangan pernah mengubah file yang dihasilkan di direktori `dist/` atau `build/`
Auto-attached by file pattern
---globs: src/components/**/*.tsxalwaysApply: false---- Use named exports, not default exports- Co-locate styles in a module CSS file next to the component- Keep components under 200 lines. Extract subcomponents into the same  directory when a file grows beyond that- Prefer composition over prop drilling. Pass children or render props  instead of threading data through multiple layers
Agent-selected based on description
---description: RPC service conventions and patterns for the backendalwaysApply: false---- Define each service in its own file under `src/services/`- Always validate inputs at the service boundary before passing data  to internal functions- Return structured error objects with a `code` and `message` field,  never throw raw strings- Add a `@service-template.ts` reference file when creating a new  service for the standard boilerplate
Manual — only via @-mention
---alwaysApply: false---- Setiap migrasi database harus memiliki fungsi `up` dan `down`  agar dapat sepenuhnya dibatalkan- Jangan pernah mengubah tipe kolom secara langsung. Tambahkan kolom baru, lakukan backfill,  lalu hapus kolom lama dalam migrasi terpisah- Rujuk template untuk struktur file yang diharapkan@migration-template.sql

Contoh pola glob

Gunakan globs untuk menerapkan aturan pada file atau direktori tertentu. Pisahkan beberapa pola dengan koma.

PolaCocok dengan
*Segmen nama file tunggal apa pun
**Sejumlah direktori (rekursif)
*.tsSemua file .ts di root
**/*.tsSemua file .ts di direktori mana pun
src/**Semua file di bawah src/
src/**/*.tsxSemua file .tsx di bawah src/
docs/**/*.md, docs/**/*.mdxFile .md dan .mdx di bawah docs/ (dipisahkan koma)
tailwind.config.*tailwind.config dengan ekstensi apa pun

Membuat aturan

Ada dua cara untuk membuat aturan:

  • /create-rule di chat: Ketik /create-rule di Agent, lalu jelaskan kebutuhan Anda. Agent akan membuat berkas aturan dengan frontmatter yang sesuai dan menyimpannya di .cursor/rules.
  • Melalui menyesuaikan: Buka menyesuaikan di bilah sisi, pilih aturan, lalu klik Add Rule. Tindakan ini membuat berkas aturan baru di .cursor/rules. Di menyesuaikan, Anda dapat melihat semua aturan beserta statusnya.

Praktik Terbaik

Aturan yang baik berfokus pada satu hal, dapat ditindaklanjuti, dan memiliki cakupan yang jelas.

  • Batasi aturan hingga 500 baris
  • Pecah aturan besar menjadi beberapa aturan yang dapat dikombinasikan
  • Berikan contoh konkret atau file rujukan
  • Hindari panduan yang samar. Tulis aturan seperti dokumentasi internal yang jelas
  • Gunakan kembali aturan saat mengulang prompt di chat
  • Rujuk file alih-alih menyalin isinya—ini membuat aturan tetap ringkas dan mencegahnya usang saat kode berubah

Hal yang perlu dihindari dalam aturan

  • Menyalin seluruh panduan gaya: Gunakan linter. Agent sudah memahami konvensi gaya umum.
  • Mendokumentasikan setiap kemungkinan perintah: Agent memahami tool umum seperti npm, git, dan pytest.
  • Menambahkan instruksi untuk kasus tepi yang jarang terjadi: Pastikan aturan tetap berfokus pada pola yang sering Anda gunakan.
  • Menduplikasi hal yang sudah ada di codebase Anda: Rujuk contoh kanonis, bukan menyalin kode.

Simpan aturan Anda di git agar seluruh tim dapat memanfaatkannya. Saat Agent membuat kesalahan, perbarui aturannya. Anda bahkan dapat menandai @cursor di issue atau PR GitHub agar Agent memperbarui aturan untuk Anda.

Format berkas aturan

Setiap aturan berupa berkas Markdown dengan metadata frontmatter dan konten. Metadata frontmatter digunakan untuk mengatur cara penerapan aturan. Kontennya adalah aturan itu sendiri.

---description: "This rule provides standards for frontend components and API validation"alwaysApply: false---...rest of the rule content

Jika alwaysApply bernilai true, aturan akan diterapkan pada setiap sesi chat. Jika tidak, deskripsi aturan akan diberikan kepada Cursor Agent untuk menentukan apakah aturan tersebut perlu diterapkan.

Contoh

Aturan ini menetapkan standar untuk komponen frontend:

Saat bekerja di direktori components:

  • Selalu gunakan Tailwind untuk styling
  • Gunakan Framer Motion untuk animasi
  • Ikuti konvensi penamaan komponen

Aturan ini menerapkan validasi untuk endpoint API:

Di direktori API:

  • Gunakan zod untuk semua validasi
  • Tentukan tipe nilai kembalian dengan schema zod
  • Ekspor tipe yang dihasilkan dari schema

Aturan ini menyediakan templat untuk layanan Express:

Gunakan templat ini saat membuat layanan Express:

  • Ikuti prinsip RESTful
  • Sertakan middleware penanganan error
  • Siapkan logging yang sesuai

@express-service-template.ts

Aturan ini menentukan struktur komponen React:

Komponen React harus mengikuti tata letak ini:

  • Antarmuka props di bagian atas
  • Komponen sebagai ekspor bernama
  • Gaya di bagian bawah

@component-template.tsx

Aturan ini mengotomatiskan analisis aplikasi:

Saat diminta menganalisis aplikasi:

  1. Jalankan server dev dengan npm run dev
  2. Ambil log dari konsol
  3. Sarankan peningkatan performa

Aturan ini membantu membuat dokumentasi:

Bantu menyusun dokumentasi dengan:

  • Mengekstrak komentar kode
  • Menganalisis README.md
  • Membuat dokumentasi markdown

Pertama, buat properti untuk mengaktifkan/menonaktifkan fitur di @reactiveStorageTypes.ts.

Tambahkan nilai default ke INIT_APPLICATION_USER_PERSISTENT_STORAGE di @reactiveStorageService.tsx.

Untuk fitur beta, tambahkan kontrol aktifkan/nonaktifkan di @settingsBetaTab.tsx; jika tidak, tambahkan di @settingsGeneralTab.tsx. Kontrol aktifkan/nonaktifkan dapat ditambahkan sebagai <SettingsSubSection> untuk kotak centang umum. Lihat bagian lain dari file untuk contohnya.

<SettingsSubSection  label="Your feature name"  description="Your feature description"  value={    vsContext.reactiveStorageService.applicationUserPersistentStorage      .myNewProperty ?? false  }  onChange={(newVal) => {    vsContext.reactiveStorageService.setApplicationUserPersistentStorage(      "myNewProperty",      newVal,    );  }}/>

Untuk digunakan di aplikasi, impor reactiveStorageService dan gunakan properti tersebut:

const flagIsEnabled =  vsContext.reactiveStorageService.applicationUserPersistentStorage    .myNewProperty;

Contoh tersedia dari penyedia dan framework. Aturan yang dikontribusikan komunitas dapat ditemukan di berbagai koleksi crowdsourcing dan repositori online.

Aturan Tim

Paket Team dan Enterprise dapat membuat dan menerapkan aturan di seluruh organisasi melalui Dashboard Cursor. Admin dapat mengatur apakah setiap aturan wajib diikuti oleh anggota tim.

Aturan Tim berfungsi bersama jenis aturan lainnya dan memiliki prioritas lebih tinggi untuk memastikan standar organisasi tetap diterapkan di semua proyek. Aturan ini menyediakan cara efektif untuk memastikan standar coding, praktik, dan alur kerja yang konsisten di seluruh tim tanpa memerlukan penyiapan atau konfigurasi individual.

Mengelola Aturan Tim

Administrator tim dapat membuat dan mengelola aturan langsung dari Dashboard Cursor:

Setelah aturan tim dibuat, aturan tersebut otomatis berlaku untuk semua anggota tim dan terlihat di Dashboard:

Aktivasi dan penerapan

  • Langsung aktifkan aturan ini: Jika dicentang, aturan akan aktif segera setelah Anda membuatnya. Jika tidak dicentang, aturan disimpan sebagai draf dan tidak berlaku sampai Anda mengaktifkannya nanti.
  • Terapkan aturan ini: Jika diaktifkan, aturan wajib berlaku bagi semua anggota tim dan tidak dapat dinonaktifkan di Menyesuaikan. Jika tidak diterapkan, anggota tim dapat menonaktifkan aturan ini di bagian Aturan Tim di Menyesuaikan.

Format dan penerapan aturan tim

  • Konten: Aturan tim berupa teks bebas. Aturan ini tidak menggunakan struktur folder aturan proyek.
  • Pola glob: Aturan tim mendukung pola glob untuk penerapan berdasarkan file. Saat pola glob ditetapkan (misalnya, **/*.py), aturan hanya berlaku jika file yang cocok ada dalam konteks. Aturan tanpa pola glob berlaku untuk setiap percakapan.
  • Penerapan: Saat aturan tim diaktifkan (dan tidak dinonaktifkan oleh pengguna, kecuali jika enforced), aturan tersebut disertakan dalam konteks model untuk Agent (Chat) di semua repo dan proyek tim tersebut.
  • Prioritas: Aturan diterapkan dalam urutan berikut: Aturan tim → Aturan proyek → Aturan pengguna. Semua aturan yang berlaku digabungkan; sumber yang lebih awal diprioritaskan jika panduannya bertentangan.

Mengimpor Aturan

Anda dapat mengimpor aturan dari sumber eksternal untuk menggunakan kembali konfigurasi yang ada atau mengimpor aturan dari alat lain.

Aturan jarak jauh (melalui GitHub)

Impor aturan langsung dari repositori GitHub apa pun yang dapat Anda akses—publik atau privat.

  1. Buka menyesuaikan di bilah sisi
  2. Buka aturan lalu klik Add Rule
  3. Pilih Remote Rule (Github)
  4. Tempel URL repositori GitHub yang berisi aturan. Cursor akan memindai semua file .mdc dalam repo.
  5. Cursor akan mengambil dan menyinkronkan aturan ke proyek Anda

Aturan akan ditempatkan di .cursor/rules/imported/<repoName>. Aturan juga akan mempertahankan path relatifnya, sehingga dir/rule.mdc akan diimpor sebagai .cursor/rule/imported/<repoName>/dir/rule.mdc.

AGENTS.md

AGENTS.md adalah berkas Markdown sederhana untuk menentukan instruksi agent. Letakkan di direktori root proyek sebagai alternatif .cursor/rules untuk kasus penggunaan sederhana.

Berbeda dengan aturan proyek, AGENTS.md adalah berkas Markdown biasa tanpa metadata atau konfigurasi kompleks. Berkas ini ideal untuk proyek yang memerlukan instruksi sederhana dan mudah dibaca tanpa kerumitan aturan terstruktur.

Cursor mendukung AGENTS.md di direktori root proyek dan subdirektori.

# Instruksi Proyek## Gaya Kode- Gunakan TypeScript untuk semua file baru- Utamakan komponen fungsional dalam React- Gunakan snake_case untuk kolom database## Arsitektur- Terapkan pola repositori- Simpan logika bisnis di lapisan layanan

Peningkatan

Dukungan AGENTS.md bertingkat dalam subdirektori kini tersedia. Anda dapat menempatkan file AGENTS.md di subdirektori mana pun dalam proyek Anda. File tersebut akan otomatis diterapkan saat bekerja dengan file di direktori tersebut atau direktori turunannya.

Hal ini memungkinkan kontrol yang lebih terperinci atas instruksi agent berdasarkan bagian codebase yang sedang Anda kerjakan:

project/  AGENTS.md              # Instruksi global  frontend/    AGENTS.md            # Instruksi khusus frontend    components/      AGENTS.md          # Instruksi khusus komponen  backend/    AGENTS.md            # Instruksi khusus backend

Instruksi dari file AGENTS.md bertingkat digabungkan dengan instruksi dari direktori induk, dengan instruksi yang lebih spesifik diprioritaskan.

Aturan Pengguna

Aturan Pengguna adalah preferensi global yang ditentukan di Menyesuaikan → Aturan dan berlaku untuk semua proyek. Aturan ini digunakan oleh Agent (Chat) dan ideal untuk menetapkan gaya komunikasi atau konvensi coding pilihan:

Harap jawab secara ringkas. Hindari pengulangan atau kata-kata pengisi yang tidak perlu.

FAQ

Periksa jenis aturan. Untuk Terapkan Secara Cerdas, pastikan deskripsi telah ditetapkan. Untuk Terapkan ke File Tertentu, pastikan pola file cocok dengan file yang dirujuk.

Ya. Gunakan @filename.ts untuk mencakup file dalam konteks aturan Anda. Anda juga dapat @mention aturan di chat untuk menerapkannya secara manual.

Ya, Anda dapat meminta agent membuat aturan baru untuk Anda.

Tidak. Aturan tidak memengaruhi Cursor Tab atau fitur AI lainnya.

Tidak. Aturan pengguna tidak diterapkan pada Inline Edit (Cmd/Ctrl+K). Aturan tersebut hanya digunakan oleh Agent (Chat).