Koharu へのコントリビュート¶
Koharu に興味を持っていただきありがとうございます。Koharu はローカルファーストで動く、Rust 製の ML パワードな漫画翻訳ツールです。あなたの協力を歓迎します。
クイックスタート¶
一番早いのは good first issues から選ぶ方法です。新しいコントリビューター向けに厳選したタスクを置いています。
相談したいときは Discord に来てください。メンテナーとコミュニティが対応します。
コントリビュートの方法¶
どんな形のコントリビューションも歓迎します。
バグ報告¶
- 検出・OCR・インペイント・翻訳パイプラインの不具合
- クラッシュ、リグレッション、パフォーマンスの低下
- レンダリング、PSD エクスポート、プロバイダ連携のエッジケース
機能開発¶
- OCR、検出、インペイント、LLM バックエンドの追加
- テキストレンダラー、HTTP API、MCP サーバの改善
- UI のパネル、ショートカット、ワークフローの拡張
ドキュメント¶
- Getting Started や How-To の改善
- 例、スクリーンショット、チュートリアルの追加
- 他言語への翻訳
テスト¶
- ワークスペース各クレートの Rust ユニットテスト
tests/配下の Playwright E2E カバレッジの拡張- OCR / 検出用の実在漫画ページの提供
インフラ¶
- ビルドと CI の改善
- モデルダウンロード、ランタイムキャッシュ、アクセラレーションの最適化
- Windows、macOS、Linux のパッケージングを健全に保つ
コードベースの構造¶
Koharu は Rust ワークスペースに Tauri シェルと Next.js UI を組み合わせた構成です。
koharu/— Tauri のデスクトップシェルkoharu-app/— アプリ側バックエンドとパイプラインのオーケストレーションkoharu-core/— 共有型、イベント、ユーティリティkoharu-ml/— 検出、OCR、インペイント、フォント解析koharu-llm/— llama.cpp バインディングと LLM プロバイダkoharu-renderer/— テキストシェーピングとレンダリングkoharu-psd/— レイヤー付き PSD エクスポートkoharu-rpc/— HTTP API と MCP サーバkoharu-runtime/— ランタイムとモデルダウンロードの管理ui/— Next.js 製 Web UItests/— Playwright による E2E テストdocs/— ドキュメントサイト (English, 日本語, 简体中文, Português)
はじめてのコントリビューション¶
- Issue を眺める —
good first issueから始めます。 - 遠慮なく質問する — Discord でも GitHub でも構いません。
- 小さく始める — ドキュメントの修正や絞った範囲のバグ修正がいちばん通しやすいです。
- コードを読む — 編集しているファイルの既存パターンに合わせます。
コミュニティ¶
コミュニケーション¶
- GitHub Discussions — 設計に関する議論や質問
- Discord — メンテナーやコミュニティとのリアルタイムチャット
- GitHub Issues — バグ報告と機能要望
AI 利用ポリシー¶
Koharu へのコントリビュートに AI ツール (ChatGPT、Claude、Copilot などの LLM) を使う場合:
- AI の利用を明示してください — メンテナーの負担を減らすためです
- あなたが責任を負います — 自分が提出した Issue や PR の中身はすべて自分の責任です
- 品質の低い未レビューの AI 生成物はその場でクローズします
- 低品質 (“slop”) な PR を繰り返すコントリビューターは警告なしで BAN されます。 このポリシーに従うと約束するなら BAN は解除されます。解除は Discord から申請してください。
開発補助として AI を使うのは歓迎しますが、提出前にコントリビューター本人が十分にレビューしてテストしてください。AI が生成したコードは理解し、検証し、Koharu の水準に合わせて調整したうえで提出してください。
次のステップ¶
始める準備ができたら:
- ローカル環境をセットアップする — Getting Started
- Issue を選ぶ — good first issues
- コミュニティに参加する — Discord
- パイプラインを学ぶ — Koharu の仕組み と テクニカル詳細