# Nuxt 프로젝트 — Cursor 규칙 ## 언어 - 사용자와의 대화·설명·커밋 메시지 본문은 **한국어**를 사용한다. ## Git 커밋 메시지 (필수) - **제목은 한 줄**, [Conventional Commits](https://www.conventionalcommits.org/) + **이모지**를 함께 쓴다. - 형식: `<이모지> : <한글 설명>` (이모지·타입·콜론 뒤 공백 한 칸) - **설명(제목 본문)은 반드시 한글**로 작성한다. 영어 제목만 단독으로 쓰지 않는다. - **명령형** 어조 (`추가`, `수정` — `추가됨`, `수정함` 지양). - **첫 줄(제목)은 72자 미만**을 권장한다. - **원자적 커밋**: 한 커밋에 단일 목적만 담는다. 관련 없는 변경은 분할한다. - 커밋 생성 시 **Claude·AI 서명·Co-authored-by 등 메타 서명을 본문에 넣지 않는다.** ### 커밋 생성 프로세스 (`/commit` 등 요청 시) 1. **스테이지된 파일**이 있으면 그 파일만 대상으로 커밋한다. 없으면 사용자에게 스테이징 여부를 확인한다. 2. `git diff` 등으로 **논리적 변경 덩어리**를 분석한다. 3. 타입이 섞였거나 관심사가 다르면 **분할 커밋**을 제안한다. 4. 아래 **이모지 맵**과 타입에 맞춰 제목을 만든다. ### 타입 (type) | type | 용도 | |------|------| | `feat` | 새 기능 | | `fix` | 버그 수정 | | `docs` | 문서 | | `style` | 포맷팅·세미콜론 등 의미 없는 스타일 | | `refactor` | 리팩터링 | | `perf` | 성능 개선 | | `test` | 테스트 | | `chore` | 빌드·도구·잡무 | | `ci` | CI | | `build` | 빌드 시스템·번들러 | ### 이모지 맵 (타입·맥락에 맞게 선택) ✨ feat | 🐛 fix | 📝 docs | 💄 style | ♻️ refactor | ⚡ perf | ✅ test | 🔧 chore | 🚀 ci | 🚨 warnings | 🔒️ security | 🚚 move | 🏗️ architecture | ➕ add-dep | ➖ remove-dep | 🌱 seed | 🧑‍💻 dx | 🏷️ types | 👔 business | 🚸 ux | 🩹 minor-fix | 🥅 errors | 🔥 remove | 🎨 structure | 🚑️ hotfix | 🎉 init | 🔖 release | 🚧 wip | 💚 ci-fix | 📌 pin-deps | 👷 ci-build | 📈 analytics | ✏️ typos | ⏪️ revert | 📄 license | 💥 breaking | 🍱 assets | ♿️ accessibility | 💡 comments | 🗃️ db | 🔊 logs | 🔇 remove-logs | 🙈 gitignore | 📸 snapshots | ⚗️ experiment | 🚩 flags | 💫 animations | ⚰️ dead-code | 🦺 validation | ✈️ offline ### 분할 제안 기준 - 서로 다른 **관심사**가 한 diff에 섞인 경우 - **타입**이 혼합된 경우 (예: `feat` + `fix`) - **파일 패턴**이 완전히 다른 영역(예: 앱 코드 vs 인프라만)인 경우 - **변경량이 크고** 커밋 단위로 나눌 수 있는 경우 ### 예시 - `✨ feat: 로그인 폼 유효성 검사 추가` - `♻️ refactor: 사용자 API 호출 로직을 composable로 분리` - `🐛 fix: 모바일에서 헤더가 겹치는 문제 수정` ### 본문이 필요할 때 - 제목 아래 빈 줄 후 본문을 한글 bullet 또는 문단으로 적는다. ## 코드·작업 방식 - 요청 범위 밖의 리팩터·포맷 일괄 변경·무관 파일 수정을 하지 않는다. - 기존 코드의 네이밍, import 스타일, 타입·주석 수준에 맞춘다. - 변경 이유가 드러나는 **작고 집중된 diff**를 선호한다. ## Cursor 사용 시 - 파일을 수정하기 전에 관련 맥락(주변 코드·설정)을 읽고 일관되게 맞춘다. - 사용자가 명시적으로 요청하지 않은 README·문서 파일은 새로 쓰거나 크게 늘리지 않는다.