0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

専用のバイブコーディングツールがほしい

Posted at

前書き

バイブコーディングをしても、自端末で動かすことが出来ない。
そのことにもどかしさを感じたので、専用のバイブコーディングツールの作成を検討する。
まずは、生成AIに設計書を作成してもらった。
以下生成AIの成果物。


📄 バイブコーディングツール 全体設計書(骨格)

Version 0.1 – Draft


1. 概要

本ドキュメントは、ローカル環境で動作する「バイブコーディングツール」の全体設計の骨格をまとめたものである。
本ツールは、ユーザーの直感的な“vibe”をコード構造へ変換する AI 支援ツールであり、環境検出と環境非依存設計を基盤として、再現性・監査性・変更耐性を重視したアーキテクチャを採用する。


2. システム全体構成(アーキテクチャ概要)

本ツールは以下の 4 レイヤーで構成される。

2.1 UI レイヤー

  • VS Code 拡張機能(メイン UI)
  • 必要に応じて Web UI(ブラウザ)

2.2 アプリケーション API レイヤー

  • Python FastAPI ベースのローカル HTTP サーバ
  • 「vibe → プロンプト → コード生成」処理の中心ロジック

2.3 環境基盤レイヤー(環境検出 + 非依存設計)

  • 環境検出モジュール
  • 設定ファイル管理(config/*.yaml)
  • 依存関係管理(uv/venv/Node)
  • 起動前セルフチェック

2.4 LLM・ストレージレイヤー

  • LLM バックエンド(ローカル or 外部 API)
  • 監査ログ(JSONL または SQLite)
  • 設定ファイル(YAML/JSON)

3. 環境検出モジュール(B)

3.1 目的

ユーザーの PC 環境を自動検出し、
「この環境で安全に動作する最適構成」 を決定する。

3.2 検出項目(骨格)

  • OS 情報(Windows / macOS / Linux)
  • CPU / メモリ / GPU(VRAM含む)
  • Python バージョン
  • Node バージョン
  • 仮想環境(uv / venv / conda)
  • ポート使用状況
  • ファイルシステムの書き込み権限
  • ローカル LLM モデルの有無

3.3 出力

検出結果は config/system.yaml に保存される。


4. 環境非依存設計原則(D)

4.1 原則1:環境差分は設定ファイルで吸収する

config/
  system.yaml   # 自動生成
  model.yaml    # LLM設定
  server.yaml   # ポート・API設定
  user.yaml     # ユーザーのvibe設定

4.2 原則2:依存関係はロックしつつ、環境で最適化

  • Python: uv.lock / requirements.txt
  • Node: package-lock.json
  • GPU の有無で LLM 実行方式を切り替える

4.3 原則3:OS 差分は抽象化レイヤーで吸収

  • パス操作(pathlib)
  • プロセス起動
  • ログディレクトリの扱い

4.4 原則4:起動前セルフチェック

  • Python バージョンチェック
  • ポート競合チェック
  • GPU 利用可否
  • 権限チェック

5. バイブコーディング機能の論理構造

5.1 コアフロー

  1. ユーザー入力(vibe)
  2. Vibe プロンプトエンジン
  3. LLM 呼び出し(ローカル or API)
  4. 出力ポストプロセス(整形・補助生成)
  5. VS Code への反映

5.2 Vibe プロンプトエンジン

  • 専用テンプレートを内部に保持
  • 環境情報(system.yaml)を自動付与
  • 監査性・変更耐性を強制するプロンプト構造

6. ログと監査性の設計

6.1 ログ種別

  • 環境ログ:環境検出結果
  • 生成ログ:入力 vibe、内部プロンプト、LLM 出力
  • エラーログ:起動失敗、モデル未ロードなど

6.2 格納形式

  • JSONL(開発中の扱いやすさ重視)
  • 将来的に SQLite へ移行可能

7. 今後の詳細化ポイント

  1. 環境検出モジュールの詳細設計
  2. config/*.yaml のスキーマ定義
  3. 起動フローの詳細化
  4. Vibe プロンプトエンジンの内部構造
  5. ログスキーマの詳細化

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?