기여하기
한국어 | English
안녕하세요! 기여에 관심을 가져주셔서 감사합니다.
바나나 프레임워크는 문서, 웹사이트, 코드 개발 뿐만 아니라, 바나나 프레임워크를 통한 백준, 코드포스 문제 풀이 및 해설 등 다양한 방면에서 커뮤니티의 기여를 받고 있습니다. 바나나 프레임워크 리포지토리에 다음과 같은 형태로 기여하실 수 있습니다.
- 문서 기여: '바나나 프레임워크를 이용한 백준, 코드포스 문제 풀이 및 해설', '바나나 프레임워크 웹사이트 문서', '
README.md
' 등. - 웹사이트 기여: '웹사이트 디자인', '버그 수정', '기능 제안' 등.
- 코드 기여: '코드 커버리지를 채우지 못한 부분에 대한 테스트 코드 추가', '버그 수정', '기능 제안' 등.
프로젝트 전반에 걸쳐 준수해야 하는 기본 규칙은 아래와 같습니다.
- 마크다운 문서(
**/*.md
)를 제외한 모든 코드 및 내부 주석들은 반드시 영문으로 작성해야 합니다. LICENSE.md
및CHANGELOG.md
를 제외한 모든 마크다운 문서들은 반드시 한글 문서(.md
)와 영문 문서(.en.md
) 2가지 종류를 작성해야 합니다.
문서 기여
바나나 프레임워크의 문서를 읽다 오탈자를 발견하셨다면, 수정 후 끌어오기 요청Pull Request을 보내주세요. 직접 수정이 어려우시다면, 이슈Issue를 작성하여 오탈자를 알려주시는 것만으로도 큰 도움이 됩니다.
바나나 프레임워크의 문서가 이해하기 어렵다고 느껴지신다면, 내용을 보다 명확하게 수정하거나 보완해주세요. 이는 많은 사용자들이 공통으로 겪는 불편함일 수 있습니다.
또한, 미번역된 문서 번역 등을 통해 더 넓은 커뮤니티에 도움을 주세요. 바나나 프레임워크는 한글과 영문 문서를 모두 지원하고 있어, 여러분의 기여를 통해 더 많은 사람들이 바나나 프레임워크를 이용할 수 있습니다.
프로젝트 구조
바나나 프레임워크는 npm workspaces
와 lerna
를 이용한 모노레포monorepo 구조로 구성되어 있습니다.
- 핵심 패키지인
bananass
패키지는packages/bananass
폴더에 위치합니다. - 그 외 패키지들도
packages
폴더 하위에 위치하고 있습니다. README.md
,CONTRIBUTING.md
등의 커뮤니티 문서들은 프로젝트의 최상단에 위치합니다.- 바나나 프레임워크 웹사이트 상의 문서들은
websites/vitepress/ko
및websites/vitepress/en
폴더에 각각 위치하고 있습니다.
커밋 메시지
바나나 프레임워크는 모든 끌어오기 요청Pull Request의 제목에 Conventional Commits 규칙을 준수하고 있습니다.
설치하기
저장소를 포크Fork합니다.
로컬 디렉터리로 클론Clone합니다. (Git이 필요합니다.)
shgit clone https://github.com/lumirlumir/npm-bananass.git
npm-bananass
디렉터리로 이동합니다.shcd npm-bananass
npm 패키지를 설치합니다. (Node.js가 필요합니다.)
shnpm install
문서 혹은 코드를 수정합니다.
새로운 분기Branch를 생성합니다.
shgit switch -c my-branch
변경 사항을 커밋합니다. (
husky
및lint-staged
가 수정한 파일을 자동으로 포맷팅합니다.)shgit commit -am "<type>[optional scope]: <description>"
원격 브랜치에 푸시Push합니다.
끌어오기 요청Pull Request을 생성합니다.