First off, thank you for considering contributing to CodeSyncer! 🎉
CodeSyncer는 커뮤니티 기여로 성장하는 오픈소스 프로젝트입니다. 모든 기여를 환영합니다!
이 프로젝트는 Contributor Covenant Code of Conduct를 따릅니다. 참여함으로써 여러분은 이 규칙을 준수하는 데 동의합니다.
버그를 발견하셨나요? Issue를 열어주세요!
좋은 버그 리포트에 포함될 내용:
- 명확하고 구체적인 제목
- 버그 재현 단계
- 예상 동작 vs 실제 동작
- 스크린샷 (가능하면)
- 환경 정보 (OS, Node 버전, npm 버전)
새로운 기능 아이디어가 있으신가요? Issue를 열어주세요!
좋은 기능 제안에 포함될 내용:
- 기능이 해결하는 문제
- 제안하는 해결 방법
- 대안들
- 사용 예시
-
Fork 레포지토리
-
Clone 본인의 fork
git clone https://github.com/bitjaru/codesyncer.git cd codesyncer -
Branch 생성
git checkout -b feature/amazing-feature # 또는 git checkout -b fix/bug-fix -
개발 환경 설정
npm install npm run build npm link # 로컬 테스트용 -
변경사항 작성
- 코드 스타일 준수
- 타입 정의 추가 (TypeScript)
- 주석 작성
-
테스트
npm run build codesyncer --version
-
Commit
git add . git commit -m "feat: Add amazing feature"
Commit 메시지 규칙:
feat:새 기능fix:버그 수정docs:문서 변경style:코드 포맷팅refactor:리팩토링test:테스트 추가chore:빌드, 설정 변경
-
Push
git push origin feature/amazing-feature
-
Pull Request 생성
- GitHub에서 본인의 fork로 이동
- "Compare & pull request" 클릭
- 변경사항 설명 작성
-
AI 도구 지원 추가
- Cursor 지원
- GitHub Copilot 지원
- Continue.dev 지원
- Codeium 지원
-
다국어 지원
- 일본어 번역
- 중국어 번역
- 스페인어 번역
-
기술 스택 템플릿
- Go 언어 지원
- Rust 언어 지원
- Ruby on Rails 지원
- PHP/Laravel 지원
-
문서 개선
- 튜토리얼 영상
- 상세 가이드
- 예제 프로젝트
- 버그 수정
- 성능 개선
- 문서 오타 수정
- 코드 리팩토링
- 테스트 추가
// ✅ Good
export async function generateMasterDoc(config: MasterDocConfig): Promise<string> {
// 명확한 타입 정의
const template = await loadTemplate('master', config.language);
return replaceTemplateVars(template, vars);
}
// ❌ Bad
export async function generateMasterDoc(config: any) {
const template = await loadTemplate('master', config.language);
return replaceTemplateVars(template, vars);
}/**
* Load template file from templates directory
*
* @param templateName - Name of the template (without .md extension)
* @param lang - Language code (ko or en)
* @returns Template content as string
*/
export async function loadTemplate(templateName: string, lang: Language): Promise<string> {
// ...
}src/
├── commands/ # CLI 명령어
├── constants/ # 상수 정의
├── templates/ # 템플릿 파일
├── utils/ # 유틸리티 함수
└── types.ts # 타입 정의
현재 테스트 프레임워크를 설정 중입니다. 기여하실 수 있습니다!
npm testnpm run build메인테이너만 실행합니다:
- 버전 업데이트
npm version patch # 1.0.0 → 1.0.1 npm version minor # 1.0.0 → 1.1.0 npm version major # 1.0.0 → 2.0.0
- CHANGELOG.md 업데이트
- npm 배포
npm publish
여러분의 기여가 CodeSyncer를 더 나은 도구로 만듭니다. 🎉
Remember:
- 즐겁게 코딩하세요! 😊
- 질문을 두려워하지 마세요
- 작은 기여도 큰 도움이 됩니다