개발자

Papy 는 모든 소스가 GitHub 에 공개되어 있습니다. 버그 수정, 문서 개선, 새 기능 — 작은 Pull Request 도 환영합니다.

GitHub 저장소 Fork 하기 Pull Request 만들기 Issue 등록
engine CI desktop CI website CI mobile CI

가장 쉬운 기여 — 웹에서 바로 수정

  1. 이 사이트 모든 페이지 아래의 “이 페이지 수정 제안”을 누릅니다.
  2. GitHub 편집기에서 고친 뒤 Commit changes… → Propose changes 를 누릅니다.
  3. GitHub 가 Fork 와 브랜치를 자동으로 만들고 Pull Request 화면으로 안내합니다. Create pull request 를 누르면 끝입니다.

코드 없이 의견만 있다면 Issue 나 문의로 알려 주세요. 처음이라면 good first issue 라벨부터 보세요.

Pull Request 절차

  1. Fork 후 내 저장소를 받습니다.
    git clone https://github.com/<내-계정>/papy.git
    cd papy
    git remote add upstream https://github.com/namjh654/papy.git
  2. 최신 main 에서 브랜치를 만듭니다 — feature/*, fix/*, docs/*.
    git fetch upstream
    git switch -c fix/pdf-zoom upstream/main
  3. 고친 영역의 검증을 돌립니다 (아래 표). CI 도 같은 명령을 실행합니다.
  4. 커밋하고 push 한 뒤 Compare & pull request 를 누릅니다.
    git push -u origin fix/pdf-zoom
  5. PR 템플릿의 체크리스트와 테스트 결과를 채우면 리뷰 후 병합합니다.
바꾼 곳로컬 검증 명령
engine/cargo fmt --all --check && cargo clippy --workspace --all-targets -- -D warnings && cargo test --workspace
apps/desktop/pnpm --filter @papy/desktop typecheck · pnpm desktop:dev
website/pnpm --filter @papy/website test
apps/mobile/cd apps/mobile && scripts/orca.sh check

규칙 전체는 CONTRIBUTING.md 에 있습니다. 문서 본문·개인 경로를 로그에 남기지 않기, 엔진이 UI 에 의존하지 않기가 핵심입니다.

개발 환경

도구버전
Rust1.99.1 (rust-toolchain.toml 이 자동 설치)
Node.js / pnpm24 이상 / 10.27.0
Tauri2.x stable — OS 별 선행 조건
모바일JDK 21, Android SDK, Xcode(macOS)
pnpm install
pnpm desktop:dev                 # 데스크톱 앱 실행
cd engine && cargo test --workspace

저장소 구조

폴더내용
engine/Rust 문서 엔진 — 파싱·모델·렌더링. UI 프레임워크에 의존하지 않음
apps/desktop/Tauri 2 + React 데스크톱 앱 (Windows·macOS·Linux)
apps/mobile/Kotlin Multiplatform — Android Compose, iOS SwiftUI (후속)
apps/web/브라우저 뷰어 (WASM 검증 후)
website/이 사이트
docs/아키텍처, 결정 기록(ADR), 포맷·라이선스 문서

진행 중인 작업

열린 Pull Request

  • 불러오는 중…
전체 보기

열린 Issue

  • 불러오는 중…
전체 보기

라이선스

Papy 는 PolyForm Noncommercial 1.0.0 을 따릅니다. Pull Request 를 보내면 기여물을 같은 라이선스로 제공하는 데 동의한 것으로 봅니다. GPL·AGPL 처럼 상업적 사용 제한과 충돌하는 라이선스의 코드는 받을 수 없습니다.