Skip to content

기여하기

Potato에 기여하세요 — 개발 환경을 설정하고, 테스트 스위트를 실행하고, 풀 리퀘스트를 제출하고, 버그를 신고하고, 오픈 소스 어노테이션 도구를 위한 문서를 작성합니다.

Potato는 완전한 오픈 소스이며 커뮤니티의 기여를 환영합니다. 이 가이드는 효과적으로 기여하는 방법을 설명합니다.

시작하기

사전 요구 사항

  • Python 3.7+
  • Git
  • GitHub 계정

개발 환경 설정하기

  1. GitHub에서 저장소를 포크합니다

  2. 포크한 저장소를 클론합니다:

    bash
    git clone https://github.com/YOUR_USERNAME/potato.git
    cd potato
  3. 의존성을 설치합니다:

    bash
    pip install -r requirements.txt
    pip install -r requirements-test.txt  # For running tests
  4. 모든 것이 제대로 작동하는지 확인하기 위해 테스트를 실행합니다:

    bash
    pytest

기여하는 방법

버그 신고하기

버그를 발견하셨나요? 다음 내용을 담아 이슈를 등록합니다:

  • 명확하고 설명적인 제목
  • 문제를 재현하는 단계
  • 예상 동작과 실제 동작
  • 사용 환경 (Python 버전, 운영 체제, 관련이 있다면 브라우저)
  • 가능하다면 오류 메시지나 로그

기능 제안하기

개선 아이디어가 있으신가요? 다음 내용을 설명하여 기능 요청을 등록합니다:

  • 해결하려는 문제
  • 제안하는 해결책
  • 이것이 다른 사용자에게 도움이 되는 이유

코드 제출하기

  1. 변경 사항을 위한 브랜치를 생성합니다:

    bash
    git checkout -b feature/your-feature-name
  2. 코딩 표준을 따라 변경 사항을 작성합니다

  3. 새 기능에 대한 테스트를 작성합니다

  4. 테스트 스위트를 실행합니다:

    bash
    pytest tests/unit/ -v      # Fast unit tests
    pytest tests/server/ -v    # Integration tests
  5. 설명적인 메시지와 함께 변경 사항을 커밋합니다:

    bash
    git commit -m "Add feature: brief description of changes"
  6. 포크한 저장소에 푸시합니다:

    bash
    git push origin feature/your-feature-name
  7. GitHub에서 풀 리퀘스트를 엽니다

코딩 표준

Python 스타일

  • PEP 8 스타일 가이드라인을 따릅니다
  • 의미 있는 변수명과 함수명을 사용합니다
  • 공개 함수와 클래스에 docstring을 추가합니다
  • 함수를 집중적이고 적절한 크기로 유지합니다

문서화

기능을 추가하거나 수정할 때:

  1. docs/ 디렉터리의 관련 문서를 업데이트합니다
  2. project-hub/simple_examples/예제 설정을 추가하거나 업데이트합니다
  3. 복잡한 로직에는 인라인 주석을 포함합니다

테스트

  • 새 기능과 버그 수정에 대한 테스트를 작성합니다
  • 단위 테스트는 tests/unit/에 둡니다
  • 통합 테스트는 tests/server/에 둡니다
  • PR을 제출하기 전에 모든 테스트가 통과하는지 확인합니다

문서화 가이드라인

모든 주요 기능에는 다음이 포함되어야 합니다:

  1. 관리자 문서 (docs/):

    • 설정 옵션과 기본값
    • YAML 예제
    • 문제 해결 팁
  2. 예제 프로젝트 (project-hub/simple_examples/):

    • 작동하는 설정 파일
    • 샘플 데이터 파일
    • 복잡한 경우 README

문서 스타일

  • 올바른 YAML 구문을 사용합니다 (JSON 스타일이 아님)
  • 완전하고 실행 가능한 예제를 포함합니다
  • 관련 문서를 상호 참조합니다
  • UI 기능에는 스크린샷을 추가합니다

풀 리퀘스트 가이드라인

제출하기 전에

  • 테스트가 로컬에서 통과합니다 (pytest)
  • 코드가 프로젝트 스타일을 따릅니다
  • 문서가 업데이트되었습니다
  • 커밋 메시지가 명확합니다
  • 브랜치가 main과 최신 상태입니다

PR 설명

다음을 포함합니다:

  • PR이 하는 일
  • 변경이 필요한 이유
  • 변경 사항을 테스트하는 방법
  • UI 변경에 대한 스크린샷

개발 로드맵

현재 개발 우선순위:

  1. 향상된 UI/UX 개선
  2. 추가 어노테이션 스키마 유형
  3. 더 나은 AI 통합 옵션
  4. 성능 최적화
  5. 문서 개선

도움 받기

행동 강령

모든 상호작용에서 존중하고 건설적인 태도를 유지해 주세요. 우리는 모두 Potato를 더 좋게 만들기 위해 여기 있습니다.

라이선스

Potato에 기여함으로써, 귀하의 기여가 프로젝트의 기존 라이선스에 따라 라이선스된다는 데 동의하는 것입니다.


Potato에 기여해 주셔서 감사합니다!

자세한 내용은 원본 문서를 참고하세요.