# 実装計画

- [x] 1. プロジェクト構造の準備とパッケージ名変更
  - `theme_manager/`パッケージを`qt_theme_manager/`に名称変更
  - パッケージ内のインポート文を新しい名前に更新
  - `__init__.py`でのパブリックAPI定義を確認・更新
  - _要件: 1.4, 4.1, 4.2, 4.3, 4.4_

- [x] 2. GUI関連ファイルの移行準備
  - `migrate/`ディレクトリを作成
  - 移行対象ファイルリストの定義と検証
  - ファイル移行機能の実装（構造保持）
  - _要件: 3.1, 3.2, 3.3, 3.4_

- [x] 2.1 GUI起動スクリプトの移行
  - `launch_theme_editor.py`を`migrate/`に移動
  - `launch_zebra_theme_editor.py`を`migrate/`に移動
  - `launch_gui_preview.py`を`migrate/`に移動
  - 移行後のファイル整合性を確認
  - _要件: 3.1, 3.2_

- [x] 2.2 エディタ関連ファイルの移行
  - `theme_editor_zebra_extension.py`を`migrate/`に移動
  - `zebra_pattern_editor.py`を`migrate/`に移動
  - `analyze_zebra_colors.py`を`migrate/`に移動
  - `improve_zebra_colors.py`を`migrate/`に移動
  - _要件: 3.1, 3.2_

- [x] 2.3 ディレクトリ全体の移行
  - `examples/`ディレクトリを`migrate/examples/`に移動
  - `scripts/`ディレクトリを`migrate/scripts/`に移動
  - `utils/`ディレクトリを`migrate/utils/`に移動
  - 移行後のディレクトリ構造を検証
  - _要件: 3.1, 3.2_

- [x] 3. Qt自動検出システムの実装
  - Qt フレームワーク検出ロジックの実装
  - PySide6 → PyQt6 → PyQt5 の優先順位実装
  - 検出失敗時のエラーハンドリング実装
  - 検出結果のキャッシュ機能実装
  - _要件: 2.1, 2.2, 2.3_

- [x] 3.1 Qt検出例外クラスの実装
  - `QtFrameworkNotFoundError`例外クラスを作成
  - 推奨インストール方法を含むエラーメッセージ実装
  - 各Qtフレームワークの最小バージョン要件チェック
  - _要件: 2.2, 2.4_

- [x] 4. コアライブラリ機能の整理と最適化
  - `qt_theme_manager/__init__.py`のパブリックAPI整理
  - 既存のThemeController、ThemeLoader、StylesheetGeneratorの動作確認
  - 後方互換性の検証とテスト実装
  - _要件: 4.1, 4.3, 4.4_

- [x] 4.1 CLI機能の分離と最適化





  - `main.py`からGUI関連コードを削除
  - CLI専用エントリーポイントの実装
  - `cli/main.py`と`cli/themectl.py`の最適化
  - _要件: 4.2_

- [x] 5. コード品質の向上





  - PEP 8準拠のコード整形（black、isort、autoflake使用）
  - 79文字行長制限の適用
  - 全関数・メソッドへの型ヒント追加
  - 全パブリックAPI要素へのdocstring追加
  - _要件: 5.1, 5.2, 5.3, 5.4_

- [x] 5.1 ログ出力の改善


  - print文をloggerに置き換え
  - 適切なログレベルの設定
  - ログ設定の外部化
  - _要件: 5.5_

- [x] 5.2 未使用インポートの削除


  - 全ファイルの未使用インポート検出と削除
  - インポート順序の最適化（isort使用）
  - 循環インポートの検出と解決
  - _要件: 5.6_

- [x] 6. パッケージング設定の最適化








  - `pyproject.toml`のライブラリ専用設定更新
  - 依存関係の最小化（Qt自動検出対応）
  - 開発依存関係の[dev]セクション分離
  - _要件: 7.1, 7.4, 7.5_

- [x] 6.1 setup.pyの最適化


  - ライブラリ配布用のsetup.py更新
  - エントリーポイントの整理（CLI専用）
  - パッケージデータの最適化
  - _要件: 7.2_

- [x] 6.2 MANIFEST.inの調整





  - GUI関連ファイルの除外設定
  - ドキュメントファイルの適切な包含
  - _要件: 7.3_

- [x] 7. 包括的テストスイートの実装





  - 既存機能の単体テスト実装（95%カバレッジ目標）
  - Qt自動検出機能のテスト実装
  - API互換性テストの実装
  - CLI機能のテスト実装
  - _要件: 8.1, 8.2, 8.3, 8.4, 8.5_

- [x] 7.1 統合テストの実装


  - クロスプラットフォーム対応テスト
  - 各Qtフレームワーク（PySide6/PyQt6/PyQt5）での動作テスト
  - 設定ファイル処理のテスト
  - _要件: 8.4, 8.6_

- [x] 8. ドキュメントの更新





  - README.mdにライブラリ分離思想セクションを追加
  - API_REFERENCE.mdをライブラリ機能のみに更新
  - INSTALL.mdをライブラリ専用インストール手順に更新
  - GUI関連の参照を削除または移行済みマークに変更
  - _要件: 6.1, 6.2, 6.3, 6.4, 6.5_

- [x] 8.1 ライブラリ分離思想の文書化


  - 分離の背景と利点の詳細説明
  - 関心の分離による保守性向上の説明
  - 外部開発者の貢献促進に関する説明
  - 長期的な持続可能性の実現方法の説明
  - _要件: 6.1, 6.5_

- [x] 9. 最終検証と統合テスト










  - 全機能の動作確認テスト
  - 後方互換性の最終検証
  - パフォーマンステスト（インポート時間、メモリ使用量）
  - 移行完了状態の確認
  - _要件: 8.1, 8.2, 8.3_

- [x] 9.1 配布準備の最終確認


  - PyPI配布用パッケージのビルドテスト
  - インストールテスト（pip install）
  - 基本機能の動作確認
  - ドキュメントの整合性確認
  - _要件: 7.1, 7.2, 7.3_
