BetterAuth에 기여하기
Better Auth에 기여하고자 하는 관심에 감사드립니다! 이 가이드는 Better Auth에 기여하는 간결한 안내서입니다.
시작하기
본격적으로 시작하기 전에, 다음의 중요한 리소스들을 확인해주세요:
개발 환경 설정
개발을 시작하려면:
Node.JS가 설치되어 있는지 확인하세요. 가급적 LTS 버전을 사용하는 것이 좋습니다.
2. 포크한 저장소 클론하기
# YOUR-USERNAME을 당신의 GitHub 사용자명으로 변경하세요
git clone https://github.com/YOUR-USERNAME/better-auth.git
cd better-auth변경사항 만들기
기여하고 싶은 아이디어가 있다면, 변경사항을 만들기 시작할 수 있습니다. 시작하기 위한 단계는 다음과 같습니다:
1. 새 브랜치 생성하기
# main 브랜치에 있는지 확인하세요
git checkout main
# 최신 변경사항 가져오기
git pull upstream main
# 새 브랜치 생성하고 전환하기
git checkout -b feature/your-feature-name이슈 및 버그 수정
good first issue라벨이 붙은 작업을 GitHub 이슈에서 확인하세요- 버그를 보고할 때는 재현 단계와 예상 동작을 포함시키세요
- 작업하고 싶은 이슈에 댓글을 남겨 중복 작업을 피하세요
프레임워크 통합
더 많은 프레임워크를 지원하는 기여를 환영합니다:
- 가능한 한 프레임워크에 구애받지 않는 솔루션에 집중하세요
- 통합을 최소화하고 유지보수 가능하게 유지하세요
- 현재 모든 통합은 메인 패키지에 있습니다
플러그인 개발
- 핵심 플러그인의 경우: 먼저 이슈를 열어 아이디어를 논의하세요
- 커뮤니티 플러그인의 경우: 자유롭게 독립적으로 개발하세요
- 플러그인 아키텍처 가이드라인을 따르세요
문서
- 오타와 오류를 수정하세요
- 예제를 추가하고 기존 내용을 명확하게 하세요
- 문서가 코드 변경사항과 최신 상태를 유지하도록 하세요
테스트
테스트를 위해 Vitest를 사용합니다. 테스트 파일은 테스트할 소스 파일 옆에 배치하세요:
import { describe, it, expect } from "vitest";
import { getTestInstance } from "./test-utils/test-instance";
describe("Feature", () => {
it("should work as expected", async () => {
const { client } = await getTestInstance();
// 여기에 테스트 코드를 작성하세요
expect(result).toBeDefined();
});
});테스트 인스턴스 헬퍼 사용하기
테스트 인스턴스 헬퍼는 이제 사용자 세션 관리를 위한 개선된 비동기 컨텍스트 지원을 포함합니다:
const { client, runWithUser, signInWithTestUser } = await getTestInstance();
// 특정 사용자 컨텍스트로 테스트 실행
await runWithUser("user@example.com", "password", async (headers) => {
// 이 블록 내의 모든 client 호출은 사용자의 세션을 사용합니다
const response = await client.getSession();
// headers가 자동으로 적용됩니다
});
// 또는 비동기 컨텍스트로 테스트 사용자 사용
const { runWithDefaultUser } = await signInWithTestUser();
await runWithDefaultUser(async (headers) => {
// 여기의 코드는 테스트 사용자의 세션 컨텍스트로 실행됩니다
});테스트 모범 사례
- 명확한 커밋 메시지를 작성하세요
- 변경사항을 반영하도록 문서를 업데이트하세요
- 새로운 기능에 대한 테스트를 추가하세요
- 코딩 표준을 따르세요
- 풀 리퀘스트를 단일 변경사항에 집중하도록 유지하세요
도움이 필요하신가요?
도움을 요청하는 것을 주저하지 마세요! 다음과 같이 할 수 있습니다:
Better Auth에 기여해주셔서 감사합니다!