본문으로 건너뛰기

기여하기

한국어 | English

안녕하세요! 기여에 관심을 가져주셔서 감사합니다.

바나나 프레임워크는 문서, 웹사이트, 코드 개발 뿐만 아니라, 바나나 프레임워크를 통한 백준, 코드포스 문제 풀이 및 해설 등 다양한 방면에서 커뮤니티의 기여를 받고 있습니다. 바나나 프레임워크 리포지토리에 다음과 같은 형태로 기여하실 수 있습니다.

  1. 문서 기여: '바나나 프레임워크를 이용한 백준, 코드포스 문제 풀이 및 해설', '바나나 프레임워크 웹사이트 문서', 'README.md' 등.
  2. 웹사이트 기여: '웹사이트 디자인', '버그 수정', '기능 제안' 등.
  3. 코드 기여: '코드 커버리지를 채우지 못한 부분에 대한 테스트 코드 추가', '버그 수정', '기능 제안' 등.

프로젝트 전반에 걸쳐 준수해야 하는 기본 규칙은 아래와 같습니다.

  • 마크다운 문서(**/*.md)를 제외한 모든 코드 및 내부 주석들은 반드시 영문으로 작성해야 합니다.
  • LICENSE.mdCHANGELOG.md를 제외한 모든 마크다운 문서들은 반드시 한글 문서(.md)와 영문 문서(.en.md) 2가지 종류를 작성해야 합니다.

문서 기여

바나나 프레임워크의 문서를 읽다 오탈자를 발견하셨다면, 수정 후 끌어오기 요청Pull Request을 보내주세요. 직접 수정이 어려우시다면, 이슈Issue를 작성하여 오탈자를 알려주시는 것만으로도 큰 도움이 됩니다.

바나나 프레임워크의 문서가 이해하기 어렵다고 느껴지신다면, 내용을 보다 명확하게 수정하거나 보완해주세요. 이는 많은 사용자들이 공통으로 겪는 불편함일 수 있습니다.

또한, 미번역된 문서 번역 등을 통해 더 넓은 커뮤니티에 도움을 주세요. 바나나 프레임워크는 한글과 영문 문서를 모두 지원하고 있어, 여러분의 기여를 통해 더 많은 사람들이 바나나 프레임워크를 이용할 수 있습니다.

프로젝트 구조

바나나 프레임워크는 npm workspaceslerna를 이용한 모노레포monorepo 구조로 구성되어 있습니다.

  • 핵심 패키지인 bananass 패키지는 packages/bananass 폴더에 위치합니다.
  • 그 외 패키지들도 packages 폴더 하위에 위치하고 있습니다.
  • README.md, CONTRIBUTING.md 등의 커뮤니티 문서들은 프로젝트의 최상단에 위치합니다.
  • 바나나 프레임워크 웹사이트 상의 문서들은 websites/vitepress/kowebsites/vitepress/en 폴더에 각각 위치하고 있습니다.

커밋 메시지

바나나 프레임워크는 모든 끌어오기 요청Pull Request의 제목에 Conventional Commits 규칙을 준수하고 있습니다.

설치하기

  1. 저장소를 포크Fork합니다.

  2. 로컬 디렉터리로 클론Clone합니다. (Git이 필요합니다.)

    sh
    git clone https://github.com/lumirlumir/npm-bananass.git
  3. npm-bananass 디렉터리로 이동합니다.

    sh
    cd npm-bananass
  4. npm 패키지를 설치합니다. (Node.js가 필요합니다.)

    sh
    npm install
  5. 문서 혹은 코드를 수정합니다.

  6. 새로운 분기Branch를 생성합니다.

    sh
    git switch -c my-branch
  7. 변경 사항을 커밋합니다. (huskylint-staged가 수정한 파일을 자동으로 포맷팅합니다.)

    sh
    git commit -am "<type>[optional scope]: <description>"
  8. 원격 브랜치에 푸시Push합니다.

  9. 끌어오기 요청Pull Request을 생성합니다.