環境構築¶
リポジトリを取得する¶
git clone https://github.com/mayocream/koharu.git
cd koharu
前提ツール¶
Windows¶
- Visual Studio C++ build tools
- CUDA Toolkit 13.0 (通常の CUDA ビルド用)
- AMD HIP SDK (ZLUDA 用)
macOS¶
- Xcode Command Line Tools (
xcode-select --install)
Linux¶
- ディストリビューション標準の C/C++ ツールチェーン (
build-essentialなど) - GPU アクセラレーションビルド向けの LLVM 15 以降
依存を入れる¶
bun install
Rust のツールチェーンは初回ビルド時に rust-toolchain.toml から自動解決されます。
ローカルで起動する¶
bun run dev
Tauri アプリが開発モードで起動し、バンドルされた UI に接続されます。
リリースビルド¶
bun run build
バイナリはプロファイルに応じて target/release-with-debug/ または target/release/ に出力されます。
よく使うコマンド¶
Rust コマンドは必ず bun cargo 経由で実行してください。プラットフォーム別のフィーチャーフラグ (CUDA、Metal、Vulkan) が正しく渡ります。
bun cargo check # ワークスペースの型検査
bun cargo clippy -- -D warnings # Lint
bun cargo fmt -- --check # フォーマットチェック
bun cargo test --workspace --tests # ユニット・統合テスト
UI や設定ファイルのフォーマットには oxfmt を使います。
bun run format
bun run format:check
UI のユニットテスト:
bun run test:ui
ML の作業¶
koharu-ml や koharu-llm を触るときは、マシンに合ったバックエンドを有効にします。
# Windows / Linux + NVIDIA
bun cargo test -p koharu-ml --features=cuda
# macOS (Apple Silicon)
bun cargo test -p koharu-ml --features=metal
バックエンドの選択の詳細は アクセラレーションとランタイム を参照してください。
ドキュメント¶
ドキュメントは docs/en-US/、docs/ja-JP/、docs/zh-CN/、docs/pt-BR/ 以下にあります。触ったロケールをビルドしてください。
zensical build -f docs/zensical.toml -c
zensical build -f docs/zensical.ja-JP.toml
zensical build -f docs/zensical.zh-CN.toml
zensical build -f docs/zensical.pt-BR.toml
ページを追加したら、対応する zensical*.toml のナビゲーションにも登録します。
PR を出す前に¶
変更した範囲に対応するコマンドだけを走らせれば大丈夫です。全部を毎回流す必要はありません。
- Rust の変更 —
bun cargo fmt -- --check、bun cargo check、bun cargo clippy -- -D warnings、bun cargo test --workspace --tests - UI の変更 —
bun run format、bun run test:ui - デスクトップ統合 —
bun run build - ドキュメント — 編集したロケールをビルド
PR への期待¶
- PR ひとつにゴールひとつ — バグ修正・リファクタ・新機能を混ぜない
- 既存パターンに合わせる — ファイルにすでに規約があるなら新しい書き方を持ち込まない
- 変更内容と検証手順を書く — UI ならスクリーンショットや短い動画、パイプライン系なら before / after
- 後方互換のための層を足さない — 古いコードは置き換える。
v2/フォルダも別名エイリアスも不要 - ついでのリファクタを入れない — 別件で PR を分けてください
小さく的を絞った PR のほうがレビューは速く進みます。