Hatcher에 기여하기
Hatcher에 기여하는 데 관심을 가져주셔서 감사합니다! 이 가이드는 프로젝트에 기여를 시작하는 데 도움이 될 것입니다.
행동 강령
이 프로젝트에 참여함으로써 우리의 행동 강령을 따를 것에 동의합니다. 기여하기 전에 읽어주세요.
시작하기
개발 설정
Fork와 Clone
bashgit clone https://github.com/your-username/dx-engine.git cd dx-engine
의존성 설치
bashpnpm install
개발 서버 시작
bashpnpm dev
프로젝트 구조
dx-engine/
├── apps/
│ ├── electron/ # 메인 Electron 프로세스
│ ├── web/ # 렌더러 프로세스 (Vue.js)
│ ├── preload/ # 프리로드 스크립트
│ └── docs/ # VitePress 문서
├── universal/
│ ├── vite-plugin/ # 커스텀 Vite 플러그인
│ └── puppeteer-google-translate/
└── scripts/ # 빌드 및 개발 스크립트
기여 방법
버그 신고
버그를 신고할 때 다음을 포함해 주세요:
- 명확한 설명: 무엇이 일어났는지 vs. 기대했던 것
- 재현 단계: 문제를 다시 만들기 위한 자세한 단계
- 환경: OS, Node.js 버전, pnpm 버전
- 스크린샷: 해당되는 경우 시각적 증거 포함
이슈를 만들 때 우리의 버그 신고 템플릿을 사용하세요.
기능 요청
기능 요청을 환영합니다! 다음을 포함해 주세요:
- 사용 사례: 이 기능이 왜 필요한가요?
- 제안된 해결책: 어떻게 작동해야 하나요?
- 대안: 어떤 다른 접근 방식을 고려했나요?
우리의 기능 요청 템플릿을 사용하세요.
코드 기여
시작하기 전에
- 기존 이슈 확인: 관련 이슈나 기능 요청을 찾아보세요
- 주요 변경사항 논의: 중요한 변경사항을 논의하기 위해 이슈를 열어주세요
- 작게 시작: 작고 집중된 기여부터 시작하세요
개발 워크플로
브랜치 생성
bashgit checkout -b feature/your-feature-name
변경사항 작성
- 우리의 코딩 표준을 따르세요 (아래 참조)
- 새로운 기능에 대한 테스트를 작성하세요
- 필요에 따라 문서를 업데이트하세요
변경사항 테스트
bashpnpm build pnpm test
변경사항 커밋
bashgit commit -m "feat: add amazing new feature"
우리는 Conventional Commits 형식을 따릅니다.
푸시 및 PR 생성
bashgit push origin feature/your-feature-name
코딩 표준
Hatcher는 전체 프로젝트에서 일관성, 유지보수성 및 고품질 코드를 보장하기 위해 엄격한 코딩 표준을 따릅니다.
빠른 참조
TypeScript
- 엄격 모드가 활성화된 TypeScript를 모든 새 코드에 사용
- 객체 형태에 대해서는 타입보다 인터페이스를 선호
- 변수와 함수에 의미 있고 설명적인 이름 사용
- 모든 공개 API에 JSDoc 주석 포함
Vue.js
<script setup>
구문과 함께 Composition API 사용- TypeScript 인터페이스로 props와 emits 정의
- 재사용 가능한 로직에 composables 선호
- 단일 파일 컴포넌트 구조 따르기: script → template → style
코드 품질 도구
표준을 강제하기 위해 자동화된 도구를 사용합니다:
bash
# 코드 스타일 문제를 린트하고 수정
pnpm lint:fix
# 타입 검사
pnpm typecheck
# 모든 테스트 실행
pnpm test
# 코드 포맷팅
pnpm format
Pull Request 프로세스
제출 전
- [ ] 코드가 프로젝트 표준을 따름
- [ ] 테스트가 로컬에서 통과
- [ ] 문서가 업데이트됨
- [ ] 변경사항이 집중되고 원자적임
PR 설명 템플릿
markdown
## 설명
변경사항의 간단한 설명
## 변경 유형
- [ ] 버그 수정
- [ ] 새로운 기능
- [ ] 호환성을 깨는 변경
- [ ] 문서 업데이트
## 테스트
- [ ] 단위 테스트 추가/업데이트됨
- [ ] 통합 테스트 추가/업데이트됨
- [ ] 수동 테스트 완료
커뮤니티
소통 채널
- GitHub Issues: 버그 보고서 및 기능 요청
- GitHub Discussions: 일반적인 질문과 아이디어
- Discord: 커뮤니티와의 실시간 채팅
- Twitter: 업데이트를 위해 @HatcherDX를 팔로우
커뮤니티 가이드라인
- 존중하기: 모든 사람을 존중하며 대하세요
- 건설적이기: 문제가 아닌 해결책에 집중하세요
- 인내하기: 우리 모두가 자원봉사자임을 기억하세요
- 도움되기: 지식을 공유하고 다른 사람들을 도우세요
개발 리소스
유용한 링크
질문이 있나요?
기여에 대한 질문이 있으시면:
- 기존 GitHub Discussions를 확인하세요
- 우리의 Discord 커뮤니티에 참여하세요
- 새로운 토론이나 이슈를 생성하세요
Hatcher에 기여해 주셔서 감사합니다! 함께 AI 지원 개발의 미래를 구축하고 있습니다.