Skip to content

Commit a57b55e

Browse files
authored
Merge pull request #34 from EntryDSM/main
sync develop with main
2 parents d100891 + 23ac650 commit a57b55e

1 file changed

Lines changed: 101 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Contributing Guidelines
2+
3+
4+
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
5+
6+
Please note we have a code of conduct, please follow it in all your interactions with the project.
7+
8+
---
9+
## 1. Issue
10+
새로운 제안이나 버그 발견 시 이슈를 먼저 생성해주세요.
11+
12+
**Issue 탬플릿 사용:**
13+
`.github/ISSUE_TEMPLATE`하위 템플릿과 연계하여 작성해주세요.
14+
15+
| Issue Type | About |
16+
|---------------|-------------------------------------------|
17+
| bug | Internal bug report |
18+
| chore | Maintenance or housekeeping task |
19+
| documentation | Documentation update or request |
20+
| enhancement | Improvement to an existing feature |
21+
| feature | New feature request |
22+
| incident | Production incident / service outage |
23+
| postmortem | Incident postmortem / root cause analysis |
24+
| question | Internal technical question |
25+
26+
### **상세 기록**
27+
Summary를 작성하고, 이슈 유형에 맞게 필요한 내용을 추가로 작성해주세요.
28+
- bug의 경우 재현 방법(Steps to Reproduce)과 기대 결과(Expected Result), 실제 결과(Actual Result)를 상세히 작성해주세요.
29+
30+
---
31+
## 2. Branch Strategy (Issue-based Workflow)
32+
모든 브랜치는 생성된 이슈를 기반으로 생성하며, `develop` 브랜치에서 분기합니다.
33+
34+
**브랜치 생성 규칙**: `prefix/(이슈 번호)-Summary`
35+
36+
prefix는 Issue Type과 같습니다.
37+
38+
---
39+
40+
## 3. Commit Convention
41+
커밋 메시지는 다음과 같은 형식을 사용합니다:
42+
`Type(Scope): Summary (Issue No)`
43+
44+
| Type | About |
45+
|-----------------|-----------------------------------|
46+
| **feat** | 새로운 기능 추가 |
47+
| **fix** | 버그 수정 |
48+
| **enhancement** | 기존 기능의 향상 및 개선 |
49+
| **docs** | 문서 수정 (README, 가이드 등) |
50+
| **chore** | 빌드 업무 수정, 패키지 매니저 설정 등 (코드 수정 없음) |
51+
| **hotfix** | 긴급한 버그 수정 |
52+
| **test** | 테스트 코드 추가 및 수정 |
53+
| **refactor** | 코드 리팩토링 (기능 변화 없음) |
54+
55+
| Scope | About |
56+
|---------------|------------------|
57+
| contracts | 컨트랙트 관련 작업 |
58+
| documents | 일반 문서 관련 작업 |
59+
| packages | 패키지 및 모듈 관련 작업 |
60+
| admission | 입학 서비스 관련 작업 |
61+
| analytics | 분석 서비스 관련 작업 |
62+
| application | 지원서 서비스 관련 작업 |
63+
| document | 특정 문서 파일 관련 작업 |
64+
| evaluation | 평가 서비스 관련 작업 |
65+
| gateway | 게이트웨이 관련 작업 |
66+
| identity | 인증 및 신원 관리 관련 작업 |
67+
| notification | 알림 서비스 관련 작업 |
68+
| observability | 모니터링 및 관측성 관련 작업 |
69+
| schedule | 스케줄 서비스 관련 작업 |
70+
| infra | 인프라 관련 작업 |
71+
| ci | CI/CD 파이프라인 관련 작업 |
72+
---
73+
74+
## 4. Pull Request Process
75+
* 모든 pull request는 전부 template을 통하여 작성되어야합니다.
76+
77+
* 다음과 같은 형식으로 작성합니다: `Type(Scope): Summary (이슈 번호)`
78+
79+
* 멀티 템플릿의 경우, PR 생성했을 때의 URL 뒤에 `&template={템플릿 파일 이름}` 을 붙여줘야 합니다.
80+
(ex. `https://github.com/EntryDSM/entrydsm-platform/compare/main...documentation/branch-name?expand=1&template=documentation.md`)
81+
82+
* **PR 템플릿 사용:**
83+
`.github/PULL_REQUEST_TEMPLATE.md`하위 템플릿과 연계하여 작성해주세요.
84+
85+
* **이슈 연결:** PR 설명란에 `Closes #이슈번호`를 적어 해당 이슈가 자동으로 닫히도록 설정합니다.
86+
87+
* **리뷰 프로세스:**
88+
1. 하나 이상의 승인(Approve)이 필요합니다.
89+
2. 리뷰어의 수정 요청이 있다면 반영 후 다시 알립니다.
90+
3. 승인 완료 후 머지(Merge)를 진행합니다.
91+
92+
* **PR 시 주의사항**
93+
* 발생한 Conflict에 대해서는 PR 작성자가 해결합니다.
94+
* 가능 한 작은 크기의 PR을 제출하여 리뷰어가 쉽게 검토하도록 합니다.
95+
* 권장 PR의 크기는 다음과 같습니다:
96+
* 변경된 코드 라인 수: 200 ~ 300라인 이내
97+
* 파일 개수: 10개 이내
98+
* 리뷰 소요 시간: 리뷰어가 15 ~ 30분 이내에 전체 내용을 파악하고 피드백을 줄 수 있는 정도
99+
* 하나의 PR에는 하나의 중심 내용만 넣어야 합니다.
100+
* 기능 구현(feat), 리팩토링(refactor), 버그 수정(fix), 스타일 수정(chore) 등이 섞여있다면 무조건 분리합니다.
101+
* PR 작성 시 github 프로젝트를 선택하지 않습니다.

0 commit comments

Comments
 (0)