프롬써치 FE 팀 협업 규칙입니다. PR 전에 한 번 읽어주세요.
nvm use # .nvmrc 의 Node 버전 사용 (20.19.5)
corepack enable # pnpm 활성화
pnpm install # 의존성 설치 (+ husky 훅 자동 설치)
pnpm dev # 개발 서버VSCode를 쓰면 권장 확장(Prettier / ESLint / Tailwind / EditorConfig) 설치 안내가 떠요. 설치하면 저장 시 자동 포맷됩니다.
main은 배포 가능한 안정 브랜치입니다. (보호됨)develop은 통합 브랜치이자 기본 브랜치입니다. (보호됨)main/develop에 직접 push 하지 않습니다. 모든 변경은 브랜치 → PR → 머지.- 작업은
develop에서 새 브랜치를 따서 진행합니다.
type/PS-<노션티켓번호> # 예: feat/PS-12
type/#<이슈번호> # 예: fix/#34
type은 아래 커밋 타입과 동일하게 사용합니다 (feat,fix,refactor...).⚠️ 브랜치는 처음부터 올바른 이름으로 만드세요. PR을 연 뒤 브랜치명을 바꾸면 GitHub이 그 PR을 닫아버립니다.
이슈와 PR 제목은 동일하게, 아래 형식으로 작성합니다.
[<type>/PS-<티켓번호>] <작업 내용>
예)
[feat/PS-12] 로그인 모달 추가
[docs/PS-1] 프로젝트 README 작성
[fix/PS-34] 카드 impression 중복 카운트 수정
- 하나의 작업은 이슈 → 같은 제목의 PR 로 이어집니다.
<type>은 아래 커밋 타입과 동일.
⚙️ 자동 검사됨 — 형식이 틀리면 커밋이 거부됩니다 (husky
commit-msg+ commitlint).
[<type>/PS-<티켓번호>] <작업 내용>
예)
[feat/PS-12] 로그인 모달 추가
[docs/PS-1] 프로젝트 README 작성
[fix/PS-34] 카드 impression 중복 카운트 수정
- 대괄호 안은 브랜치명과 같은
type/PS-번호형식을 사용합니다. - 대괄호 뒤에 공백 한 칸, 제목은 한국어 OK, 끝에 마침표 금지.
- 제목은 "무엇을 했는지" 명령형으로 간결하게.
| type | 설명 |
|---|---|
feat |
새로운 기능 |
fix |
버그 수정 |
refactor |
리팩토링 (기능 변화 없음) |
design |
UI / 스타일 |
docs |
문서 |
test |
테스트 추가/수정 |
chore |
설정 · 빌드 · 기타 |
setup |
프로젝트 환경 설정 |
style |
포맷/세미콜론 등 (코드 의미 변화 X) |
perf |
성능 개선 |
ci |
CI 설정 |
revert |
되돌리기 |
- PR 템플릿이 자동으로 채워집니다 — 작업 유형 체크 + 체크리스트 + 관련 이슈 + 스크린샷.
- PR 제목은 위 이슈 · PR 제목 컨벤션을 따릅니다.
- 최소 1명 이상 승인 후 머지합니다.
- 관련 이슈를 본문에 연결합니다 (
close #12). - 머지 전
pnpm lint/pnpm typecheck통과 확인. - PR을 올리면 연결된 Notion 카드(
PS-번호)가 자동으로 "진행 중" → 닫히면 "완료"로 갱신됩니다.
직접 신경 쓸 필요 없이 자동으로 맞춰집니다.
- Prettier = 서식(들여쓰기/따옴표/줄바꿈/Tailwind 클래스 정렬)
- ESLint = 코드 품질
- 저장 시 자동 적용 + 커밋 시
lint-staged가 스테이징된 파일을 자동 정리.
pnpm format # 전체 포맷
pnpm lint:fix # 린트 자동 수정
pnpm typecheck # 타입 검사