본문으로 건너뛰기

기여 가이드라인

KnowledgePulse에 기여해 주셔서 감사합니다. 이 문서에서는 프로젝트의 코드 스타일, 테스트 기대치, 풀 리퀘스트 프로세스를 다룹니다.

코드 스타일

  • 포매터 및 린터: Biome가 포매팅과 린팅을 모두 처리합니다. PR 제출 전에 bun run lint를 실행하세요.
  • TypeScript: 모든 패키지에서 엄격 모드가 활성화되어 있습니다. 외부 입력의 런타임 유효성 검사에는 Zod v3을 사용하세요.
  • 가져오기: 명시적 이름 가져오기를 선호합니다. 와일드카드(*) 가져오기는 피하세요.

테스트

  • 프레임워크: bun:test (Bun 내장).
  • 파일 배치: 테스트 파일은 소스 파일과 함께 배치합니다. *.test.ts 접미사를 사용합니다.
  • 스키마 변경: Zod 스키마나 KnowledgeUnit 구조의 변경에는 마이그레이션 함수와 라운드트립 테스트가 필수입니다.

풀 리퀘스트 프로세스

  1. 리포지토리를 포크하고 main에서 기능 브랜치를 생성합니다.
  2. 변경 사항을 구현합니다.
  3. 변경 사항을 커버하는 테스트를 작성하거나 업데이트합니다.
  4. 전체 테스트 스위트를 실행합니다: bun test --recursive
  5. 코드를 린트합니다: bun run lint
  6. main에 대한 풀 리퀘스트를 제출합니다.

커밋 메시지

Conventional Commits 스타일을 따릅니다:

<type>(<scope>): <short summary>
타입사용 시점
feat새 기능 또는 능력.
fix버그 수정.
docs문서만 변경.
refactor동작 변경 없는 코드 구조 변경.
test테스트 추가 또는 업데이트.
chore빌드 구성, CI, 도구 변경.

라이선스

모든 기여는 프로젝트의 나머지와 일치하는 Apache 2.0으로 라이선스됩니다.