# Cursor Rules for book_cover_maker

## Git Commit Messages (한국어)

### 커밋 메시지 작성 시 주의사항 (중요!)

**Windows 환경에서 한글 커밋 메시지를 안전하게 저장하는 방법:**

1. **절대 터미널에서 직접 -m 옵션으로 한글 입력하지 말 것**
   - `git commit -m "한글 메시지"` ❌ (인코딩 깨짐 위험)
   
2. **텍스트 파일을 사용하여 커밋**
   - 커밋 메시지를 UTF-8로 저장된 파일로 작성
   - `git commit -F path/to/commit-msg.txt` ✅
   
3. **단계별 프로세스:**
   ```
   1. 메시지를 파일로 저장 (UTF-8)
   2. git add .
   3. git commit -F commit-msg.txt
   4. git push
   ```

4. **인코딩 설정 확인**
   - `git config --global i18n.commitEncoding utf-8`
   - `git config --global i18n.logOutputEncoding utf-8`

5. **이미 깨진 경우 수정 방법**
   - `git commit --amend -F corrected-msg.txt`
   - `git push --force` (주의: shared branch에서는 협의 후)

### 커밋 메시지 포맷

```
<type>: <subject>

<body>

<footer>
```

#### Type 접두사
- `feat` - 새로운 기능
- `fix` - 버그 수정
- `docs` - 문서 변경
- `style` - 코드 포맷 수정
- `refactor` - 리팩토링
- `perf` - 성능 개선
- `test` - 테스트 코드
- `chore` - 기타 작업(빌드, 패키지 등)
- `ci` - CI/CD 관련
- `merge` - 브랜치 병합
- `init` - 초기 세팅
- `hotfix` - 긴급 수정
- `release` - 릴리즈

#### 예시
```bash
# 잘못된 방법
git commit -m "fix: 버그 수정"

# 올바른 방법
echo "fix: 버그 수정" > msg.txt
git commit -F msg.txt
```

## 일반 규칙

- Always respond in Korean
- Python 코드 스타일: black, isort 준수
- 타입 힌팅 사용 권장
- 문서화: 모든 public 함수/클래스에 docstring 작성

