コンテンツにスキップ

環境構築

リポジトリを取得する

git clone https://github.com/mayocream/koharu.git
cd koharu

前提ツール

  • Rust 1.95 以降 (Rust 2024 edition)
  • Bun 1.0 以降

Windows

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-mlkoharu-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 -- --checkbun cargo checkbun cargo clippy -- -D warningsbun cargo test --workspace --tests
  • UI の変更bun run formatbun run test:ui
  • デスクトップ統合bun run build
  • ドキュメント — 編集したロケールをビルド

PR への期待

  • PR ひとつにゴールひとつ — バグ修正・リファクタ・新機能を混ぜない
  • 既存パターンに合わせる — ファイルにすでに規約があるなら新しい書き方を持ち込まない
  • 変更内容と検証手順を書く — UI ならスクリーンショットや短い動画、パイプライン系なら before / after
  • 後方互換のための層を足さない — 古いコードは置き換える。v2/ フォルダも別名エイリアスも不要
  • ついでのリファクタを入れない — 別件で PR を分けてください

小さく的を絞った PR のほうがレビューは速く進みます。

関連ページ