สวัสดีครับ ผมเป็นนักพัฒนาที่ใช้ Cursor มานานกว่า 2 ปี วันนี้จะมาแชร์เทคนิคที่เปลี่ยนชีวิตการทำงานของผมไปเลย นั่นคือการสร้าง Cursor Rules หรือไฟล์กำหนดการทำงานของ AI ให้เข้าใจโปรเจกต์ของเราอย่างถูกต้อง

ทำไมต้องสนใจเรื่องนี้? เพราะปกติแล้ว AI ทุกครั้งที่เริ่มโปรเจกต์ใหม่ มันจะต้องเรียนรู้โค้ดใหม่ทั้งหมด ใช้เวลานานและบางทีก็เข้าใจผิดว่าโปรเจกต์นี้ต้องการอะไร แต่ถ้าเราสร้าง Cursor Rules ถูกต้อง AI จะเข้าใจโครงสร้างโปรเจกต์ สไตล์การเขียนโค้ด และกฎเกณฑ์ต่างๆ ได้ทันที ทำให้แนะนำโค้ดได้แม่นยำขึ้นมาก

Cursor Rules คืออะไร?

ลองนึกภาพว่า AI เป็นพนักงานใหม่ที่เพิ่งเข้ามาทำงาน ถ้าเราไม่บอกอะไรเลย เขาก็ต้องถามทุกอย่างจากเรา แต่ถ้าเรามีเอกสารประจำตัว (Orientation Document) ที่อธิบายว่าบริษัทนี้ทำงานยังไง ชอบอะไร ไม่ชอบอะไร AI ก็จะทำงานได้เลยโดยไม่ต้องถามบ่อยๆ

นี่แหละคือหน้าที่ของ Cursor Rules! มันคือไฟล์ชื่อ .cursorrules ที่อยู่ในโฟลเดอร์หลักของโปรเจกต์ บอก AI ว่าโปรเจกต์นี้ใช้เทคโนโลยีอะไร ชอบรูปแบบการเขียนโค้ดแบบไหน และมีกฎพิเศษอะไรบ้าง

วิธีสร้างไฟล์ .cursorrules ขั้นตอนที่ 1

เปิดโฟลเดอร์โปรเจกต์ของคุณใน Cursor แล้วไปที่โฟลเดอร์หลักสุด (Root Directory) สร้างไฟล์ใหม่ชื่อ .cursorrules (สังเกตว่าขึ้นต้นด้วยจุด) ไม่ต้องกำหนดนามสกุลไฟล์ เพราะมันเป็นไฟล์พิเศษที่ Cursor จะอ่านเอง

💡 เคล็ดลับ: ถ้าคุณไม่เห็นไฟล์ใน File Explorer ลองกดปุ่ม Show Hidden Files หรือ Ctrl+H (Windows) / Cmd+Shift+. (Mac)

โครงสร้างพื้นฐานของ Cursor Rules

ไฟล์ .cursorrules แบ่งออกเป็น 5 ส่วนหลักที่ควรมี:

ตัวอย่าง Cursor Rules สำหรับโปรเจกต์ Node.js

# โปรเจกต์ My Restaurant App

เทคโนโลยีที่ใช้

- Node.js + Express สำหรับ Backend - React + TypeScript สำหรับ Frontend - PostgreSQL สำหรับฐานข้อมูล

รูปแบบการเขียนโค้ด

- ใช้ TypeScript เสมอ ห้ามใช้ JavaScript ธรรมดา - ตั้งชื่อตัวแปรแบบ camelCase เช่น userName, orderTotal - ตั้งชื่อฟังก์ชันแบบ camelCase ขึ้นต้นด้วยคำกริยา เช่น getUserData, createOrder - ตั้งชื่อคลาสแบบ PascalCase เช่น UserController, OrderService - ใช้ async/await เสมอ ห้ามใช้ .then().catch()

โครงสร้างโฟลเดอร์

/src /controllers - จัดการ request/response /services - ตรรกะธุรกิจหลัก /models - โครงสร้างข้อมูลและการเชื่อมต่อ DB /routes - กำหนดเส้นทาง API /middleware - ฟังก์ชันกลาง เช่น ตรวจสอบสิทธิ์

กฎเฉพาะ

- ทุก API endpoint ต้องมี try/catch และส่ง error กลับเป็น JSON - ห้ามเขียน SQL ตรงๆ ใน controller ต้องผ่าน service layer - ใช้ console.log สำหรับ debug เท่านั้น production ใช้ logger

ตัวอย่าง Cursor Rules สำหรับโปรเจกต์ Next.js

# โปรเจกต์ E-Commerce Website

เทคโนโลยี

- Next.js 14 พร้อม App Router - Tailwind CSS สำหรับ styling - Prisma สำหรับ ORM - NextAuth สำหรับระบบล็อกอิน

สไตล์การเขียน

- ใช้ Tailwind CSS classes เท่านั้น ห้ามเขียน CSS แยก - Component ที่ใช้ซ้ำต้องอยู่ใน /components/ui - ใช้ Server Components เป็น default ยกเว้นต้องใช้ interactivity - ข้อมูลที่ fetch ต้องอยู่ใน server component เท่านั้น

โครงสร้าง

/app /api - API routes /(auth) - หน้าล็อกอิน สมัครสมาชิก /(shop) - หน้าร้านค้า /dashboard - หน้าจัดการร้าน /components /ui - UI พื้นฐาน (Button, Card, Input) /features - Feature-specific components /lib /utils - Helper functions /db - Prisma client และ queries

กฎพิเศษ

- ห้ามใช้ useEffect สำหรับ fetch data ใช้ server actions แทน - ทุก form ต้องมี loading state และ error handling - รูปภาพใช้ next/image เท่านั้น เพื่อ optimization

วิธีใช้งาน Cursor Rules กับ HolySheep AI

ทีนี้มาถึงส่วนสำคัญ! ถ้าคุณต้องการให้ AI อ่าน Cursor Rules แล้วตอบสนองได้ดีขึ้น ลองใช้ร่วมกับ HolySheep AI ซึ่งมีความเร็วตอบสนองต่ำกว่า 50 มิลลิวินาที ทำให้การสนทนากับ AI ราบรื่นมาก แถมราคาถูกกว่าค่ายอื่นมากถึง 85% สมัครสมาชิกวันนี้รับเครดิตฟรีทันที

วิธีตั้งค่าให้ Cursor ใช้งานกับ HolySheep:

  1. ไปที่ Settings → Models → Custom Models
  2. เลือก OpenAI Compatible
  3. ใส่ base_url เป็น https://api.holysheep.ai/v1
  4. ใส่ API Key ที่ได้จากการสมัคร HolySheep
  5. เลือก model ที่ต้องการใช้ เช่น gpt-4o หรือ claude-3-5-sonnet
// การตั้งค่าใน Cursor Settings (JSON format)
{
  "api_key": "YOUR_HOLYSHEEP_API_KEY",
  "base_url": "https://api.holysheep.ai/v1",
  "model": "gpt-4o"
}

เมื่อตั้งค่าเสร็จแล้ว ทุกครั้งที่คุณสร้างไฟล์ใหม่หรือแก้ไขโค้ด Cursor จะอ่าน .cursorrules ก่อนเสมอ แล้วใช้ข้อมูลนั้นแนะนำโค้ดที่ตรงกับสไตล์โปรเจกต์ของคุณ

เทคนิคขั้นสูงสำหรับ Cursor Rules

หลังจากเข้าใจพื้นฐานแล้ว มาดูเทคนิคที่ผมใช้แล้วได้ผลดีมาก

1. เพิ่มตัวอย่างโค้ดจริง

AI จะเข้าใจดีมากเมื่อเห็นโค้ดจริง ไม่ใช่แค่คำอธิบาย ลองเพิ่มส่วนนี้ใน .cursorrules:

## ตัวอย่างโค้ดจริง

วิธีสร้าง API endpoint ที่ถูกต้อง

```typescript // ✅ ถูกต้อง export async function GET(request: Request) { try { const users = await userService.getAllUsers(); return Response.json({ success: true, data: users }); } catch (error) { return Response.json({ success: false, error: 'ไม่สามารถดึงข้อมูล' }, { status: 500 }); } } // ❌ ไม่ถูกต้อง export async function GET(request: Request) { const users = await user