기여하기

기여하기 (Contributing)

환영합니다! 기여에 관심을 가져주셔서 감사합니다.

LangChain은 생성형 AI 분야에서 가장 큰 개발자 커뮤니티를 형성하는 데 기여했으며, 항상 새로운 기여자를 환영합니다. 버그를 수정하든, 기능을 추가하든, 문서를 개선하든, 피드백을 공유하든, 여러분의 참여는 LangChain과 LangGraph를 모두에게 더 좋게 만드는 데 도움이 됩니다 🦜❤️

출처: 문서

본문

기여 방법

버그 신고하기:

  1. 검색 — 해당 저장소의 GitHub Issues에 이슈가 이미 있는지 확인하세요:
  2. 이슈 생성 — 이슈가 없으면 새 이슈를 만드세요. 작성할 때는 제공된 템플릿을 따르고 최소한의 재현 가능한 예시를 포함하세요. 생성된 최종 이슈에 관련 라벨을 붙이세요. 프로젝트 메인테이너가 이슈를 재현할 수 없으면 시기적절하게 처리될 가능성이 낮습니다.
  3. 대기 — 프로젝트 메인테이너가 이슈를 트리아지하고 추가 정보를 요청할 수 있습니다. 많은 이슈를 처리하고 있으니 인내심을 가져주세요. 새로운 정보가 없으면 이슈를 끌어올리지(bump) 마세요.

이슈를 추가할 때는 단일 주제에 집중하세요. 두 이슈가 관련되거나 차단 관계라면 결합하는 대신 연결하세요. 예를 들어:

This issue is blocked by #123 and related to #456.

기능 제안하기:

  1. 검색 — 해당 저장소의 이슈에서 기존 기능 요청을 검색하세요:
  2. 논의 — 요청이 없으면 관련 카테고리 아래에서 새 디스커션을 시작하여 프로젝트 메인테이너와 커뮤니티가 피드백할 수 있게 하세요.
  3. 설명 — 사용 사례와 다른 사람들에게 왜 가치가 있는지 설명하세요. 가능하면 예시나 목업을 제공하고, 통과해야 할 테스트 케이스를 개략적으로 설명하세요.

문서 개선하기: 문서 개선은 언제나 환영합니다! 문서를 명확하고 포괄적으로 유지하기 위해 노력하며, 여러분의 관점이 큰 차이를 만들 수 있습니다.

코드 기여하기: 사용자 기반이 크기 때문에 작은 팀이 모든 기능 요청과 버그 수정을 따라잡기는 어렵습니다. 기술과 시간이 있다면 도움을 주시면 감사하겠습니다!

이슈 작업을 시작하면 스스로에게 할당하거나 메인테이너에게 요청하세요. 이는 중복 작업을 방지하는 데 도움이 됩니다.

작업할 거리를 찾고 있다면 저장소에서 "help wanted" 라벨 이슈를 확인하세요:

새 통합 구축하기: 누구나 자신만의 LangChain 통합 패키지를 구축하고 게시할 수 있습니다. 새 통합은 langchain-ai 저장소에 PR로 받지 않습니다 — PyPI나 npm에 독립적으로 게시해야 합니다.

이슈 및 풀 리퀘스트 요건

오타나 작은 수정은 이슈나 사전 메인테이너 승인, 할당 없이 직접 풀 리퀘스트를 제출할 수 있습니다.

**새 튜토리얼, 가이드, 개념 페이지 같은 더 큰 변경은 풀 리퀘스트를 열기 전에 연결된 이슈와 메인테이너 승인이 필요합니다.** 메인테이너가 접근 방식을 승인하고 이슈를 할당할 때까지 기다리세요. 승인과 할당 전에 열린 더 큰 PR은 자동으로 닫힐 수 있으며 할당될 때까지 검토되지 않습니다.

모든 풀 리퀘스트는 의미 있는 노력과 맥락적 이해를 보여야 합니다. 풀 리퀘스트를 만드는 데 필요한 노력이 메인테이너가 검토하는 데 필요한 노력보다 적다면 그 기여는 제출해서는 안 됩니다. 저노력 드라이브바이 기여는 어떻게 만들어졌든 관계없이 종종 맥락적 관련성, 정확성, 품질 측면에서 부족합니다. 대규모 자동화 기여는 우리의 인간 노력에 대한 서비스 거부 공격을 나타냅니다.

**실제 사용에 기반한 이슈를 우선시합니다.** 이슈 보드는 메인테이너 주의를 배분하는 메커니즘입니다. 정적으로 발견 가능한 모든 결함의 포괄적인 카탈로그가 아닙니다. 먼저 직접 검증하고 LangChain 공개 API의 실제 사용에 근거하지 않고 (AI) 코드 스캐닝으로 발견된 이슈를 제출하지 마세요. 메인테이너가 이슈가 검증되지 않았다고 의심하면 검토 없이 닫을 수 있고, 작성 계정이 차단될 수 있습니다.

모든 외부 풀 리퀘스트에 대해 다음 요건이 충족되어야 합니다:

  • 더 큰 변경의 경우, PR을 열기 전에 메인테이너가 접근 방식을 승인하고 할당한 이슈에 연결하세요. 오타와 작은 수정은 이 요건에서 면제됩니다.
  • 풀 리퀘스트는 저장소의 풀 리퀘스트 템플릿을 채워야 합니다.
  • 순 신기능이나 동작을 바꾸는 버그 수정의 풀 리퀘스트는 사용자에게 보이는 변경을 릴리스 노트용 언어로 설명하는 ## Release note 섹션을 포함해야 합니다.

이 요건이 충족되지 않으면 메인테이너는 코멘트 없이 PR을 닫을 권리를 보유합니다. 저노력 스팸으로 보이는 풀 리퀘스트와 이슈는 닫을 것입니다.

언어 정책

모든 기여 — 이슈, 풀 리퀘스트, 코드 리뷰, 논의 — 는 영어로 이루어져야 합니다. 이는 전 세계 기여자 기반에서 커뮤니케이션을 접근 가능하고 검색 가능하게 유지합니다.

영어가 모국어가 아니어도 걱정하지 마세요. 완벽한 문법보다 명확한 커뮤니케이션을 중요시하며, 번역 도구를 환영합니다.

LLM의 허용 가능한 사용

모든 변경을 검증한다면 AI 어시스턴트를 사용해 기여 작성을 도울 수 있습니다: 코드를 실행하고 테스트하며, 코드베이스와 공식 프로바이더 문서에 대해 사실을 확인하고, 결과가 저장소 스타일과 일치하는지 확인하세요. 대량의 검토되지 않은 생성 콘텐츠를 제출하지 마세요. 어떻게 만들어졌든 저노력이나 스팸으로 읽히는 풀 리퀘스트는 닫습니다.

더 알아보기