본문 바로가기

Capgo에 대한 모든 기여를 환영하며 감사드립니다.

이 페이지는 기여를 시작하는 데 도움을 드리기 위해 마련되었습니다.

프로젝트

다음에는 수많은 레포지토리가 있습니다. Capgo Capgo 생태계에 속한 조직입니다.

Repository마다 범위와 사용 언어가 다르고, 기여 난이도도 다릅니다.

어떤 Repository부터 기여하는 게 가장 좋을지(또는 관심 있는 Repository인지) 결정하는 데 도움이 되도록 간단히 비교해 보겠습니다(<strong>굵게 표시된 언어가 코드베이스의 대부분을 차지합니다</strong>): Capgo

capacitor-updater

이곳은 메인 Repository이며, capacitor-updater Plugin을 제공합니다.

버그를 수정하거나 새 기능을 추가하고 싶은 게 capacitor-updater인가요? 이 Repository에 기여하시면 됩니다.

언어: Swift, JavaScript, Java

capgo

Capgo 클라우드 플랫폼을 구성하는 웹앱과 serverless functions입니다.

Capgo의 백엔드 수정을 위해 기여하고 싶은 분야를 알려주세요.

언어: TypeScript.

website

공식 Deno 웹페이지 프론트엔드: https://capgo.app/

언어: TypeScript, HTML, CSS

docs

다음 사이트를 구동하는 Markdown 문서: https://docs.capgo.app

언어: Markdown

capacitor-standard-version

앱 업데이트를 위한 CI/CD를 지원하는 버전 관리자.

언어: JavaScript

  • 앱 스위처 동작에 대한 스타일 가이드.

  • 도움이 필요하면 커뮤니티 채팅방을 이용해 주세요.

  • 이슈 작업을 할 때는 이슈 댓글로 첫 번째 제출이 승인되기 작업 시작을 알려주세요.

  • 새 기능을 작업할 때는 이슈를 만들고 다른 기여자들과 논의해 주세요. 첫 번째 제출이 승인되기 기능 작업을 시작하기 전에 먼저 논의해 주세요. 모든 기여를 환영하지만, 제안된 모든 기능이 채택되는 것은 아닙니다. 채택되지 않을 수도 있는 code에 시간을 쏟지 않으셨으면 합니다.

  • 포럼에서는 전문적인 태도를 유지해 주세요. 저희는 Rust의 code 행동 강령 (CoC)를 준수합니다. 문제가 발생하면 이메일로 문의하세요: ry@tinyclouds.org.

PR 제출하기

어느 저장소든 PR을 제출하기 전에 다음 사항을 반드시 확인해 주세요:

  1. PR에 내용을 잘 설명하는 제목을 붙여 주세요.

좋은 PR 제목 예시:

  • fix(std/http): 서버의 레이스 컨디션 수정
  • docs(console): docstring 업데이트
  • feat(doc): 중첩된 re-export 처리

잘못된 PR 제목의 예:

  • #7123 수정
  • 문서 업데이트
  • 버그 수정

  • 관련된 issue가 있는지 확인하고, PR 본문에 해당 issue를 참조했는지 확인하세요.

  • 변경 사항을 검증할 수 있는 테스트 코드가 포함되었는지 확인하세요.

다음으로 PR을 제출할 때: Capgo

위 사항 외에도 다음을 반드시 확인하세요:

  1. bun run lint 통과해야 합니다 - 이는 다음을 사용하여 Rust 및 JavaScript code의 일반적인 실수와 오류를 검사합니다. Swiftlint (Swift의 경우) 및 eslint (JavaScript 및 Java의 경우)

API 문서화

모든 public API를 문서화하는 것은 중요하며, code에 맞춰 진행하려 합니다. 이렇게 하면 code와 문서가 긴밀하게 연결됩니다.

JavaScript와 TypeScript

공개적으로 노출된 모든 API와 타입, capacitor-updater 모듈에는 JSDoc 문서가 있어야 합니다. 이 문서는 파싱되어 TypeScript 컴파일러에서 사용할 수 있으므로 다운스트림에 제공하기도 쉽습니다. JSDoc 블록은 적용되는 문장 바로 앞에 오며, 앞에 /** 를 붙이고 */로 끝납니다. 예:

export const FOO = "foo";
        

더 알아보기: 자세한 내용은 https://jsdoc.app/에서 확인하세요.