본문으로 건너뛰기

Cursor

개요

Cursor는 .cursor/rules/ 폴더 내 .mdc 파일을 규칙으로 인식해 AI 동작에 반영합니다. 파일별로 적용 범위(glob 패턴)를 지정할 수 있어 언어·폴더별로 규칙을 분리 관리할 수 있습니다. 적용 범위는 프로젝트 단위입니다.

오픈소스 정책 규칙 파일을 .cursor/rules/oss-policy.mdc로 별도 분리해 두면, 다른 개발 가이드라인과 독립적으로 관리하고 필요 시 쉽게 비활성화할 수 있습니다. globs 패턴으로 적용 대상 파일을 한정하면 불필요한 컨텍스트 소비를 줄일 수 있습니다. 저장소에 커밋해 두면 팀 전체에 동일한 정책이 자동으로 적용됩니다. 규칙 파일이 여러 개인 경우 목적별로 파일명을 명확히 구분해 관리하면 유지보수가 쉬워집니다.

설정 파일 위치

  • .cursor/rules/oss-policy.mdc (권장)
  • .cursorrules (루트 단일 파일, 레거시)

적용 방법

  1. .cursor/rules/oss-policy.mdc 파일을 생성합니다.
  2. 공통 Rules 템플릿의 내용을 붙여넣습니다.
  3. 허용·금지 라이선스 목록을 사내 정책에 맞게 수정합니다.

설정 예시

---
description: 오픈소스 라이선스 및 보안 정책
globs: ["**/*.{js,ts,py,go,java}"]
alwaysApply: true
---

## 오픈소스 정책

### 라이선스 관리

새로운 외부 패키지·라이브러리 추가 시 반드시 라이선스를 확인하고 명시할 것.

**허용 라이선스**: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC

**주의 라이선스** (법무 검토 필요): LGPL, MPL

**금지 라이선스** (사전 승인 없이 사용 불가): GPL, AGPL, SSPL, Commons Clause

### 보안 관리

- 알려진 CVE 취약점이 있는 패키지 버전 사용 금지
- 의존성 추가 후 아래 명령어 중 하나를 실행할 것:
- npm: `npm audit`
- Python: `pip-audit`
- 컨테이너·범용: `trivy fs .`
- 패키지 버전은 가능한 최신 안정 버전(Latest Stable) 사용

### SBOM 관리

- 의존성 변경 시 SBOM 업데이트 필요
- 생성 도구: cdxgen, syft, trivy
- 권장 포맷: CycloneDX (차선: SPDX)

### 저작권

- 기존 코드의 저작권 헤더 유지
- 새 파일 생성 시 프로젝트 라이선스 헤더 포함
- 타 프로젝트 코드 복사 시 출처 및 라이선스 명시

주의사항

알아두세요

alwaysApply: true로 설정하면 모든 파일에 규칙이 적용되어 토큰 사용량이 증가할 수 있습니다. 정책 규칙처럼 항상 적용이 필요한 경우에는 alwaysApply: true를, 특정 언어나 폴더에만 필요한 규칙은 globs 패턴으로 범위를 한정하는 것이 효율적입니다. .cursorrules(레거시)와 .cursor/rules/를 동시에 사용하는 경우 .cursor/rules/가 우선 적용되므로, 신규 프로젝트에서는 .cursor/rules/ 방식을 권장합니다.