{"id":37230330,"url":"https://github.com/gitchan-app/gitchan","last_synced_at":"2026-01-15T03:37:54.708Z","repository":{"id":331590122,"uuid":"1131514996","full_name":"gitchan-app/gitchan","owner":"gitchan-app","description":"GitHub notifications with Live2D mascot. Based on Gitify. (macOS, Windows, Linux)","archived":false,"fork":false,"pushed_at":"2026-01-10T13:55:32.000Z","size":36456,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T02:13:03.835Z","etag":null,"topics":["fork","gitify","live2d"],"latest_commit_sha":null,"homepage":"https://gitchan-app.github.io/gitchan/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitchan-app.png","metadata":{"files":{"readme":"README.ko.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-10T06:46:22.000Z","updated_at":"2026-01-10T13:55:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gitchan-app/gitchan","commit_stats":null,"previous_names":["gitchan-app/gitchan"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/gitchan-app/gitchan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitchan-app%2Fgitchan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitchan-app%2Fgitchan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitchan-app%2Fgitchan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitchan-app%2Fgitchan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitchan-app","download_url":"https://codeload.github.com/gitchan-app/gitchan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitchan-app%2Fgitchan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28442300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fork","gitify","live2d"],"created_at":"2026-01-15T03:37:53.704Z","updated_at":"2026-01-15T03:37:54.700Z","avatar_url":"https://github.com/gitchan-app.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/images/gitchan.png\" alt=\"GitChan\" width=\"128\"\u003e\n  \u003cp\u003e귀여운 Live2D 마스코트와 함께하는 GitHub 알림 데스크톱 앱\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://gitchan-app.github.io/gitchan/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Website-gitchan--app.github.io-purple\" alt=\"Website\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/gitify-app/gitify\"\u003e\u003cimg src=\"https://img.shields.io/badge/based%20on-Gitify-blue\" alt=\"Based on Gitify\"\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/gitchan-app/gitchan\" alt=\"Release\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/gitchan-app/gitchan\" alt=\"License\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue\" alt=\"Platform\"\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n**개인 및 비상업적 사용은 무료입니다.** 상업적 사용은 Live2D 라이선스가 필요합니다. 자세한 내용은 [라이선스](#라이선스)를 참조하세요.\n\nGitChan은 [Gitify](https://github.com/gitify-app/gitify)를 기반으로 Live2D 캐릭터 지원을 추가하여 GitHub 알림 경험을 더욱 즐겁게 만들어주는 앱입니다.\n\n![GitChan Preview](docs/preview.png)\n\n---\n\n## 다운로드\n\n| 플랫폼 | 다운로드 |\n|--------|----------|\n| macOS | [GitChan-0.0.3-universal.dmg](https://github.com/gitchan-app/gitchan/releases/download/v0.0.3/GitChan-0.0.3-universal.dmg) |\n| Windows | [GitChan-Setup-0.0.3.exe](https://github.com/gitchan-app/gitchan/releases/download/v0.0.3/GitChan-Setup-0.0.3.exe) |\n| Linux | [GitChan-0.0.3.AppImage](https://github.com/gitchan-app/gitchan/releases/download/v0.0.3/GitChan-0.0.3.AppImage) |\n\n모든 버전은 [Releases](https://github.com/gitchan-app/gitchan/releases) 페이지에서 확인하세요.\n\n---\n\n## 목차\n\n- [다운로드](#다운로드)\n- [기능](#기능)\n- [설치 안내](#설치-안내)\n- [개발 환경 설정](#개발-환경-설정)\n- [실행 방법](#실행-방법)\n- [사용 방법](#사용-방법)\n- [Gitify에서 수정된 내용](#gitify에서-수정된-내용)\n- [사용 기술 및 라이브러리](#사용-기술-및-라이브러리)\n- [라이선스](#라이선스)\n- [크레딧 및 출처](#크레딧-및-출처)\n- [기여하기](#기여하기)\n\n---\n\n## 기능\n\n- **Live2D 마스코트 캐릭터**: 7가지 Live2D 캐릭터 중 선택 가능\n  - Hiyori - 밝고 활발한 여학생\n  - Haru - 차분한 여성 캐릭터\n  - Mao - 신비로운 마법사\n  - Natori - 친근한 남성 캐릭터\n  - Mark - 유쾌한 남성 캐릭터\n  - Rice - 쿨한 마법사\n  - Wanko - 충성스러운 강아지\n- **실시간 GitHub 알림**: 리뷰, 멘션, 승인 등의 데스크톱 알림 수신\n- **마스코트 커스터마이징**:\n  - 캐릭터 선택\n  - 마스코트 크기 조절 (50-150%)\n  - 창 크기 조절 (50-200%)\n  - 배지 위치 조절 (20-200px)\n- **커스텀 알림 사운드**: 알림 유형별 다른 사운드\n- **크로스 플랫폼 지원**: macOS, Windows, Linux에서 동작\n\n---\n\n## 설치 안내\n\n### macOS\n\n\"앱을 열 수 없음\" 또는 \"일반적으로 다운로드되지 않음\" 경고가 표시되면:\n\n1. **시스템 설정** → **개인 정보 보호 및 보안** 이동\n2. **그래도 열기** 클릭\n\n또는 터미널에서 실행:\n```bash\nxattr -cr /Applications/GitChan.app\n```\n\n### Windows\n\n**브라우저 다운로드 경고 (Edge/Chrome):**\n\nEdge에서 \"일반적으로 다운로드되지 않음\" 경고가 표시되면:\n1. 다운로드 옆 **⋯** (점 세 개) 클릭\n2. **유지** → **계속 유지** 클릭\n\n**SmartScreen 경고 (설치 파일 실행 시):**\n\n\"Windows가 PC를 보호했습니다\"가 표시되면:\n1. **추가 정보** 클릭\n2. **실행** 클릭\n\n---\n\n## 개발 환경 설정\n\n### 사전 요구사항\n\n- Node.js \u003e= 24\n- pnpm \u003e= 10.27.0\n\n### 클론 및 설치\n\n```bash\ngit clone https://github.com/gitchan-app/gitchan.git\ncd gitchan\npnpm install\n```\n\n---\n\n## 실행 방법\n\n### 개발 모드\n\n```bash\n# 빌드 및 변경 감시\npnpm watch\n\n# 다른 터미널에서 앱 실행\npnpm start\n```\n\n### 프로덕션 빌드\n\n```bash\n# 모든 컴포넌트 빌드\npnpm build\n\n# 플랫폼별 패키징\npnpm package:macos   # macOS용\npnpm package:win     # Windows용\npnpm package:linux   # Linux용\n```\n\n### 테스트\n\n```bash\npnpm test\n```\n\n### 린트\n\n```bash\npnpm lint        # 린트 문제 수정\npnpm lint:check  # 린트 문제 확인\n```\n\n### 버전 관리\n\nGitChan은 `npm version`을 사용하여 버전을 관리합니다. 이 명령어는 자동으로 `package.json`을 업데이트하고 git 태그를 생성합니다.\n\n```bash\npnpm release:patch   # 버그 수정 (0.1.0 → 0.1.1)\npnpm release:minor   # 새 기능 추가 (0.1.0 → 0.2.0)\npnpm release:major   # 호환성 깨지는 변경 (0.1.0 → 1.0.0)\n```\n\n각 명령어는 다음을 수행합니다:\n\n1. `package.json`의 버전 업데이트\n2. `Release vX.X.X` 메시지로 git 커밋 생성\n3. `vX.X.X` git 태그 생성\n\n---\n\n## 사용 방법\n\n1. **GitChan 실행**: 설치 후 앱을 실행합니다\n2. **GitHub 로그인**: OAuth를 통해 GitHub 계정으로 인증합니다\n3. **설정 구성**:\n   - 설정으로 이동하여 원하는 대로 커스터마이징합니다\n   - 좋아하는 마스코트 캐릭터를 선택합니다\n   - 마스코트 크기와 창 크기를 조절합니다\n   - 알림 설정을 구성합니다\n4. **알림 수신**: 마스코트가 애니메이션과 사운드로 GitHub 이벤트를 알려줍니다\n\n### 마스코트 조작\n\n- **마스코트 클릭**: 탭 애니메이션 실행\n- **마스코트 크기 슬라이더**: 캐릭터 크기 조절 (50-150%)\n- **창 크기 슬라이더**: 마스코트 창 크기 조절 (50-200%)\n- **배지 위치 슬라이더**: 알림 배지 세로 위치 조절 (20-200px)\n\n---\n\n## Gitify에서 수정된 내용\n\nGitChan은 Gitify에 다음과 같은 기능과 수정사항을 추가했습니다:\n\n### 새로운 기능\n\n1. **Live2D 마스코트 시스템**\n   - pixi-live2d-display를 사용한 Live2D 캐릭터 표시\n   - 마스코트 표시를 위한 투명 오버레이 창\n   - 7가지 캐릭터 모델 지원\n   - 알림에 따른 캐릭터 애니메이션\n\n2. **마스코트 커스터마이징**\n   - 설정에서 캐릭터 선택\n   - 마스코트 크기 조절 (50-150%)\n   - 창 크기 조절 (50-200%)\n   - 알림 배지 위치 조절 (20-200px)\n\n3. **커스텀 알림 사운드**\n   - 알림 유형별 다른 사운드:\n     - `review-requested.wav` - 리뷰 요청\n     - `mention.wav` - 멘션 및 팀 멘션\n     - `approved.wav` - 승인 요청\n     - `default.wav` - 기타 알림\n   - 볼륨 조절 버튼\n\n4. **업그레이드된 SDK 지원**\n   - MOC3 v5 모델 지원을 위한 Live2D Cubism 5 SDK\n\n### 수정된 파일\n\n- `src/main/mascot.ts` - 마스코트 창 관리\n- `src/main/mascot.html` - Live2D 렌더링 및 캔버스 관리\n- `src/main/mascot-preload.ts` - 마스코트 창 IPC 브릿지\n- `src/shared/constants.ts` - 마스코트 모델 정의\n- `src/shared/events.ts` - IPC 이벤트 정의\n- `src/renderer/types.ts` - 설정 타입 정의\n- `src/renderer/context/defaults.ts` - 기본 설정값\n- `src/renderer/components/settings/SystemSettings.tsx` - 설정 UI\n- `src/preload/index.ts` - 마스코트 API가 포함된 프리로드 스크립트\n\n### 추가된 에셋\n\n- `assets/live2d/` - Live2D 모델 파일 (Hiyori, Haru, Mao, Natori, Mark, Rice, Wanko)\n- `assets/lib/` - Live2D SDK 및 의존성\n  - `live2dcubismcore.min.js` - Cubism 5 Core SDK\n  - `pixi.v6.min.js` - PixiJS v6\n  - `pixi-live2d-display-cubism4.min.js` - Live2D 표시 플러그인\n- `assets/sounds/` - 커스텀 알림 사운드 파일\n\n---\n\n## 사용 기술 및 라이브러리\n\n### 핵심 프레임워크\n\n| 라이브러리 | 버전 | 설명 |\n|------------|------|------|\n| [Electron](https://www.electronjs.org/) | 39.2.7 | 크로스 플랫폼 데스크톱 앱 프레임워크 |\n| [React](https://react.dev/) | 19.2.3 | UI 컴포넌트 라이브러리 |\n| [TypeScript](https://www.typescriptlang.org/) | 5.9.3 | 타입 안전 JavaScript |\n\n### Live2D 통합\n\n| 라이브러리 | 버전 | 설명 |\n|------------|------|------|\n| [Live2D Cubism SDK](https://www.live2d.com/en/sdk/about/) | 5.x | Live2D 핵심 렌더링 엔진 |\n| [PixiJS](https://pixijs.com/) | 6.x | 2D WebGL 렌더러 |\n| [pixi-live2d-display](https://github.com/guansss/pixi-live2d-display) | - | PixiJS용 Live2D 모델 표시 |\n\n### UI 컴포넌트\n\n| 라이브러리 | 버전 | 설명 |\n|------------|------|------|\n| [Primer React](https://primer.style/react/) | 38.7.0 | GitHub 디자인 시스템 컴포넌트 |\n| [Primer CSS](https://primer.style/css/) | 22.1.0 | GitHub 디자인 시스템 스타일 |\n| [Tailwind CSS](https://tailwindcss.com/) | 4.1.18 | 유틸리티 우선 CSS 프레임워크 |\n\n### 빌드 도구\n\n| 라이브러리 | 버전 | 설명 |\n|------------|------|------|\n| [Webpack](https://webpack.js.org/) | 5.104.1 | 모듈 번들러 |\n| [Babel](https://babeljs.io/) | 7.28.5 | JavaScript 컴파일러 |\n| [electron-builder](https://www.electron.build/) | 26.4.0 | Electron 앱 패키저 |\n\n### 테스트\n\n| 라이브러리 | 버전 | 설명 |\n|------------|------|------|\n| [Jest](https://jestjs.io/) | 30.2.0 | 테스트 프레임워크 |\n| [Testing Library](https://testing-library.com/) | 16.3.1 | React 테스트 유틸리티 |\n\n---\n\n## 라이선스\n\n이 프로젝트는 **이중 라이선스 구조**를 사용합니다:\n\n### 앱 코드 - MIT 라이선스\n\nGitChan 앱 코드(Live2D 컴포넌트 제외)는 [MIT 라이선스](LICENSE)로 제공됩니다.\n\n```text\nMIT License\n\nCopyright (c) GitChan Team\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n```\n\n### Live2D 컴포넌트 - Live2D 독점 라이선스\n\nLive2D Cubism SDK와 샘플 모델은 **Live2D의 독점 라이선스**가 적용됩니다:\n\n- **Live2D Cubism SDK**: [Live2D 독점 소프트웨어 라이선스 계약](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html) 적용\n- **샘플 모델**: [무료 소재 라이선스 계약](https://www.live2d.com/eula/live2d-free-material-license-agreement_en.html) 적용\n\n#### 상업적 사용에 대한 중요 안내\n\n- **개인/비상업적 사용 무료**: GitChan을 개인, 교육, 비상업적 목적으로 자유롭게 사용할 수 있습니다\n- **상업적 사용은 라이선스 필요**: GitChan을 상업적으로 사용하려면(Live2D가 정한 수익 기준 초과 시) [Live2D Inc.](https://www.live2d.com/)에서 별도 라이선스를 취득해야 합니다\n- **Live2D SDK 라이선스**: 상업적 앱은 Live2D 라이선스 조건을 준수해야 합니다\n\nLive2D 라이선스에 대한 자세한 정보: \u003chttps://www.live2d.com/en/sdk/license/\u003e\n\n### 알림 사운드 - 커스텀/로열티 프리\n\n`assets/sounds/`의 모든 알림 사운드 파일은 **커스텀 제작**되었으며 **로열티 프리**입니다. 자유롭게 사용, 수정, 배포할 수 있습니다.\n\n---\n\n## 크레딧 및 출처\n\n### Gitify\n\nGitChan은 오픈소스 GitHub 알림 앱인 [Gitify](https://github.com/gitify-app/gitify)를 기반으로 합니다.\n\n- **저장소**: \u003chttps://github.com/gitify-app/gitify\u003e\n- **웹사이트**: \u003chttps://gitify.io\u003e\n- **라이선스**: MIT License\n- **저작권**: Gitify Contributors\n\n훌륭한 기반을 만들어주신 Gitify 팀에 진심으로 감사드립니다.\n\n### Live2D Inc\n\nLive2D 기술과 샘플 모델은 [Live2D Inc.](https://www.live2d.com/)에서 제공합니다.\n\n- **Cubism SDK**: \u003chttps://www.live2d.com/en/sdk/\u003e\n- **사용된 샘플 모델**:\n  - Hiyori (무료 소재)\n  - Haru (무료 소재)\n  - Mao (무료 소재)\n  - Natori (무료 소재)\n  - Mark (무료 소재)\n  - Rice (무료 소재)\n  - Wanko (무료 소재)\n\n### pixi-live2d-display\n\nLive2D 모델 렌더링은 [pixi-live2d-display](https://github.com/guansss/pixi-live2d-display)를 사용합니다.\n\n- **저장소**: \u003chttps://github.com/guansss/pixi-live2d-display\u003e\n- **제작자**: guansss\n- **라이선스**: MIT License\n\n### PixiJS\n\n2D 렌더링은 [PixiJS](https://pixijs.com/)를 사용합니다.\n\n- **저장소**: \u003chttps://github.com/pixijs/pixijs\u003e\n- **라이선스**: MIT License\n\n### GitHub Primer\n\nUI 컴포넌트는 [GitHub Primer](https://primer.style/)로 구축되었습니다.\n\n- **저장소**: \u003chttps://github.com/primer\u003e\n- **라이선스**: MIT License\n\n---\n\n## 기여하기\n\n기여를 환영합니다! Pull Request를 제출하기 전에 기여 가이드라인을 읽어주세요.\n\n1. 저장소를 Fork합니다\n2. 기능 브랜치를 생성합니다 (`git checkout -b feature/amazing-feature`)\n3. 변경사항을 커밋합니다 (`git commit -m 'Add some amazing feature'`)\n4. 브랜치에 푸시합니다 (`git push origin feature/amazing-feature`)\n5. Pull Request를 생성합니다\n\n---\n\n## 지원\n\n문제가 발생하거나 질문이 있으시면:\n\n- **Issues**: \u003chttps://github.com/gitchan-app/gitchan/issues\u003e\n- **Discussions**: \u003chttps://github.com/gitchan-app/gitchan/discussions\u003e\n\n---\n\nGitChan Team이 ❤️를 담아 만들었습니다\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitchan-app%2Fgitchan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitchan-app%2Fgitchan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitchan-app%2Fgitchan/lists"}