============================================================
  UniversalMigrator v1.0.0 説明書
  あらゆるプログラミング言語間のコード自動変換ツール
  （GUI / CLI 対応）
============================================================

■ ソフト名
  UniversalMigrator

■ バージョン
  1.0.0

■ 作者名
  highdefinitionaudiodriver

■ 連絡先
  GitHub: https://github.com/highdefinitionaudiodriver
  バグ報告・機能要望: highdefinitionaudiodriver@gmail.com

■ 動作環境
  対応OS: Windows 10 / 11（64bit推奨）
          macOS, Linux（ソースから実行可）
  必要メモリ: 512MB以上
  ディスク容量: 約30MB（EXE単体）
  ランタイム: 不要（EXE版は同梱済み。ソース版はPython 3.9以上）
  ネットワーク: 必須（Anthropic Claude API を使用）
  APIキー: Anthropic API キーが必要
           https://console.anthropic.com/ で取得

■ ソフト種別
  フリーソフト（MITライセンス）

■ カテゴリ
  プログラミング > 変換・移行ツール

■ 概要
  UniversalMigratorは、世界中の66種類のプログラミング言語間で
  ソースコードを自動変換するデスクトップアプリケーションです。

  Anthropic Claude APIをAIエンジンとして使用し、単純な構文変換
  ではなく、対象言語のイディオムやベストプラクティスに沿った
  自然なコードへの変換を行います。

  フォルダ内のファイルを一括変換でき、サブフォルダ構造も維持
  します。GUIとCLIの両方に対応しています。

■ 主な機能

  【66言語対応のコード変換】
  ・Python, Java, C, C++, C#, JavaScript, TypeScript
  ・Go, Rust, Swift, Kotlin, Dart, Ruby, PHP
  ・COBOL, Fortran, ABAP, VBA, Delphi/Pascal
  ・Haskell, Elixir, Erlang, Scala, Clojure
  ・Bash, PowerShell, Batch, Lua, R, Julia
  ・Solidity, Zig, Nim, Crystal, OCaml
  ・その他合計66言語（--list-languages で全一覧表示）
  ・任意の言語ペアでの双方向変換が可能

  【APIの堅牢性】
  ・レートリミット（429）・タイムアウト時の指数バックオフ自動リトライ
  ・最大5回リトライ、最大120秒待機（ジッター付き）
  ・API過負荷（529）にも対応
  ・大量ファイルの一括変換でも安定動作

  【レジューム機能（中断再開）】
  ・変換状態を .migration_state.json に自動保存
  ・ソースファイルのSHA-256ハッシュを記録
  ・中断後の再実行時、変換済みファイルを自動スキップ
  ・ソースが変更された場合は自動的に再変換

  【出力サニタイズ】
  ・AIが付加するマークダウンコードフェンス（```）を自動除去
  ・自然言語のプリアンブル（"Here is the code:"等）を自動除去
  ・エピローグ（"Key changes:"等）を自動除去
  ・日本語・英語・中国語・韓国語・スペイン語・フランス語・
    ドイツ語の自然言語パターンに対応
  ・純粋なソースコードのみをファイルに出力

  【コンテキスト注入（Smart Context）】
  ・定数ファイル（constants, config, types等）を自動検出
  ・優先度の高いファイルを先に変換
  ・変換済みの定数/設定ファイルを後続ファイルの変換プロンプトに注入
  ・プロジェクト全体の整合性を向上

  【エコシステムファイル変換】
  ・requirements.txt → package.json（Python → Node.js）
  ・pom.xml → requirements.txt（Java → Python）
  ・Cargo.toml → requirements.txt（Rust → Python）
  ・build.gradle → package.json（Java → Node.js）
  ・Gemfile → requirements.txt（Ruby → Python）
  ・その他多数のエコシステム間マッピングに対応
  ・13の言語グループ間でプロジェクトファイルを自動変換

  【GUI（8言語対応）】
  ・Model / View / Controller の分離設計（MVC）
  ・入力/出力フォルダの選択
  ・変換元・変換先言語のドロップダウン選択
  ・ファイル拡張子の自動表示
  ・APIキー入力（マスク表示）
  ・モデル選択（Sonnet 4 / Haiku 3.5 / Opus 4）
  ・レジューム / コンテキスト注入 / エコシステム変換の ON/OFF
  ・リアルタイム変換ログ・プログレスバー表示
  ・変換のキャンセル機能
  ・UI言語: 日本語, English, 中文, 한국어,
    Espanol, Francais, Deutsch, Portugues

  【CLI モード】
  ・ヘッドレス実行（-i, -o, -s, -t オプション指定）
  ・CI/CDパイプラインへの組み込み対応
  ・バッチ処理による大量ファイル一括変換
  ・--no-resume, --no-context, --no-ecosystem で機能個別無効化

■ 対応AIモデル
  Claude Sonnet 4（デフォルト・バランス型）
  Claude Haiku 3.5（高速・低コスト）
  Claude Opus 4（高精度・大規模変換向け）

■ インストール方法

  【EXE版（推奨・簡単）】
  1. UniversalMigrator.exe をダウンロード
  2. 任意のフォルダに配置（インストーラ不要）
  3. ダブルクリックで起動
  ※ Pythonやその他ランタイムのインストールは不要です。
  ※ Anthropic APIキーが別途必要です。

  【ソース版】
  1. Python 3.9 以上をインストール
  2. コマンドプロンプト（またはターミナル）で以下を実行:
     pip install anthropic
     python main.py

■ APIキーの設定方法
  以下のいずれかの方法で設定:
  1. GUI の「APIキー」欄に直接入力
  2. 環境変数 ANTHROPIC_API_KEY を設定
  3. CLI で -k オプションを使用

  APIキーは https://console.anthropic.com/ で取得できます。

■ 使い方

  【GUI モード（デフォルト）】
  1. UniversalMigrator.exe をダブルクリック
  2. 「変換元言語」と「変換先言語」を選択
  3. 「入力フォルダ」に変換対象のソースファイルがあるフォルダを指定
  4. 「出力フォルダ」に変換後のファイルの出力先を指定
  5. APIキーを入力（環境変数設定済みの場合は不要）
  6. 必要に応じてオプションを設定:
     - モデル（Sonnet 4 / Haiku 3.5 / Opus 4）
     - ソースエンコーディング（UTF-8, Shift_JIS 等）
     - 追加指示（任意のプロンプト補足）
     - レジューム / コンテキスト注入 / エコシステム変換
  7. 「変換開始」ボタンをクリック
  8. ログパネルで変換の進捗を確認

  【CLI モード】
  基本:
    UniversalMigrator.exe -i <入力> -o <出力> -s <変換元> -t <変換先>

  例:
    UniversalMigrator.exe -i ./python_src -o ./rust_out -s Python -t Rust
    UniversalMigrator.exe -i ./cobol_src -o ./java_out -s COBOL -t Java
    UniversalMigrator.exe -i ./vba_src -o ./py_out -s VBA -t Python -e cp932

  対応言語一覧:
    UniversalMigrator.exe --list-languages

  主なオプション:
    -i, --input     : 入力フォルダ（必須）
    -o, --output    : 出力フォルダ（必須）
    -s, --source    : 変換元言語名（必須）
    -t, --target    : 変換先言語名（必須）
    -k, --api-key   : Anthropic APIキー
    -m, --model     : 使用モデル（デフォルト: claude-sonnet-4-20250514）
    -e, --encoding  : ソースエンコーディング（デフォルト: utf-8）
    --extra         : 追加指示（プロンプト補足）
    --no-resume     : レジューム機能を無効化
    --no-context    : コンテキスト注入を無効化
    --no-ecosystem  : エコシステムファイル変換を無効化
    --list-languages: 対応言語の一覧を表示

■ ファイル構成（EXE版）
  UniversalMigrator.exe   - 実行ファイル（これだけで動作します）

■ ファイル構成（ソース版）
  main.py                 - エントリポイント（CLI + GUI起動）
  requirements.txt        - 依存パッケージ
  build.bat               - Windows用ビルドスクリプト
  build.sh                - macOS/Linux用ビルドスクリプト
  src/
    languages.py          - 66言語の定義（拡張子マッピング）
    migrator.py           - 変換エンジン（Claude API + リトライ + レジューム）
    sanitizer.py          - 出力サニタイズ（マークダウン・自然言語除去）
    resume_state.py       - レジューム状態管理（SHA-256ハッシュ）
    ecosystem.py          - エコシステムファイルマッピング + 優先度ソート
    gui_model.py          - GUIモデル層（MVC）
    gui_view.py           - GUIビュー層（MVC）
    gui_controller.py     - GUIコントローラ層（MVC）
    i18n.py               - 多言語対応（8言語）

■ 技術仕様
  変換エンジン: Anthropic Claude API（Messages API）
  GUI: Python tkinter（clam テーマ）
  アーキテクチャ: MVC（Model-View-Controller）
  レジューム: SHA-256ハッシュベース（JSON永続化）
  リトライ: 指数バックオフ + ジッター（最大5回・120秒）
  サニタイズ: 正規表現ベース（7言語NLパターン対応）
  ビルド: PyInstaller（ワンファイルEXE）

■ 注意事項
  ・本ソフトはAnthropic Claude APIを使用します。
    APIの利用には別途料金が発生する場合があります。
  ・変換結果はAIによる推論であり、100%の正確性を保証するもの
    ではありません。変換後のコードは必ずレビュー・テストを
    行ってください。
  ・大量のファイルを変換する場合、APIの利用料金にご注意ください。

■ アンインストール方法
  フォルダごと削除してください。
  レジストリへの書き込みは一切行いません。

■ 免責事項
  本ソフトウェアの使用により生じたいかなる損害に対しても、
  作者は一切の責任を負いません。
  API利用料金を含め、自己責任にてご利用ください。

■ 著作権・ライセンス
  Copyright (c) 2026 highdefinitionaudiodriver
  MITライセンスに基づき自由に使用・改変・再配布できます。

■ 変更履歴

  v1.0.0 (2026-04-02)
    - 初版リリース
    - 66プログラミング言語対応
    - Claude API による AI コード変換エンジン
    - 指数バックオフ付き自動リトライ（429/Timeout/529）
    - SHA-256ハッシュベースのレジューム（中断再開）機能
    - 出力サニタイズ（マークダウン・自然言語の自動除去）
    - コンテキスト注入（定数/設定ファイル先行変換）
    - エコシステムファイル変換（13言語グループ間）
    - GUI / CLI 対応
    - 8言語UI（日英中韓西仏独葡）
    - PyInstaller による EXE 生成対応

============================================================
