Instruction file imported from akh820/health-above-all (
.cursor/rules/my-skill.mdc). Copyright stays with the author.
1. 가독성과 명확성
- 변수명과 함수명은 의미를 명확히 표현해야 한다
- ❌
let d = new Date() - ✅
let currentDate = new Date()
- ❌
- 한 함수는 하나의 기능만 담당해야 한다
- 복잡한 로직은 주석으로 설명을 추가한다
- 매직 넘버 대신 상수를 사용한다
2. 일관성 유지
- 들여쓰기와 코딩 스타일을 프로젝트 전체에서 일관되게 유지한다
- 네이밍 컨벤션을 정하고 지킨다 (camelCase, snake_case 등)
- 파일과 폴더 구조를 논리적으로 구성한다
3. 에러 처리
- 모든 외부 API 호출과 파일 작업에는 에러 처리를 추가한다
- 사용자에게 의미 있는 에러 메시지를 제공한다
- 예상 가능한 예외 상황을 미리 처리한다
🔧 개발 프로세스
4. 버전 관리
- 커밋 메시지는 Conventional Commits 규칙을 한글로 작성한다
- ✅ "feat: 로그인 폼 유효성 검사 추가"
- ✅ "fix: Vercel 배포 오류 해결"
- ✅ "style: 버튼 디자인 개선"
- ✅ "docs: README 파일 업데이트"
- ✅ "refactor: 사용자 인증 로직 개선"
- ✅ "test: 로그인 컴포넌트 테스트 추가"
- ❌ "기능: 로그인 추가" (영어 타입 사용 필수)
- ❌ "수정" (타입과 구체적 내용 누락)
- 커밋 메시지 형식: "type: 한글로 구체적인 변경 내용"
- feat: 새로운 기능 추가
- fix: 버그 수정
- docs: 문서 변경
- style: 코드 스타일 변경 (포맷팅, 세미콜론 등)
- refactor: 코드 리팩토링
- test: 테스트 코드 추가/수정
- chore: 빌드 프로세스, 패키지 매니저 설정 등
- 작은 단위로 자주 커밋한다
- 기능별로 브랜치를 나누어 작업한다
- develop → main 순서로 병합하여 배포한다
5. 테스트와 검증
- 코드 작성 후 반드시 테스트한다
- 엣지 케이스도 고려하여 테스트한다
- 다른 사람이 내 코드를 이해할 수 있는지 확인한다
6. 문서화
- README 파일에 프로젝트 설명과 실행 방법을 명시한다
- 복잡한 함수나 클래스에는 JSDoc 등으로 문서를 작성한다
- API 명세서를 작성하고 업데이트한다
🚀 성능과 보안
7. 성능 고려사항
- 불필요한 반복문과 중첩을 피한다
- 데이터베이스 쿼리를 최적화한다
- 이미지와 파일 크기를 적절히 관리한다
8. 보안 기본사항
- 사용자 입력값은 항상 검증하고 sanitize한다
- 민감한 정보(API 키, 비밀번호)는 환경변수로 관리한다
- SQL 인젝션과 XSS 공격을 방지한다
🤝 협업과 소통
9. 코드 리뷰
- 코드 리뷰를 적극적으로 요청하고 받아들인다
- 다른 사람의 코드를 이해하려고 노력한다
- 건설적인 피드백을 주고받는다
10. 학습과 성장
- 모르는 것은 부끄러워하지 말고 질문한다
- 새로운 기술을 학습할 때는 작은 프로젝트로 연습한다
- 코드 작성 전에 설계를 먼저 생각한다