Cursor
The AI Code Editor
Categories
- Vibe coding
- Void - Cursor 대체용 오픈소스 코드 에디터 프로젝트
- Cursor Directory - Cursor Rules 및 MCP Servers 목록
- Cursor CLI
- SuperDesign - IDE내부에서 사용하는 AI 디자인 에이전트
GNOME Desktop Icon
vi ~/.local/share/applications/Cursor.desktop
로 추가하자.
[Desktop Entry]
Name=Cursor
Comment=AI-powered code editor
GenericName=Text Editor
Exec=/home/zer0/Applications/Cursor-1.1.6-x86_64.AppImage %F
Icon=Cursor
Type=Application
StartupNotify=true
StartupWMClass=cursor
Categories=Development;IDE;
MimeType=text/plain;inode/directory;
Actions=new-empty-window;
Keywords=cursor;editor;development;ai;
Terminal=false
[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/home/zer0/Applications/Cursor-1.1.6-x86_64.AppImage --new-window %F
Icon=Cursor
아이콘 파일은 gtk-update-icon-cache 으로 업데이트
그리고 업데이트 한다.
MCP Settings
Sequential Thinking
Ollama 와 연동
다음 두 가지 항목을 지키자:
Ollama에서는 OpenAI API Key 형태로 호출할 수 있게 만들어뒀으나, 실제로 api key 자체는 필요없다.
Rules
메모리 뱅크
TODO List
LLM과 Cursor로 사이드 프로젝트 완성하기
- 약 5년 전부터 Engineering Manager 역할을 맡게 되어, 주 업무에서 직접 코드를 작성할 일은 줄어듦
- 업무 외에도 개인 프로젝트를 꾸준히 진행하며 프로그래밍 감각을 유지하고 기술력을 다짐
- 과거에는 시간 제약으로 프로젝트 진행이 느리고 완성 전에 중단되는 경우가 많았음
- 하지만, 2024년엔 비교적 빠른 속도로 필요한 도구를 만들고 배포해 처음 버전을 ‘완성’하는 습관을 갖추게 됨
최근 완성한 사이드 프로젝트 예시
- jsonplayground.com : JSON 포매터이면서, 브라우저 내부에서 실행되는 JQ 기능(웹어셈블리 활용)을 제공해 데이터를 외부로 보내지 않음
- webtomarkdown.com : 파일을 Markdown으로 변환하거나 웹사이트 일부를 Markdown 형태로 추출해 LLM에 맥락으로 전달할 수 있게 만듦
- 항공 클럽 페이지 Evergreen Soaring의 디자인 개선 초안
- Chrome 확장 프로그램을 제작해 항공 클럽으로 오는 메시지 대응을 자동화함
- fitinterval.com : 운동 시 간격 타이머 기능을 제공함
LLM과 Cursor IDE 활용 배경
- LLM이 사이드 프로젝트 생산성을 크게 높여줌
- 특히 Cursor IDE를 통해 LLM을 코딩 작업에 활용하는 과정이 편리함
- 이 글에서는 새로운 프로젝트를 만드는 전반적 흐름을 공유해, 독자들이 적용해볼 수 있도록 도움을 주고자 함
- LLM이 모든 영역에서 유용한 것은 아니므로, 직접 사용해보며 어디에 적용할지 선택해야 함
예시 프로젝트: 습관 추적 웹사이트
- 현재 사용하는 습관 추적 앱을 웹사이트 형태로 재현하고 싶어함
- 모든 데이터는 로컬 기기에 저장되어, 사용자 프라이버시를 고려함
스펙 구상 시작
- 먼저 ChatGPT에 간단한 설명을 한 뒤, 추가 질문을 받아 가며 애플리케이션 스펙을 구체화함
- 어느 정도 구체화가 되면, ‘다른 사람이 이 스펙만 보고 전체 앱을 만들 수 있을 정도’로 정리해 달라고 요청함
- TypeScript, React, Tailwind CSS 사용 의도를 명시해 해당 기술 기반 스펙을 생성함
- 최종 스펙을 SPEC.md에 보관해 이후 개발 과정에서 참조함
프로젝트 부트스트랩
- Vite를 사용해 프로젝트 골격을 빠르게 마련함
- npm create vite@latest . 명령으로 초기 설정을 하고, SPEC.md를 프로젝트 폴더에 넣어둠
- Cursor IDE의 Composer에서 에이전트 기능을 사용해 Tailwind 설정, 기본 파일 수정 등을 자동화함
- 이렇게 하면 예상 UX 레이아웃, 로컬스토리지 사용, Markdown 내보내기 기능 등 1차 기능이 단시간에 구현됨
작은 단위로 반복 작업
- 한 번에 너무 많은 기능을 요청하기보다는 필요한 개선 사항을 나눠서 LLM에게 순차적으로 업데이트를 요청함
- 예를 들어, UX 변경, 버그 수정 등을 작게 분리해 Chat이나 Composer 모드로 지시함
- 이미지를 Chat에 첨부해 원하는 디자인을 설명하고, 이를 코드로 구현하도록 LLM에 요청함
지속적 배포 설정
- GitHub Actions를 참고해, main 브랜치에 커밋이 올라가면 자동 빌드 후 GitHub Pages에 배포하도록 설정함
- Cursor에서 다른 레포의 예시 .yml 파일을 링크로 제공해 LLM이 이를 참조하도록 하여 배포 파이프라인을 구성함
종합 팁
- LLM으로 프로젝트 개요 및 세부 사항을 먼저 정리해 두고, 추후 컨텍스트용으로 저장
- 도구나 오픈 소스 템플릿을 사용해 프로젝트 부트스트랩 및 구조 설정
- 필수적인 개발 도구와 디렉터리 구조를 한꺼번에 마련하고 관리 가능한 프로젝트 패턴을 따름
- 광범위한 초안 작업(1차 드래프트)에 o1을 활용
- 약 80% 정도는 Claude-3.5-Sonnet으로 구체적인 수정·보강 작업을 진행
- Chat: 구체적인 위치에 변경이 필요하고, 수정 결과를 매번 확인해야 할 때 사용
- Composer(일반): 여러 파일에 걸친 기능 추가나 멀티파일 변화가 필요한 경우
- Composer(에이전트): 아직 많이 쓰지 않지만 명령어 실행, lint, 반복 수정 등 자동화된 작업이 필요할 때 (단, 작은 단위로 구분해 관리하는 편)
- 필요한 경우 Chat 모드에서 전체 코드베이스를 조회하도록 설정해, LLM이 컨텍스트에 맞는 코드를 검색하고 제안하도록 함
- LLM이 디버깅을 못 하는 상황이 발생하지 않도록, 코드 품질과 구조 유지
- 작업을 계속 작은 단위로 나누고, 필요 시 LLM을 활용해 리팩터링이나 모듈 분리를 진행
마무리
- 이 같은 방식으로 프로젝트를 신속히 마무리해 배포 버전을 만들면, 잠시 쉬더라도 다시 시작하기 훨씬 수월해짐
- 작게 완성하는 습관이 동력을 유지하게 해주고, 작은 성과를 빠르게 확인하며 동기부여를 얻을 수 있음
커서를 제대로 사용하는 방법
- Github - EnzeD/vibe-coding - Ultimate Guide to Vibe Coding V1.1
- 커서를 제대로 사용하는 12가지 방법 | GeekNews
Cursor를 잘 사용하면 빠르고 깔끔한 코드가 생성됩니다. Cursor를 잘못 사용하면 일주일 내내 정리해야 하는 AI 스파게티 코드가 생성됩니다. 여기 Cursor를 제대로 사용하는 방법입니다.
- 5-10개의 명확한 Project Rules을 설정해, 커서가 구조와 제약조건을 이해하게 하세요. 기존 코드 베이스에는 /Generate Cursor Rule을 사용해 보세요.
- Cursor > Setting > Cursor Settings로 접근하면 Project Rules를 설정할 수 있습니다.
- Cursor 채팅에 슬래시(/)를 입력하면, /Generate Cursor Rules가 있습니다. 이를 이용하면 Cursor가 이제까지 진행한 대화를 기반으로 Rules를 생성해줍니다.
- Cursor Rules 공식 문서 (링크)
- Cursor는 .cursorignore 기능을 제공해, Cursor가 테스트 케이스 파일을 편집할 수 없도록 할 수 있습니다. (링크)
- .cursor 폴더 안에 MD 파일로 파일을넣으면, 프로젝트 글로벌 룰로 적용이 됩니다.
- Cursor는 유저가 편집한 내용을 컨텍스트로 이용합니다.(링크)
- Cursor에서는 이전 채팅기록을 맥락으로 추가하는 것이 가능합니다.
- Cursor가 더 나은 답변을 하도록 코드베이스를 인덱스 할 수 있습니다. 일반적으로 Cursor는 코드베이스의 모든 파일을 인덱싱합니다.(링크)
Cursor 사용 방법 (+ 최고의 팁)
- [Cursor 사용 방법 (+ 최고의 팁) 번역글 | GeekNews]
최근 많은 개발자들이 Cursor의 에이전트 입력창만으로 대부분의 코딩을 진행하며, 본인도 80%를 이렇게 처리함
- YOLO 모드 활용: 빌드나 테스트가 통과할 때까지 AI가 자동으로 반복 수정함
- "yolo mode" -> "auto run mode" 로 바뀌었다함.
Cursor 사용자들의 선호 언어 모델 TOP 3 및 그 이유
gpt-4.1
- 지능적이고 신뢰도 높은 보조자처럼 행동함
- 성급히 판단하지 않고, 요청을 따르되 과도한 수정은 하지 않음
- 개발자의 연장선처럼 느껴지는 모델로, 경험 많은 개발자에게 특히 적합함
gemini 2.5 pro
- 긴 콘솔 로그, 전체 코드 파일 등 넓은 문맥을 활용할 때 강력함
- 이미지 분석 능력 탁월, 시각적 오류 포착 가능
- 단점은 지나치게 자율적으로 동작해 불필요한 코드 삭제 또는 과잉 수정을 일으킬 수 있음
- 주의 깊은 제어가 필요함
sonnet 3.5 / 3.7
- 3.7은 창의적이고 똑똑하지만, 장기 대화에서 맥락을 잃거나 지시를 무시하는 경우 있음
- 3.5는 단일 파일 기반의 코드 이해 및 수정에 강함
- Cursor와의 통합이 과도기적 문제로 일관성 있는 성능을 보여주지 못하고 있음
기타 의견 및 전략
- grok-3-beta는 느리지만 다른 모델이 실패한 문제를 해결하는 데 유용함
- 한 유저는 다음과 같은 모델 분업 전략을 사용 중:
- o3/4-mini: 계획 정리 및 마크다운 기반 사유 정리
- gemini 2.5 pro: 전체 파일 기반 문제 분석 및 기능 호출용
- sonnet 3.5: cmd+k 기반 단일 파일 수정용
See also
- VSCode
- Mouse pointer
- Vibe Coding
- Windsurf (formerly Codeium)
- Nao - 데이터를 위한 Cursor
- OnLook - 디자이너를 위한 Cursor
- Kiro - 새로운 에이전틱 IDE
Favorite site
- Cursor - The AI Code Editor
- PatrickJS/awesome-cursorrules - 📄 A curated list of awesome .cursorrules files
- 매일 Cursor를 사용중 - 내가 문제를 피하는 방법 | GeekNews
- [원문] I use Cursor daily - here's how I avoid the garbage parts
- 기술 스택에 맞는 규칙 설정하기 -> Cursor Rules 모음에서 최적의 규칙 선택
Articles
- Cursor의 LLM 클라이언트 리버스 엔지니어링 하기 | GeekNews
- [원문] Reverse Engineering Cursor's LLM Client · TensorZero
- TensorZero를 오픈소스 프록시로 활용해, Cursor와 LLM 제공자(OpenAI 등) 사이의 트래픽을 가로채 분석하고, 프롬프트·모델·추론 결과를 실시간으로 관찰 및 최적화 실험한 경험 공유
- Cursor는 LLM 호출 시 Base URL과 모델명을 오버라이드할 수 있어, 자체 프록시(TensorZero)를 손쉽게 연동 가능
- 내부적으로 Cursor는 자체 서버를 거쳐 LLM을 호출하므로, 완전한 프록시 구성을 위해 Ngrok + Nginx 리버스 프록시 및 CORS 헤더 세팅이 필요함
- 프록시를 통해 Cursor가 실제로 LLM에 보내는 system prompt, user prompt, 인라인 코드 편집 요청까지 모두 관찰 가능하며, 다양한 LLM(A/B 테스트)로 실시간 전환/실험이 가능
- Cursor의 system prompt 분석 결과, 불과 642 토큰 정도의 프롬프트만으로 대부분의 소프트웨어 엔지니어링 문맥을 LLM이 이해·처리함. 코드 편집은 별도의 "apply model"(덜 지능적인 보조 모델)이 담당
- TensorZero와 같은 프록시 구조로, 사용자별 맞춤형 LLM 실험 및 피드백 기반 최적화가 가능하며, 이 구조는 코드 보조 도구의 품질 평가(A/B 테스트), 프롬프트 최적화, 실사용 모니터링에 이상적임