.cursor/rules/*.mdcCursor Project Rules (.cursor/rules/*.mdc): ตำแหน่งไฟล์และวิธีที่เครื่องมืออ่าน
Project Rules ของ Cursor คือไฟล์ .mdc ใน .cursor/rules/ โดย frontmatter จะกำหนดเงื่อนไขในการแนบแต่ละ rule นอกจากนี้ Cursor ยังอ่าน AGENTS.md รวมถึง User Rules และ Team Rules ที่กำหนดไว้นอก repository ด้วย
ตำแหน่งไฟล์
- .cursor/rules/**/*.mdc อนุญาตให้มีโฟลเดอร์ย่อย ส่วนไฟล์ .md ปกติใน .cursor/rules จะถูกละเว้น
- AGENTS.md ที่ root และในโฟลเดอร์ย่อย
- User Rules ซึ่งกำหนดใน settings ของ Cursor
- Team Rules ซึ่งกำหนดในแดชบอร์ดของทีม
รูปแบบ
Markdown พร้อม YAML frontmatter และต้องใช้นามสกุล .mdc; alwaysApply: true จะรวม rule ไว้เสมอ ส่วน globs ที่ใช้ alwaysApply: false จะแนบ rule เมื่อมีไฟล์ที่ตรงกันอยู่ใน context หากระบุแค่ description จะให้ Agent ตัดสินใจเอง หากไม่กำหนดค่าเหล่านี้ rule จะใช้เฉพาะเมื่อกล่าวถึงด้วย @
---
description: React component conventions
globs: src/components/**/*.tsx
alwaysApply: false
---
- One component per file, with a named export matching the file name.
- Type props with an interface named after the component plus Props.
- Use the existing CSS modules; no inline style objects.
- Follow @src/components/Button.tsx as the reference pattern.
ลำดับความสำคัญและการผสาน
Team Rules ตามด้วย Project Rules แล้วจึงเป็น User Rules ระบบจะรวม rules ที่ใช้ได้ทั้งหมด และแหล่งที่มาก่อนจะมีผลเมื่อเกิดข้อขัดแย้ง โดยปิดใช้ Team Rules ที่บังคับใช้ไม่ได้ ไฟล์ AGENTS.md ในโฟลเดอร์ย่อยจะรวมกับไฟล์ของโฟลเดอร์แม่ โดยไฟล์ที่ระบุขอบเขตได้เฉพาะเจาะจงกว่าจะมีผลเหนือกว่า
เครื่องมือที่อ่านไฟล์นี้
| เครื่องมือ | การรองรับ |
|---|---|
| Cline | ตรวจพบไฟล์ .cursorrules รุ่นเก่า |
เคล็ดลับ
- คั่น globs หลายรายการด้วยจุลภาคในฟิลด์ globs
- เขียนแต่ละ rule ให้มีความยาวไม่เกิน 500 บรรทัด และอ้างอิงไฟล์ด้วย @filename แทนการคัดลอกเนื้อหามาวาง
- Rules ไม่มีผลกับ Cursor Tab และ User Rules ไม่มีผลกับ Inline Edit
- เอกสารของ Cursor ไม่กล่าวถึงไฟล์ .cursorrules แบบเก่าแล้ว ให้ย้ายไฟล์ไปไว้ใน .cursor/rules/
สร้าง AGENTS.md และไฟล์กฎที่ตรงกันสำหรับเครื่องมือ 5 รายการจากแบบฟอร์มเดียว เปิดตัวสร้าง AGENTS.md →