| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Combine
- Combine입문
- CurrentValueSubject
- SwiftCombine
- priority
- Publisher
- Cocoapods
- hugging
- RxSwift비교
- RxSwift에서Combine
- Codex사용법
- replaceNil
- removeDuplicates
- Combine개념
- iOS기술블로그
- AI개발도구추천
- ios
- CURSOR
- 코딩에이전트
- RxSwift
- tryMap
- compactMap
- Swift
- FilteringOperator
- Codex리뷰
- ChatGPTCodex
- 비동기
- autoLayout
- PassthroughSubject
- 라이브러리
- Today
- Total
Tong's Blog
[iOS] Cursor 에 iOS(Xcode) 에 맞는 Rules 설정하기 본문
안녕하세요.
지난 포스팅에서는 Cursor 에 iOS 를 동작시킬 수 있도록 세팅하는 방벙을 설명드렸는데요
[iOS] Cursor 에 iOS(Xcode) 프로젝트 연동하기
안녕하세요.오랜만에 포스팅을 올리네요. 오늘은 iOS 프로젝트를 연동하는 법에 대해 포스팅하려고 합니다. 최근 여러 ChatGPT 를 비롯해 여러 AI Tool 들이 발전하면서 AI Coding Agent 도 많이 나타나고
tong94.tistory.com
이번 포스팅에서는 Cursor 의 기능 중 하나인 Rules 설정하는 법을 알려드리려고 합니다.
우선 Cursor Rules 가 무엇인지부터 알아야겠죠?
https://docs.cursor.com/en/context/rules
Cursor – Rules
Control how the Agent model behaves with reusable, scoped instructions.
docs.cursor.com
Rules 의 정의
Control how the Agent model behaves with reusable, scoped instructions.
Rules provide system-level instructions to Agent and Inline Edit. Think of them as persistent context, preferences, or workflows for your projects.
에이전트 모델의 동작을 재사용 가능한, 범위가 지정된 지침으로 제어합니다.
Rules는 에이전트(Agent)와 Inline Edit가 어떻게 행동할지를 결정하는 시스템 수준의 지침을 제공합니다.
이를 프로젝트의 지속적인 컨텍스트, 선호도, 워크플로우 같은 것으로 생각할 수 있습니다.
각 프로젝트마다 언어나 특징이나 혹은 팀마다 지켜야 할 컨벤션 혹은 규칙들이 있을텐데요
매 프롬프트마다 해당 사항을 적어줄수 없으니
재사용 가능하도록 만들어주는 것이 Cursor 의 Rules 이라고 보시면 됩니다.
Rules 종류
기존에는 .cursorrules 위치에 텍스트 형식으로 저장을 했는데요.
지금에 상황에 따라 Rules 에 형태가 달라지도록 추가되었습니다.
Project rules
특정 프로젝트 안에서 에이전트 모델이 따라야 할 팀 규칙과 컨텍스트를 정의하는 시스템 지침.
프로젝트별로 각각 설정되는 Rules 로 프로젝트 내부 .cursor/rules/*.mdc 형태로 파일을 생성할 수 있으며
git 으로 관리되면서 팀내에서 공유가 가능합니다.
User rules
특정 사용자의 개인적 선호와 작업 습관을 반영해 에이전트 모델이 맞춤형으로 동작하도록 하는 시스템 지침.
User Rules 는 Cursor App 에 저장되는 Rules 로 개인화된 Rules 사용에 적합합니다.
설정을 적용하려면 Cursor 세팅 항목 중 Rules & Memories 라는 탭에서 아래와 같은 화면을 보실 수 있으실겁니다.

비교하자면 아래와 같은데요
| 구분 | Project Rules | User Rules |
| 정의 | 특정 프로젝트 단위에서 Cursor Agent가 따라야 할 규칙을 정의 | 사용자 개인의 선호와 작업 습관을 반영하는 규칙 |
| 적용 범위 | 해당 프로젝트 내부에서만 적용 | 계정 전반, 모든 프로젝트에 공통 적용 |
| 파일 형식 | .cursor/rules.mdc | 별도 파일 없음 (Cursor 계정 설정에 저장) |
| 버전 관리 | Git에 포함 가능 → 팀원 전체 공유 및 이력 관리 | 버전 관리 불가, 개인 환경에만 적용 |
| 공유성 | 프로젝트를 함께 사용하는 모든 팀원에게 동일하게 적용 | 개인 전용, 다른 사람과 공유되지 않음 |
| 유연성 | 엄격함 강조 (프로젝트 규칙 우선) → 개인 설정과 충돌 시 Project Rules가 우선 | 개인 맞춤형, 자유롭게 설정 가능 |
| 활용 목적 | 아키텍처, 코드 스타일, 테스트, 협업 규칙 등 팀 일관성 보장 | 답변 언어, 코드 스타일, 설명 방식 등 개인화 경험 제공 |
| 예시 | - Swift 6 문법 사용 - MVVM + ReactorKit 아키텍처 - Networking은 Moya 필수 - Conventional Commits 형식 준수 |
- 답변은 한국어 우선 - Swift 최신 문법 활용 - 코드 줄 때 테스트 포함 - 설명은 간결하게 |
비교표를 보시고 이해가 되시나요?
좀 더 이해하실 수 있도록 예시를 추가해드리겠습니다.
Project Rules 예시
---
description: Swift Prjoect Rules. # 규칙 설명
globs: # 어떤 파일에 적용할지 지정 (glob 패턴)
- "Sources/**/*.swift"
alwaysApply: false # 항상 적용 여부 (true/false)
---
# Project Rules
## Language & Framework
- Use Swift 6 syntax only.
- Adopt MVVM architecture with ReactorKit.
- Networking must be implemented with Moya.
- For image loading, use Kingfisher library.
## Code Style
- Follow SwiftLint rules defined in `.swiftlint.yml`.
- Prefer `struct` over `class` unless reference semantics are required.
- All async tasks should use Swift Concurrency (`async/await`) instead of Rx where possible.
## Testing
- All new features must include unit tests.
- Use XCTest framework for testing.
- Coverage should not drop below 80%.
## Git & Collaboration
- Follow Conventional Commits style (e.g., `feat(auth): add login API`).
- All PRs must have at least one reviewer’s approval.
User Rules 예시
# User Rules
- Always answer me in Korean first, and include English only if necessary.
- Provide Swift code examples using the latest syntax (Swift 6).
- When writing code, also provide at least one test case.
- Keep explanations concise and focused on the solution.
- For architecture or design pattern questions, always include pros/cons.
오늘은 Cursor Rules 가 무엇인지에 대한 정의와 사용법 및 예시까지 알아보았는데요.
Cursor 로 iOS 개발하시는 분들에게 도움이 되었으면 좋겠습니다.
오늘도 읽어주셔서 감사합니다.
'iOS' 카테고리의 다른 글
| [iOS] Cursor 에 iOS(Xcode) 프로젝트 연동하기 (5) | 2025.07.16 |
|---|---|
| [iOS] Content Hugging 와 Compression Resistance 에 대해 (2) (0) | 2023.02.23 |
| [iOS] Content Hugging 와 Compression Resistance 에 대해 (1) (0) | 2023.02.15 |
| [iOS] 라이브러리 만들기 (2) - Cocoapods 라이브러리에 SPM 이식하기 (0) | 2021.01.02 |
| [iOS] 라이브러리 만들기 (1) - Cocoapods 프로젝트 생성 (0) | 2020.12.26 |