
新機能
- **AIRA と Harmon.AI の設定を追加:** プロジェクトの自動化とコード生成を強化するために、AIRA と Harmon.AI の設定ファイルを追加しました。これにより、リポジトリ情報、コミットメッセージ、ブランチ名、LLM モデル、README 生成の設定、そして Harmon.AI の環境変数、製品情報、開発設定などを指定できるようになりました。
リファクタリング
- **`source_sage` モジュールのリファクタリング:** 出力ファイルのディレクトリが存在しない場合に作成する処理を追加し、ログ出力を改善しました。
- **`ReleaseDiffReportGenerator` クラスのリファクタリング:** subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、エラー処理を追加しました(22)。
- **`GitCommander` モジュールの追加:** Git コマンドを実行するための GitCommander モジュールを追加しました。このモジュールは、subprocess を使用して Git コマンドを実行し、ログ出力とエラー処理を提供します。
- **`DocuMind` クラスの追加:** リリースノートを生成する DocuMind クラスを追加しました。このクラスは、指定された LLM モデルを使用して、DocuMind ファイル、リリースレポート、変更履歴に基づいたリリースノートを生成します(24)。
- **`DiffChangelogGenerator` クラスのリファクタリング:** GitPython の代わりに subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、より詳細な情報を表示するように変更しました。さらに、日本語の出力に対応しました。
- **`CommitCraft` クラスの追加:** ステージ情報からコミットメッセージを生成する CommitCraft クラスを追加しました。このクラスは、指定された LLM モデルを使用して、ステージ情報に基づいたコミットメッセージを生成します(23)。
その他
- `config/STAGE_INFO/STAGE_INFO_TEMPLATE_GAIAH_B.md` のフォーマットを更新し、`commit messages title` の項目を追加しました。これにより、より詳細なコミットメッセージを生成できるようになります。
- `config/constants.py` の定数を整理し、DocuMind に関する定数と SourceSage markdown ファイルのパスに関する定数を追加しました。
- `config/language_map.json` に `.h` を追加し、C++ ファイルとして認識するように修正しました。これにより、C++ プロジェクトの解析精度が向上します。
- `core.py` の `run` メソッドをリファクタリングし、各機能の実行処理を分離しました。また、不要なログ出力を削除しました。
詳細
AIRA と Harmon.AI の設定
このリリースでは、AIRA と Harmon.AI の設定ファイルを追加しました。これらのファイルは、`aira/config.dev.yml` にあります。これらの設定を使用することで、SourceSage をより効率的に使用できます。
`source_sage` モジュールのリファクタリング
`source_sage` モジュールは、プロジェクトのソースコードとファイル構成を単一のマークダウンファイルに統合する機能を提供します。このリリースでは、出力ファイルのディレクトリが存在しない場合に作成する処理を追加し、ログ出力を改善しました。
`ReleaseDiffReportGenerator` クラスのリファクタリング
`ReleaseDiffReportGenerator` クラスは、リリース間の差分をマークダウン形式のレポートとして生成します。このリリースでは、subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、エラー処理を追加しました。
`GitCommander` モジュールの追加
`GitCommander` モジュールは、Git コマンドを実行するためのユーティリティを提供します。このモジュールは、subprocess を使用して Git コマンドを実行し、ログ出力とエラー処理を提供します。
`DocuMind` クラスの追加
`DocuMind` クラスは、リリースノートを生成します。このクラスは、指定された LLM モデルを使用して、DocuMind ファイル、リリースレポート、変更履歴に基づいたリリースノートを生成します。
`DiffChangelogGenerator` クラスのリファクタリング
`DiffChangelogGenerator` クラスは、変更履歴を生成します。このリリースでは、GitPython の代わりに subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、より詳細な情報を表示するように変更しました。さらに、日本語の出力に対応しました。
`CommitCraft` クラスの追加
`CommitCraft` クラスは、ステージ情報からコミットメッセージを生成します。このクラスは、指定された LLM モデルを使用して、ステージ情報に基づいたコミットメッセージを生成します。
その他の変更
`config/STAGE_INFO/STAGE_INFO_TEMPLATE_GAIAH_B.md` のフォーマットが更新され、`commit messages title` の項目が追加されました。これにより、より詳細なコミットメッセージを生成できるようになります。
`config/constants.py` の定数が整理され、DocuMind に関する定数と SourceSage markdown ファイルのパスに関する定数が追加されました。
`config/language_map.json` に `.h` が追加され、C++ ファイルとして認識するように修正されました。これにより、C++ プロジェクトの解析精度が向上します。
`core.py` の `run` メソッドがリファクタリングされ、各機能の実行処理が分離されました。また、不要なログ出力が削除されました。