Newer
Older
TelosDB / document / 06_development_guide.md

💻 開発ガイド (Development Guide)

本ドキュメントでは、本プロジェクトの開発環境構築、コードの変更、新しいツールの追加、およびテストの手順について解説します。


🛠️ 開発環境のセットアップ

プログラミング言語・ランタイム

  • Rust: 最新の Stable 版。tauri-cli を使用。
  • Bun: フロントエンドのパッケージ管理、およびテストランナー。

依存関係のインストール

bun install

📁 主要なディレクトリ構成と責務

  • src/: フロントエンド (Vanilla JS / CSS)
  • src-tauri/src/mcp.rs: MCP サーバー実装 & ツールロジック
  • src-tauri/src/db.rs: sqlite-vec スキーマ管理・データアクセス。
  • src-tauri/src/lib.rs: Tauri エントリポイント・サイドカー起動・トレイ制御。
  • src-tauri/bin/: 推論バイナリとモデルファイル。
  • document/: 設計書・仕様書。
  • journals/: Rule 13 に基づく集約された作業記録。

➕ 新しい MCP ツールの追加手順

1. ツール定義の追加

src-tauri/src/mcp.rs 内の tools/list ハンドラ内に、新しいツールの名称、説明、パラメータスキーマを追加します。

2. ハンドラの実装

mcp_messages_handler 内の match actual_method 文に新しい case を追加し、DB 操作や LLM 連携ロジックを記述します。

3. UI 通知の統合

必要に応じて state.tx.send を使用し、ツール呼び出しを UI のアクティビティログに通知するように設定します。


🧪 テストの実行

バックエンド (Rust)

cd src-tauri
cargo test

フロントエンド / API

bun run dev # 開発サーバー起動

🚀 リリース手順

  1. バージョン更新: package.json, tauri.conf.json, Cargo.toml のバージョンを同期。
  2. ビルド:

    bun run tauri build
  3. 成果物: src-tauri/target/release/bundle/ 配下にインストーラーが生成されます。

📝 コーディング規約

  • 名称統一: ベクトル検索エンジンは 「sqlite-vec」 と呼びます。
  • ジャーナル記録: 作業完了後は必ず journals/ に Rule 9 形式で記録を残してください。