T-Ruby WASM에 기여해 주셔서 감사합니다! 이 문서는 기여자를 위한 가이드라인과 정보를 제공합니다.
모든 상호작용에서 존중과 건설적인 태도를 유지해 주세요. 모든 배경과 경험 수준의 기여자를 환영합니다.
- 저장소를 포크하세요
- 포크한 저장소를 클론하세요:
git clone https://github.com/YOUR_USERNAME/t-ruby-wasm.git cd t-ruby-wasm - 의존성을 설치하세요:
npm install
- 변경사항을 위한 브랜치를 생성하세요:
git checkout -b feature/your-feature-name
- 모든 소스 파일에 TypeScript 사용
- 기존 코드 스타일 준수
- 각 파일은 하나의 export만 가져야 함
- 파일은 100줄 미만으로 유지 (주석 포함)
- 종합적인 JSDoc 주석 작성
SOLID 원칙을 따릅니다:
- Single Responsibility: 각 클래스/모듈은 하나의 책임만
- Open/Closed: 확장에 열려있고 수정에 닫혀있음
- Liskov Substitution: 서브타입은 대체 가능해야 함
- Interface Segregation: 인터페이스를 작고 집중적으로 유지
- Dependency Inversion: 추상화에 의존
같은 코드를 반복하지 마세요. 공통 로직은 재사용 가능한 유틸리티로 추출하세요.
TDD 방법론을 사용합니다:
- 먼저 실패하는 테스트 작성
- 테스트를 통과하는 최소한의 코드 작성
- 테스트를 통과 상태로 유지하면서 리팩토링
# 테스트 실행
npm test
# 감시 모드로 테스트 실행
npm run test:watch
# 커버리지와 함께 테스트 실행
npm run test:coverage- 모든 테스트가 통과하는지 확인
- 필요한 경우 문서 업데이트
- 새 기능에 대한 테스트 추가
- 커밋은 원자적이고 설명이 잘 되어야 함
- 관련 이슈 참조
type: 짧은 설명
필요한 경우 더 긴 설명.
Fixes #123
타입: feat, fix, docs, style, refactor, test, chore
t-ruby-wasm/
├── src/
│ ├── types/ # 타입 정의 (파일당 하나)
│ ├── vm/ # Ruby VM 관련 코드
│ ├── utils/ # 유틸리티 함수
│ ├── TRuby.ts # 메인 TRuby 클래스
│ ├── createTRuby.ts # 팩토리 함수
│ ├── VirtualFileSystem.ts
│ └── index.ts # 공개 exports
├── tests/ # 테스트 파일
├── scripts/ # 빌드 스크립트
└── dist/ # 빌드 출력
질문이나 논의를 위해 이슈를 열어주세요.