Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

후속 과제: 메인 프로세스 i18n, legacy 디렉터리 제거, tsconfig 프로젝트 분리

オープン
#12 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
静か
技術スタック
electron, eslint, python, typescript

調査の方向性

3つのセクションを別々の作業単位として扱います。src/main/collectors/.ts、src/main/onboard.ts、src/main/portal.ts、src/main/ediscovery.ts にあるハードコードされたメッセージを調査し、削除する前に README.md と legacy/ を確認し、その後ルートの tsconfig.json と npm run typecheck を調べます。選択した単位について、文書化されている参照、チェック、テストが更新され、他のセクションが曖昧なまま残っていなければ完了です。

索引モデルが issue の本文から書いたものです。

説明

PR #11(코드 리뷰 지적사항 일괄 수정)에서 의도적으로 범위 밖으로 미룬 항목들입니다. 각각 독립적인 작업 단위라 별도로 처리합니다.


1. 메인 프로세스 하드코딩 한국어 문자열 i18n 처리

현황: 렌더러는 5개 언어(en/ko/ja/zh-CN/es) i18n이 적용되어 있으나, 메인 프로세스에는 사용자에게 노출되는 한국어 문자열이 약 255개 하드코딩되어 있습니다. 수집 진행 로그, 오류 메시지, 온보딩 안내문 등이 언어 설정과 무관하게 항상 한국어로 표시됩니다.

주요 위치:

  • src/main/collectors/*.ts — 수집 진행/경고/오류 메시지
  • src/main/onboard.ts — 온보딩 단계 안내
  • src/main/portal.ts — 포털 자동화 상태 메시지
  • src/main/ediscovery*.ts — 내보내기 파싱 경고

제안 방향:

  • 메인 프로세스가 문자열 대신 { key, params } 형태의 구조화된 메시지를 IPC로 보내고, 렌더러가 t()로 번역하는 방식이 가장 깔끔합니다. 로그 저장 시에도 언어 중립적이라는 이점이 있습니다.
  • 255개 × 5개 언어 = 1,275개 번역이 필요하므로 기계번역에 그대로 의존하면 품질 리스크가 큽니다. 최소한 en/ko는 사람이 검수해야 합니다.

규모: 기능 단위 작업 (별도 PR 권장)


2. legacy/ 디렉터리 제거

현황: 리포지토리 루트의 legacy/에 Electron 재작성 이전의 Python/웹 코드 약 2.6MB가 남아 있습니다. 빌드·테스트·런타임 어디에서도 참조되지 않는 죽은 코드입니다.

막고 있는 것: README.md가 legacy 구현을 참조하고 있어, 단순 삭제 시 문서가 깨집니다.

할 일:

  • README에서 legacy 참조 정리 (마이그레이션 노트로 대체하거나 삭제)
  • legacy/ 삭제
  • 히스토리 보존이 필요하면 삭제 전 태그를 하나 남기기 (예: pre-electron-legacy)

부가 효과: clone 용량 감소, 코드 검색 노이즈 제거, ESLint/보안 스캐너의 오탐 감소


3. tsconfig.json 프로젝트 분리 (main / preload / renderer)

현황: main·preload·renderer가 단일 tsconfig.json 을 공유합니다. 그 결과:

  • lib에 DOM이 포함되어 메인 프로세스 코드에서도 window, document, localStorage 등이 타입 체크를 통과합니다. 런타임에는 존재하지 않으므로 컴파일 단계에서 잡아야 할 오류를 놓칩니다.
  • 반대로 렌더러에서 Node 전용 API를 참조해도 타입상 막히지 않습니다.

할 일:

  • tsconfig.node.json (main + preload, lib: ["ES2023"], DOM 제외)
  • tsconfig.web.json (renderer, lib: ["ES2023","DOM","DOM.Iterable"])
  • 루트 tsconfig.json을 references 기반 솔루션 파일로 전환
  • npm run typecheck가 두 프로젝트를 모두 검사하도록 수정
  • ESLint parserOptions.project도 함께 갱신

주의: 분리 직후 기존에 숨어 있던 타입 오류가 다수 드러날 가능성이 높습니다.

主要言語
Python
スター
2
フォーク
3
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/CopilotWatchTower のほかの issue

microsoft/CopilotWatchTower の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。