기여하기
Potato에 기여하세요 — 개발 환경을 설정하고, 테스트 스위트를 실행하고, 풀 리퀘스트를 제출하고, 버그를 신고하고, 오픈 소스 어노테이션 도구를 위한 문서를 작성합니다.
Potato는 완전한 오픈 소스이며 커뮤니티의 기여를 환영합니다. 이 가이드는 효과적으로 기여하는 방법을 설명합니다.
시작하기
사전 요구 사항
- Python 3.7+
- Git
- GitHub 계정
개발 환경 설정하기
-
GitHub에서 저장소를 포크합니다
-
포크한 저장소를 클론합니다:
bashgit clone https://github.com/YOUR_USERNAME/potato.git cd potato -
의존성을 설치합니다:
bashpip install -r requirements.txt pip install -r requirements-test.txt # For running tests -
모든 것이 제대로 작동하는지 확인하기 위해 테스트를 실행합니다:
bashpytest
기여하는 방법
버그 신고하기
버그를 발견하셨나요? 다음 내용을 담아 이슈를 등록합니다:
- 명확하고 설명적인 제목
- 문제를 재현하는 단계
- 예상 동작과 실제 동작
- 사용 환경 (Python 버전, 운영 체제, 관련이 있다면 브라우저)
- 가능하다면 오류 메시지나 로그
기능 제안하기
개선 아이디어가 있으신가요? 다음 내용을 설명하여 기능 요청을 등록합니다:
- 해결하려는 문제
- 제안하는 해결책
- 이것이 다른 사용자에게 도움이 되는 이유
코드 제출하기
-
변경 사항을 위한 브랜치를 생성합니다:
bashgit checkout -b feature/your-feature-name -
코딩 표준을 따라 변경 사항을 작성합니다
-
새 기능에 대한 테스트를 작성합니다
-
테스트 스위트를 실행합니다:
bashpytest tests/unit/ -v # Fast unit tests pytest tests/server/ -v # Integration tests -
설명적인 메시지와 함께 변경 사항을 커밋합니다:
bashgit commit -m "Add feature: brief description of changes" -
포크한 저장소에 푸시합니다:
bashgit push origin feature/your-feature-name -
GitHub에서 풀 리퀘스트를 엽니다
코딩 표준
Python 스타일
- PEP 8 스타일 가이드라인을 따릅니다
- 의미 있는 변수명과 함수명을 사용합니다
- 공개 함수와 클래스에 docstring을 추가합니다
- 함수를 집중적이고 적절한 크기로 유지합니다
문서화
기능을 추가하거나 수정할 때:
docs/디렉터리의 관련 문서를 업데이트합니다project-hub/simple_examples/에 예제 설정을 추가하거나 업데이트합니다- 복잡한 로직에는 인라인 주석을 포함합니다
테스트
- 새 기능과 버그 수정에 대한 테스트를 작성합니다
- 단위 테스트는
tests/unit/에 둡니다 - 통합 테스트는
tests/server/에 둡니다 - PR을 제출하기 전에 모든 테스트가 통과하는지 확인합니다
문서화 가이드라인
모든 주요 기능에는 다음이 포함되어야 합니다:
-
관리자 문서 (
docs/):- 설정 옵션과 기본값
- YAML 예제
- 문제 해결 팁
-
예제 프로젝트 (
project-hub/simple_examples/):- 작동하는 설정 파일
- 샘플 데이터 파일
- 복잡한 경우 README
문서 스타일
- 올바른 YAML 구문을 사용합니다 (JSON 스타일이 아님)
- 완전하고 실행 가능한 예제를 포함합니다
- 관련 문서를 상호 참조합니다
- UI 기능에는 스크린샷을 추가합니다
풀 리퀘스트 가이드라인
제출하기 전에
- 테스트가 로컬에서 통과합니다 (
pytest) - 코드가 프로젝트 스타일을 따릅니다
- 문서가 업데이트되었습니다
- 커밋 메시지가 명확합니다
- 브랜치가 main과 최신 상태입니다
PR 설명
다음을 포함합니다:
- PR이 하는 일
- 변경이 필요한 이유
- 변경 사항을 테스트하는 방법
- UI 변경에 대한 스크린샷
개발 로드맵
현재 개발 우선순위:
- 향상된 UI/UX 개선
- 추가 어노테이션 스키마 유형
- 더 나은 AI 통합 옵션
- 성능 최적화
- 문서 개선
도움 받기
- 문서: Potato 문서
- 이슈: GitHub Issues
- 토론: GitHub Discussions
행동 강령
모든 상호작용에서 존중하고 건설적인 태도를 유지해 주세요. 우리는 모두 Potato를 더 좋게 만들기 위해 여기 있습니다.
라이선스
Potato에 기여함으로써, 귀하의 기여가 프로젝트의 기존 라이선스에 따라 라이선스된다는 데 동의하는 것입니다.
Potato에 기여해 주셔서 감사합니다!
자세한 내용은 원본 문서를 참고하세요.