ユーザー所有の外部ユーティリティ gemini-rag.js を本プロジェクト内で利用可能にするため。ただし、製品本体には含めず、個人用ワークスペースとして管理する。
package.json) を汚さないこと。private フォルダを作成し、Git管理外 (.gitignore) とすること。private 配下で完結させること。private フォルダを作成し、.gitignore で除外。private/tools/gemini-rag/ ではなく private/tools/ 直下にファイルを配置。private/tools/package.json を作成。require) を ESM (import) に書き換え。.gitignore に private/ を追加。private/tools ディレクトリを整理し、main.mjs, package.json, utils/ を直下に配置。private/tools/node_modules にインストール。main.mjs のパス仕様を調整。
.env はスクリプトと同じディレクトリ (private/tools/) から読み込み。references/) はプロジェクトルートを基準に設定。package.json から不要な依存関係を削除。AIエージェントは実際に複数のテストクエリを実行し、以下の正常動作を確認した。
private/tools/.env の設定を利用した RAG プロセスの完遂。references/ フォルダへのレポート生成。references/20260219-05-文書ベクトル化手法の調査まとめ.md の作成(ナレッジ蓄積)。graph TD
Start["開始: gemini-rag.js 移植"] --> Strategy["隔離戦略の決定 (privateフォルダ)"]
Strategy --> GitIgnore["'.gitignore' に 'private/' 追加"]
GitIgnore --> CreateDir["'private/tools' 整理 (階層簡略化)"]
CreateDir --> ToolDeps["ツール専用 package.json & .env 配置"]
ToolDeps --> PortCode["コード移植 (ESM化 & パス調整)"]
PortCode --> Verify["動作検証 (RAG検索テスト)"]
Verify --> Record["結果の記録 (referencesへのサマリー保存)"]
Record --> End["完了"]
製品本体のクリーンさを保ちつつ、ユーザーの利便性を高める移植が完了した。private フォルダは完全に隔離されており、今後他のツールを追加する際も同様のパターンで安全に拡張可能である。