Cursor 2ํƒ„

Tech

๋ฐฐ๊ฒฝ

์ตœ๊ทผ ์‹ค๋ฌด์—์„œ Cursor๋ฅผ ๋‹ค์‹œ ํ™œ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ๋“ค์„ ์‚ดํŽด๋ณด๋ฉฐ ๊ธ€๋กœ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

1. Commands

1-1. commands๋ž€

commands๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด /๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์›Œํฌํ”Œ๋กœ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ€ ์ „์ฒด์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ‘œ์ค€ํ™”ํ•˜๊ณ , ์ž์ฃผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

1-2. .cursor/commands ์•ˆ์— md ์ž‘์„ฑํ•˜๊ธฐ

์ €๋Š” PR ์ƒ์„ฑ์„ ์ž๋™ํ™”ํ•˜๊ณ  ์‹ถ์–ด ์›Œํฌํ”Œ๋กœ๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

# PR ์ƒ์„ฑ
 
## ๊ฐœ์š”
 
์ ์ ˆํ•œ ์„ค๋ช…์ด ๋‹ด๊ธด ๊ตฌ์กฐํ™”๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
 
## ๋‹จ๊ณ„
 
1. **๋ธŒ๋žœ์น˜ ์ค€๋น„**
 
- ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ปค๋ฐ‹๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
- ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— ํ‘ธ์‹œ
- ๋ธŒ๋žœ์น˜๊ฐ€ develop๊ณผ ์ตœ์‹  ์ƒํƒœ์ธ์ง€ ํ™•์ธ
 
2. **PR ์„ค๋ช… ์ž‘์„ฑ**
 
- PR ํ…œํ”Œ๋ฆฟ์€ `.github/PULL_REQUEST_TEMPLATE.md` ์ฐธ๊ณ 
- ํ…œํ”Œ๋ฆฟ์— ์—†๋Š” ํ•ญ๋ชฉ์€ ์ ˆ๋Œ€ ์ž‘์„ฑํ•˜์ง€ ์•Š์Œ
- ํ…œํ”Œ๋ฆฟ์— ์žˆ๋Š” ํ•ญ๋ชฉ ์ค‘ ์ž‘์„ฑํ•  ๋‚ด์šฉ์ด ์—†์œผ๋ฉด ํ•ด๋‹น ํ•ญ๋ชฉ ์ œ๊ฑฐ(ex. ๊ธฐํƒ€ ์‚ฌํ•ญ ์ œ๊ฑฐ)
- ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์š”์•ฝ
- ๋งฅ๋ฝ๊ณผ ๋™๊ธฐ ํฌํ•จ
- ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ(breaking changes) ๋‚˜์—ด
- ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์—์„œ ์ง€๋ผ ํ‹ฐ์ผ“ ๋ฒˆํ˜ธ ํ™•์ธํ•˜์—ฌ ๋งํฌ ์ถ”๊ฐ€
- ์ง€๋ผ ํ‹ฐ์ผ“์—์„œ ํ”ผ๊ทธ๋งˆ, ๊ธฐํš์„œ ๋งํฌ ํ™•์ธํ•˜์—ฌ ์ถ”๊ฐ€
- ํฌ๋ง ๋ฆฌ๋ทฐ ์™„๋ฃŒ์ผ์€ ์˜ค๋Š˜๋กœ๋ถ€ํ„ฐ 1์˜์—…์ผ ํ›„๋กœ ์„ค์ •
 
3. **PR ์„ค์ •**
 
- ์„ค๋ช…์ด ํฌํ•จ๋œ ์ œ๋ชฉ์œผ๋กœ PR ์ƒ์„ฑ
- ์ œ๋ชฉ์— feat, chore ๋“ฑ ์ž‘์„ฑ ๊ธˆ์ง€

1-3. commands์— ํ•„์š”ํ•œ MCP ์—ฐ๊ฒฐํ•˜๊ธฐ

์•ž์„œ ์ •์˜ํ•œ create-pr.md ํŒŒ์ผ์—๋Š” ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž๋™์œผ๋กœ ํฌํ•จํ•˜๋„๋ก ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ง€๋ผ ํ‹ฐ์ผ“ ๋ฒˆํ˜ธ ๊ธฐ๋ฐ˜ ๋งํฌ ์ถ”๊ฐ€
  • ํ‹ฐ์ผ“ ๋‚ด ํ”ผ๊ทธ๋งˆ, ๊ธฐํš์„œ ๋งํฌ ์ž๋™ ์ฐธ์กฐ

์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” Cursor๊ฐ€ ์™ธ๋ถ€ ๋„๊ตฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ƒํƒœ์—์„œ๋Š” Jira๋‚˜ Confluence์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— MCP ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  ์šฐ์ธก ์„ค์ • ๋ฒ„ํŠผ ํด๋ฆญ ํ˜น์€ Cmd+Shift+J๋กœ Cursor ์„ค์ •์„ ์—ฝ๋‹ˆ๋‹ค. mcp-atlassian์˜ Quick Start ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด URL, USERNAME, API_TOKEN ์ •๋„๋ฅผ ์ฑ„์›Œ์ฃผ๋ฉด MCP๋ฅผ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ Jira API ํ† ํฐ์€ https://id.atlassian.com/manage-profile/security/api-tokens ์—์„œ ๋ฐœ๊ธ‰ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": ["mcp-atlassian"],
      "env": {
        "JIRA_URL": "https://your-company.atlassian.net",
        "JIRA_USERNAME": "your.email@company.com",
        "JIRA_API_TOKEN": "your_api_token",
        "JIRA_SSL_VERIFY": "false",
        "CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
        "CONFLUENCE_USERNAME": "your.email@company.com",
        "CONFLUENCE_API_TOKEN": "your_api_token",
        "CONFLUENCE_SSL_VERIFY": "false"
      }
    }
  }
}

1-4. /๋กœ command ์‹คํ–‰ํ•˜๊ธฐ

์ €๋Š” Cursor๋กœ PR์„ ์ƒ์„ฑํ–ˆ์„ ๋•Œ claude-4-sonnet ๊ธฐ์ค€์œผ๋กœ 8.7๋งŒ token๊ณผ 0.14$๊ฐ€ ์†Œ๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

1-5. ๋ ˆํผ๋Ÿฐ์Šค ์ฐธ๊ณ ํ•ด์„œ ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ command ์ถ”๊ฐ€ํ•˜๊ธฐ

์ €๋Š” ์œ„ ๋งํฌ๋“ค์„ ์ฐธ๊ณ ํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์ปค๋งจ๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

- create-pr: PR ํ…œํ”Œ๋ฆฟ์— ๋งž์ถฐ ๊ตฌ์กฐํ™”๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ปค๋งจ๋“œ
- debug-issue: ์ฒด๊ณ„์ ์ธ ๋””๋ฒ„๊น… ํ”„๋กœ์„ธ์Šค๋ฅผ ์•ˆ๋‚ดํ•˜๋Š” ์ปค๋งจ๋“œ
- write-unit-tests: ์œ ๋‹› ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ œ๊ณตํ•˜๋Š” ์ปค๋งจ๋“œ

1-6. Team commands ํ™œ์šฉํ•˜๊ธฐ

Created by team admins in the Cursor Dashboard and automatically available to all team members
Team commands are available on Team and Enterprise plans.

Team/Enterprise ํ”Œ๋žœ์„ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด Cursor Dashboard์—์„œ Team Commands๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ณ„๋„์˜ ๊ณต์œ  ์—†์ด ํŒ€์› ์ „์ฒด๊ฐ€ ๊ณต์šฉ commands๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ค‘์•™์—์„œ commands๋ฅผ ์ผ๊ด„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

2. Skills, Rules, AGENTS

Cursor๋Š” ์—์ด์ „ํŠธ ๋™์ž‘์„ ์ปค์Šคํ…€ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ฐฉ๋ฒ•, Skills์™€ Rules๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2-1. Skills: ํ•„์š”ํ•  ๋•Œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋™์  ๊ธฐ๋Šฅ๊ณผ ์›Œํฌํ”Œ๋กœ์šฐ

Skills๋Š” ์—์ด์ „ํŠธ์˜ ๋Šฅ๋ ฅ์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. SKILL.md ํŒŒ์ผ๋กœ ์ •์˜ํ•˜๋ฉฐ, ์—์ด์ „ํŠธ๊ฐ€ ๊ด€๋ จ์„ฑ์ด ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•  ๋•Œ๋งŒ ๋™์ ์œผ๋กœ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ๋•๋ถ„์— ์ปจํ…์ŠคํŠธ๋ฅผ ๋ฌด๊ฒ๊ฒŒ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด์„œ๋„, ํŠน์ • ์ž‘์—…์— ํ•„์š”ํ•œ ์ „๋ฌธ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Skills์— ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ์š”์†Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • /๋กœ ํ˜ธ์ถœํ•˜๋Š” ์ปค์Šคํ…€ ์ปค๋งจ๋“œ(๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์›Œํฌํ”Œ๋กœ์šฐ)
  • ์—์ด์ „ํŠธ ํ–‰๋™ ์ „ํ›„๋กœ ์‹คํ–‰๋˜๋Š” ํ›…(Hooks)
  • ํŠน์ • ์ž‘์—…์— ํ•„์š”ํ•œ ๋„๋ฉ”์ธ ์ง€์‹(ํ•„์š” ์‹œ ์˜จ๋””๋งจ๋“œ๋กœ ๋กœ๋“œ)

์ƒ์‹œ ์ ์šฉ๋˜๋Š” Rules๋Š” ์งง๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ํŠน์ˆ˜ํ•œ ์ž‘์—… ๋Šฅ๋ ฅ์€ Skills๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒŒ ์ถ”์ฒœ๋˜๋Š” ์šด์˜ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. Rules๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์ปจํ…์ŠคํŠธ๊ฐ€ ์˜ค์—ผ๋  ์œ„ํ—˜์ด ์ปค์ง€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

https://github.com/vercel-labs/agent-skills/blob/main/skills/react-best-practices/SKILL.md

์œ„ ํŒŒ์ผ์ฒ˜๋Ÿผ ๋ฉ”์ธ SKILL.md ํŒŒ์ผ์€ ํ•ต์‹ฌ ๋‚ด์šฉ์— ์ง‘์ค‘ํ•˜๊ณ , ์ƒ์„ธํ•œ ์ฐธ๊ณ  ์ž๋ฃŒ๋Š” ๋ณ„๋„ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—์ด์ „ํŠธ๊ฐ€ ํ•„์š”ํ•œ ์‹œ์ ์—๋งŒ ์ ์ง„์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ๋กœ๋“œํ•˜๋ฏ€๋กœ, ์ปจํ…์ŠคํŠธ ์‚ฌ์šฉ๋Ÿ‰์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์—์ด์ „ํŠธ ์Šคํ‚ฌ์€ ๋‚˜์ดํ‹€๋ฆฌ ๋ฆด๋ฆฌ์Šค ์ฑ„๋„์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ„๋„์„ ์ „ํ™˜ํ•˜๋ ค๋ฉด Cursor ์„ค์ •์„ ์—ด๊ณ  Beta๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ, ์—…๋ฐ์ดํŠธ ์ฑ„๋„์„ Nightly๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Nightly๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์˜ ๊ธฐ๋Šฅ์„ ๋งค์ผ ๋ฐค ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฒ„์ „์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์šฉ(Stable) ๋ฒ„์ „๋ณด๋‹ค ํ›จ์”ฌ ์•ž์„  ๊ธฐ๋Šฅ๋“ค์„ ๋ฏธ๋ฆฌ ์จ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹คํ—˜์‹ค ๊ฐ™์€ ๋‹จ๊ณ„๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2-2. Rules: ํ”„๋กœ์ ํŠธ์— ํ•ญ์ƒ ์ ์šฉ๋˜๋Š” ์ •์  ์ปจํ…์ŠคํŠธ

Rules๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์—์ด์ „ํŠธ๊ฐ€ ๋”ฐ๋ผ์•ผ ํ•  ๊ธฐ๋ณธ ์ง€์นจ์„ โ€˜ํ•ญ์ƒ ์ผœ์ง„ ์ƒํƒœโ€™๋กœ ์ œ๊ณตํ•˜๋Š” ์žฅ์น˜์ž…๋‹ˆ๋‹ค. .cursor/rules/ ์•„๋ž˜์— ์ž์ฃผ ์“ฐ๋Š” ๋ช…๋ น์–ด, ์ฝ”๋“œ ์Šคํƒ€์ผ, ์ž‘์—… ํ๋ฆ„์˜ ํ•ต์‹ฌ์„ ๋‹ด์•„ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

# Commands
 
- `npm run build`: Build the project
- `npm run typecheck`: Run the typechecker
- `npm run test`: Run tests (prefer single test files for speed)
 
# Code style
 
- Use ES modules (import/export), not CommonJS (require)
- Destructure imports when possible: `import { foo } from 'bar'`
- See `components/Button.tsx` for canonical component structure
 
# Workflow
 
- Always typecheck after making a series of code changes
- API routes go in `app/api/` following existing patterns

Rules๋Š” ์งง๊ณ  ํ•ต์‹ฌ์ ์ผ์ˆ˜๋ก ์ข‹์Šต๋‹ˆ๋‹ค. ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ํ†ต์งธ๋กœ ๋ณต์‚ฌํ•ด ๋„ฃ๋Š” ๋Œ€์‹  ๋ฆฐํ„ฐ๋ฅผ ์“ฐ๋Š” ํŽธ์ด ๋‚ซ๊ณ , ๋ชจ๋“  ๋ช…๋ น์„ ๋‚˜์—ดํ•˜๊ธฐ๋ณด๋‹ค ์ด ํ”„๋กœ์ ํŠธ์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ๋งŒ ๋‚จ๊ธฐ๋Š” ํŽธ์ด ์œ ์ง€๋ณด์ˆ˜์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์ฝ”๋“œ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๊ทœ์น™๋„ ๊ฐ™์ด ๋‚ก๊ธฐ ๋•Œ๋ฌธ์—, ๋‚ด์šฉ ๋ณต์‚ฌ๋ณด๋‹ค ํŒŒ์ผ ์ฐธ์กฐ๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค.

ํ”ผํ•ด์•ผ ํ•  ํŒจํ„ด์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ํ†ต์งธ๋กœ Rules์— ๋ถ™์—ฌ ๋„ฃ๊ธฐ(๋ฆฐํ„ฐ๊ฐ€ ๋” ์ ํ•ฉ)
  • ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ช…๋ น์„ ๋ฌธ์„œํ™”ํ•˜๊ธฐ(์—์ด์ „ํŠธ๋Š” ์ด๋ฏธ ๋„๊ตฌ์— ๋Œ€ํ•ด ์–ด๋А ์ •๋„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ)
  • ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์—ฃ์ง€ ์ผ€์ด์Šค๊นŒ์ง€ ๊ทœ์น™์œผ๋กœ ๊ฐ•์ œํ•˜๊ธฐ

2-3. AGENTS.md

ํ˜„์žฌ ๋‹ค์–‘ํ•œ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ(Cursor, Claude, Gemini)๋Š” ๊ฐ๊ฐ ๊ณ ์œ ํ•œ ๊ทœ์น™ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • Cursor๋Š” .cursor/rules
  • Claude๋Š” CLAUDE.md
  • Gemini๋Š” GEMINI.md

ํ•˜๋‚˜์˜ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋งŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋ฅผ ๋„˜๋‚˜๋“ค๋ฉฐ ๊ฐœ๋ฐœํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊ธฐ๋ฉด์„œ ์ ์  ๊ทœ์น™ ํŒŒ์ผ ์ •์˜ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ๊นŒ๋‹ค๋กœ์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ AGENTS.md๊ฐ€ ๋“ฑ์žฅํ–ˆ๊ณ , ์ด ๋ชจ๋“  ๊ทœ์น™ ํŒŒ์ผ์„ ํ•˜๋‚˜๋กœ ์ •์˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

https://agents.md ๋ฅผ ๋ณด๋ฉด Codex, Cursor, Gemini CLI, GitHub Copilot ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ ์ฃผ์š” ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ AGENTS.md ๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ดํ•˜๊ฒŒ๋„ Claude Code๋Š” AGENTS.md๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ณ  ์žˆ๋Š”๋ฐ, GitHub issue์—์„œ ๊ฑฐ์˜ 2,000๊ฐœ์˜ ์ข‹์•„์š”๋ฅผ ๋ฐ›์•˜์„ ์ •๋„๋กœ ์‚ฌ์šฉ์ž๋“ค ์‚ฌ์ด์—์„œ ์ง€์› ์š”์ฒญ์ด ๋งŽ์€ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. (Feature Request: Support AGENTS.md)

๊ฐ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋งˆ๋‹ค ํŒŒํŽธํ™”๋œ ๊ทœ์น™ ํŒŒ์ผ์„ AGENTS.md๋กœ ํ‘œ์ค€ํ™”ํ•˜๋ฉด ์ผ๊ด€์„ฑ ์ธก๋ฉด์—์„œ ์ƒ๋‹นํ•œ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Cursor์—์„œ 20๋‹ฌ๋Ÿฌ๋ฅผ ๋ชจ๋‘ ์†Œ์ง„ํ•ด์„œ Copilot์œผ๋กœ ๋„˜์–ด๊ฐ€๋”๋ผ๋„, ์ด๋ฏธ ์ •์˜๋œ ํ•ต์‹ฌ์ ์ธ ์ปจํ…์ŠคํŠธ์™€ ๊ทœ์น™์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์–ด ๋„๊ตฌ ์ „ํ™˜์— ๋”ฐ๋ฅธ ์ƒ์‚ฐ์„ฑ ์ €ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Agent Review

Source Control ํƒญ์—์„œ ์›ํ•˜๋Š” ๋ธŒ๋žœ์น˜์™€ ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ ์ „์ฒด๋ฅผ ์ ๊ฒ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ผ์ธ ๋‹จ์œ„๋กœ ๋ณ€๊ฒฝ์„ ๋ถ„์„ํ•ด ์ž ์žฌ ๋ฒ„๊ทธ๋ฅผ ํ‘œ์‹œํ•ด ์ค๋‹ˆ๋‹ค.

4. Debug Mode

ModeForCapabilitiesTools
Agent๋ณต์žกํ•œ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ, ๋Œ€๊ทœ๋ชจ ๋ฆฌํŒฉํ„ฐ๋ง์ž์œจ ํƒ์ƒ‰, ๋‹ค์ค‘ ํŒŒ์ผ ํŽธ์ง‘๋ชจ๋“  ๋„๊ตฌ ํ™œ์„ฑํ™”
Askํ•™์Šต, ๊ฐœ๋… ์ดํ•ด, ์•„์ด๋””์–ด ์ •๋ฆฌ, ์งˆ๋ฌธ์ฝ๊ธฐ ์ „์šฉ ํƒ์ƒ‰, ์ž๋™ ๋ณ€๊ฒฝ ์—†์Œ๊ฒ€์ƒ‰ ๋„๊ตฌ๋งŒ ์‚ฌ์šฉ
Plan์‚ฌ์ „ ๊ณ„ํš์ด ํ•„์š”ํ•œ ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์‹คํ–‰ ์ „ ์ƒ์„ธ ๊ณ„ํš ์ˆ˜๋ฆฝ, ์ถ”๊ฐ€ ์งˆ์˜๋ชจ๋“  ๋„๊ตฌ ํ™œ์„ฑํ™”
Debug๊นŒ๋‹ค๋กœ์šด ๋ฒ„๊ทธ, ํšŒ๊ท€ ๋ฒ„๊ทธ ๋ถ„์„๊ฐ€์„ค ์ƒ์„ฑ, ๋กœ๊ทธ ๊ณ„์ธก, ๋Ÿฐํƒ€์ž„ ๋ถ„์„๋ชจ๋“  ๋„๊ตฌ + ๋””๋ฒ„๊ทธ ์„œ๋ฒ„

๊นŒ๋‹ค๋กœ์šด ๋ฒ„๊ทธ์˜ ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ๊ณ  ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ฐ”๋กœ ์ž‘์„ฑํ•˜๋Š” ๋Œ€์‹ , ์—์ด์ „ํŠธ๊ฐ€ ๋จผ์ € ๊ฐ€์„ค์„ ์„ธ์šฐ๊ณ  ๋กœ๊ทธ ๋ฌธ์„ ์ถ”๊ฐ€ํ•˜๋ฉฐ ๋Ÿฐํƒ€์ž„ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด ์ •ํ™•ํ•œ ๋ฌธ์ œ ์ง€์ ์„ ํŠน์ •ํ•œ ๋’ค, ๊ทธ ์ง€์ ์—๋งŒ ์ง‘์ค‘ํ•ด ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

  • ์žฌํ˜„์€ ๋˜์ง€๋งŒ ์›์ธ์„ ๋ชจ๋ฅด๊ฒ ๋Š” ๋ฒ„๊ทธ: ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฑด ์•Œ์ง€๋งŒ, ์ฝ”๋“œ๋ฅผ ์ฝ์–ด๋„ ์›์ธ์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š์„ ๋•Œ
  • ๋ ˆ์ด์Šค ์ปจ๋””์…˜๊ณผ ํƒ€์ด๋ฐ ์ด์Šˆ: ์‹คํ–‰ ์ˆœ์„œ๋‚˜ ๋น„๋™๊ธฐ ๋™์ž‘์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ
  • ์„ฑ๋Šฅ ๋ฌธ์ œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜: ๋Ÿฐํƒ€์ž„ ํ”„๋กœํŒŒ์ผ๋ง์ด ์žˆ์–ด์•ผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์Šˆ
  • ์˜ˆ์ „์—๋Š” ์ž˜ ๋˜๋˜ ๊ธฐ๋Šฅ์ด ๊นจ์ง„ ํšŒ๊ท€ ๋ฒ„๊ทธ: ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ์ถ”์ ํ•ด์•ผ ํ•  ๋•Œ

์ผ๋ฐ˜์ ์ธ Agent ์ƒํ˜ธ์ž‘์šฉ๋งŒ์œผ๋กœ๋Š” ๋ฒ„๊ทธ๋ฅผ ์žก๊ธฐ ์–ด๋ ค์šธ ๋•Œ, ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋Š” ์ˆ˜์ •์•ˆ์„ ์ถ”์ธกํ•˜๊ธฐ๋ณด๋‹ค ๋Ÿฐํƒ€์ž„ ์ฆ๊ฑฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

5. Browser

๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์€ ์ตœ์ƒ์˜ ์„ฑ๋Šฅ์„ ์œ„ํ•ด Sonnet 4.5, GPT-5, Auto ๋ชจ๋ธ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•œ๋‹ค๊ณ  ํ•˜๋ฉฐ, ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ํƒ์ƒ‰: URL์„ ์—ด๊ณ  ์›น ํŽ˜์ด์ง€๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” URL์„ ์—ด๊ณ , ๋งํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉฐ, ๋ฐฉ๋ฌธ ๊ธฐ๋ก์—์„œ ์•ž๋’ค๋กœ ์ด๋™ํ•˜๊ณ , ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ด ์›น ์–ด๋””๋“  ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ํด๋ฆญ: ๋ฒ„ํŠผ, ๋งํฌ, ํผ ์š”์†Œ์™€ ์ƒํ˜ธ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ํŽ˜์ด์ง€ ์š”์†Œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ณด์ด๋Š” ๋ชจ๋“  ์š”์†Œ์— ๋Œ€ํ•ด ํด๋ฆญ, ๋”๋ธ” ํด๋ฆญ, ์˜ค๋ฅธ์ชฝ ํด๋ฆญ, ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋Š”(ํ˜ธ๋ฒ„) ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ž…๋ ฅ: ์ž…๋ ฅ ํ•„๋“œ์™€ ํผ์— ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ํผ์„ ์ž‘์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์ถœํ•˜๋ฉฐ, ํผ ํ•„๋“œ, ๊ฒ€์ƒ‰์ฐฝ, ํ…์ŠคํŠธ ์˜์—ญ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์Šคํฌ๋กค: ๊ธด ํŽ˜์ด์ง€์™€ ์ฝ˜ํ…์ธ ๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์Šคํฌ๋กคํ•˜์—ฌ ์ถ”๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ํ‘œ์‹œํ•˜๊ณ , ํŠน์ • ์š”์†Œ๋ฅผ ์ฐพ๊ณ , ๊ธด ๋ฌธ์„œ๋ฅผ ๋‘˜๋Ÿฌ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ์Šคํฌ๋ฆฐ์ƒท: ์›น ํŽ˜์ด์ง€์˜ ํ™”๋ฉด์„ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฐ์ƒท์€ ์—์ด์ „ํŠธ๊ฐ€ ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ์„ ์ดํ•ดํ•˜๊ณ  ์‹œ๊ฐ์  ์š”์†Œ๋ฅผ ํ™•์ธํ•˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ˆ˜ํ–‰ํ•œ ๋™์ž‘์— ๋Œ€ํ•œ ํ™•์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  6. ์ฝ˜์†” ์ถœ๋ ฅ: ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†” ๋ฉ”์‹œ์ง€, ์˜ค๋ฅ˜, ๋กœ๊ทธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” JavaScript ์˜ค๋ฅ˜, ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ, ๋„คํŠธ์›Œํฌ ๊ฒฝ๊ณ ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ํŽ˜์ด์ง€ ๋™์ž‘์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  7. ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ: ํŽ˜์ด์ง€์—์„œ ๋ฐœ์ƒํ•˜๋Š” HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” API ํ˜ธ์ถœ์„ ์ถ”์ ํ•˜๊ณ , ์š”์ฒญ ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ , ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๋ฉฐ, ๋„คํŠธ์›Œํฌ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ˜„์žฌ ์—์ด์ „ํŠธ ํŒจ๋„์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ณง ๋ ˆ์ด์•„์›ƒ์—๋„ ์ œ๊ณต๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

6. Run multiple models at once

๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ชจ๋ธ์— ๋™์‹œ์— ๋˜์ ธ ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋“œ๋กญ๋‹ค์šด์—์„œ ์—ฌ๋Ÿฌ ๋ชจ๋ธ์„ ์„ ํƒํ•ด ์‹คํ–‰ํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜๋ž€ํžˆ ํ‘œ์‹œ๋˜๊ณ  ๊ฐ€์žฅ ์ข‹์•„ ๋ณด์ด๋Š” ํ•ด๋ฒ•์„ Cursor๊ฐ€ ์ถ”์ฒœํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฐฉ์‹์€ ๋ชจ๋ธ๋งˆ๋‹ค ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋Š” ๋‚œ์ด๋„ ๋†’์€ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ํŠนํžˆ ์œ ์šฉํ•˜๋ฉฐ, OpenAI์˜ GPT ํŒจ๋ฐ€๋ฆฌ๋‚˜ Anthropic์˜ Claude ํŒจ๋ฐ€๋ฆฌ์ฒ˜๋Ÿผ ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ๋ธ ํŒจ๋ฐ€๋ฆฌ ๊ฐ„ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ๋น„๊ตํ•  ๋•Œ๋„ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•œ ๋ชจ๋ธ์ด ๋†“์น˜๊ธฐ ์‰ฌ์šด ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐ์—๋„ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋ณ‘๋ ฌ ์‹คํ–‰์„ ๋งŽ์ด ํ™œ์šฉํ•œ๋‹ค๋ฉด ์™„๋ฃŒ ์•Œ๋ฆผ ๋ฐ ์†Œ๋ฆฌ ์„ค์ •์„ ํ•จ๊ป˜ ์ผœ ๋‘๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

๋งˆ์น˜๋ฉฐ

Cursor Docs์™€ Blog๋งŒ ๋ณด๊ณ ๋„ ๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์œ ์ตํ•œ ๋‚ด์šฉ์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. changelog๋ฅผ ํ†ตํ•ด ๋ณ€ํ™”๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ํŒ€์›๋“ค๊ณผ ๋ ˆ์Šจ๋Ÿฐ์„ ํ™œ๋ฐœํ•˜๊ฒŒ ๊ณต์œ ํ•œ๋‹ค๋ฉด ์ƒ์‚ฐ์„ฑ์ด ๋” ๋†’์•„์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ด ์‹ค๋ฌด์— ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐ ๊ธ€์„ ๋งˆ์น˜๊ฒ ์Šต๋‹ˆ๋‹ค.