Cursor 제대로 알고 쓰기

Tech
2025-03-15

소개

Cursor는 AI Code Editor입니다. VS Code를 기반으로 만들어졌기 때문에 UI가 크게 다르지 않고, VS Code extension도 그대로 옮겨올 수 있습니다. VS Code + α 느낌이라 부담 없이 시작할 수 있습니다.

다양한 모델을 제공하기 때문에 원하는 모델을 선택해 사용하면 됩니다. 저는 claude-3.7-sonnet-thinking을 사용 중입니다.

무료 플랜은 slow premium request 50회만 가능한데, Pro 플랜(월 $20)은 한 달에 fast premium request 500회까지 가능합니다. 무료로 사용했을 때도 경험이 괜찮았지만, 매달 3만 원씩 내면서 쓸 정도는 아니라고 생각했는데 최근 업데이트 소식을 듣고 나서는 비용을 지불할 만한 가치가 있다고 느꼈습니다.

기능

Changelog가 올라오기 때문에 업데이트마다 어떤 기능이 추가됐는지 확인 가능합니다. 결제를 결심하게 만든 이유였던 0.46 버전에서 추가된 기능들을 소개해 보려고 합니다.

🤖 Agent is ready

Agent is now the default mode, bringing a more powerful and unified AI experience. No more confusion between Chat, Composer, and Agent - just one smart interface that adapts to your needs.

Agent는 Cursor의 3가지 모드 중 하나입니다. 각각의 모드는 아래와 같은 특징을 가지고 있습니다.

AskEditAgent
채팅으로 질문답변을 파일에 바로 반영 가능복잡한 작업을 여러 단계로 나눠 수행
특정 질문에 대한 일회성 응답파일 생성 및 수정터미널 명령어까지 대신 수행 가능(예: 패키지 설치)

3가지 모드 중 Edit + AI Assistant인 Agent를 기본 모드로 설정하면 편합니다. 파일 수정을 원하지 않을 경우 프롬프트에 '수정은 필요하지 않아'라고 입력하면 되니까 Ask로 바꾸지 않아도 Ask 모드처럼 이용 가능합니다.

🎨 UI refresh

Phase one of a fresh coat of paint with new default Cursor themes designed for focus. We've also simplified the @-context menu to make Agent more precise.

UI가 깔끔해졌고, @-context menu가 단순해졌습니다. 에이전트가 context를 잘 파악하고 있어서 예전보다 프롬프트를 덜 자세하게 작성해도 만족스러운 답변을 제공합니다.

Agent can now automatically search the web for up-to-date information without requiring explicit @Web commands.

// as-is
@web react-hook-form v7의 register option 중 deps에 대해 검색해줘

// to-be
react-hook-form v7의 register option 중 deps에 대해 검색해줘

업데이트 전에는 웹 검색을 위해 @web 태그를 사용해야 했지만, 이제는 태그 없이 '검색해줘'만 입력해도 검색 프롬프트임을 판단합니다. 실제 답변 과정도 살펴보겠습니다.

GitHub 이슈나 코드 예제를 검색하기도 하고, 공식 문서를 참고해 답변을 제공합니다.

🙈 Ignore files

.cursorignore now blocks files from being added in chat or sent up for tab completions, in addition to ignoring them from indexing. We've introduced .cursorindexingignore for specifically controlling file indexing.

환경 변수가 있는 파일처럼 Cursor가 인덱싱하지 않았으면 하는 파일이 있다면 이 기능을 활용하면 됩니다. Configured ignored files 버튼을 클릭하거나 직접 프로젝트 루트 경로에 .cursorignore 파일을 생성한 뒤, 인덱싱하지 않을 파일 목록을 작성하면 됩니다. .cursorindexingignore에 적힌 파일은 인덱싱만 건너뛰고, .cursorignore에 적힌 파일은 AI 기능과 인덱싱 모두 무시합니다.

# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)
 
node_modules
README.md
package.json
.env.local
...

📤 Agent tool limit

Upon reaching the 25 tool call limit, you can press "continue" to proceed (counts as a new request).

Agent는 한 번의 명령에 최대 25개의 도구를 호출할 수 있습니다. 25개를 초과하면 'continue' 버튼을 눌러 새 요청으로 처리할 수 있습니다. 현재까지 사용하면서 25개를 초과한 적이 없는 것을 고려하면, 제한이 존재하더라도 불편함을 느낄 정도는 아닌 것 같습니다.

📂 Project rules

New capability to apply rules globally and a visual indicator for when rules will be applied

Cursor는 명령을 수행하기 전에 가장 먼저 규칙을 참고하는 형태로 동작합니다.

👩🏻‍💻 개발자 : 버튼 컴포넌트 추가해줘
💻 Cursor : 컴포넌트 만들 때 참고할 규칙이 있나? (찾는 중..)
💻 Cursor : 찾았다 이걸 컨텍스트에 넣고 개발해야지!

0.46 버전부터는 규칙을 찾는 방식이 변경되었습니다. 원래는 프로젝트 루트 경로에 존재하는 .cursorrules 파일을 확인했지만, 이제는 .cursor/rules 디렉터리에 있는 여러 규칙들 중 필요한 규칙만 찾아냅니다.

프로젝트당 하나의 .cursorrules 파일만 사용할 수 있었을 때는 명령을 규칙에 맞게 처리하는 데 한계가 있었습니다. .cursor/rules 디렉터리에 여러 규칙 파일을 생성하여 관리할 수 있게 되면서 에이전트가 상황에 적합한 규칙을 식별하고 적용하여 명령을 더 효과적으로 수행할 수 있게 개선되었습니다.

규칙은 아래와 같이 마크다운 형태로 작성하면 됩니다.

---
description:
globs:
---
 
# Your rule content
 
- You can @ files here
- You can use markdown but dont have to

팀 컨벤션을 마크다운 형태로 작성해도 좋고, 아래 repository를 참고해도 좋을 것 같습니다.

https://github.com/PatrickJS/awesome-cursorrules

아래와 같이 규칙이 주제별로 잘 정리되어 있습니다.

🔌 MCP improvements

MCP는 Model Context Protocol의 약자로, AI 모델맥락 정보를 활용할 수 있게 만든 통신 규약입니다. AI Assistant가 대중화되면서 모델의 품질이 많이 향상되었지만, 격리된 데이터에 접근 불가능하다는 한계가 있었습니다. 이제는 MCP를 통해 다양한 데이터 소스를 AI 모델과 연결함으로써 더 풍부한 맥락 정보를 활용할 수 있게 되었습니다.

이미지 출처 : https://modelcontextprotocol.io/introduction#general-architecture

host application이 여러 server에 연결할 수있는 client-server 아키텍처를 따르고 있습니다. USB 허브가 노트북에 여러 장치를 연결하는 방법을 단순화하는 것처럼 MCP는 AI 모델이 데이터, 도구, 서비스와 상호 작용하는 방식을 단순화합니다.

이미지 출처 : https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained

다양한 MCP 서버는 아래 링크들에서 구경할 수 있습니다.

🔗 https://cursor.directory/mcp

  • Github 연동 시 에이전트가 PR이나 이슈를 생성할 수 있습니다.
  • Vercel 연동 시 에이전트에게 배포를 위임할 수 있습니다.
  • Figma 연동 시 시간이 다소 걸리지만, 에이전트가 시안과 거의 동일한 결과물을 만들어냅니다. 레이아웃과 전반적인 분위기는 비슷하지만, 디테일한 부분까지는 아직 완벽하게 커버하기 어려운 것으로 보입니다(예시). 랜딩 페이지 정도의 간단한 구현에는 유용하게 활용할 수 있을 것 같습니다.

🔗 https://smithery.ai

Smithery에서는 인기 있는 순서대로 MCP server들을 확인할 수 있습니다. Sequential Thinking은 문제 해결 과정에 있는 step-by-step thinking process를 볼 수 있어서 현재 가장 인기 있는 MCP 서버입니다.

마치며

단순히 코드를 생성하는 것을 넘어, 적절한 도구를 호출해 문제를 해결할 수 있다는 점에서 Cursor와 MCP 서버는 개발자의 생산성을 크게 높이는 역할을 합니다. 앞으로 이러한 기능들을 적극적으로 활용해 더 효율적인 개발 환경을 만들 수 있는 방법을 찾는 것이 중요할 것 같습니다.