Releases: Sunwood-ai-labs/SourceSage
SourceSage 4.1.0 リリースノート
概要
SourceSage 4.1.0では、以下の主要な機能追加と改善が行われました。
- プロジェクト全体の出力ファイル名と各モジュールの出力フォルダ名の変更
- PyPIのダウンロードバッジとCodacyのクオリティバッジの追加
- setup.pyの更新とバージョンアップ
- アスキーアートの追加によるソースコードの視認性向上
- CLI引数の追加とコアモジュールの修正
- プロジェクトの構成とファイルの変更によるシンプル化
- テストドキュメントの改善とわかりやすい説明の追加
- テストコードの修正とセットアップスクリプトの更新
- README.mdの見出しとビジュアル要素の追加による可読性の向上
- セットアップ手順、実行方法、クイックスタートセクションの更新
変更の詳細
プロジェクト全体の出力ファイル名と各モジュールの出力フォルダ名の変更
- プロジェクト全体の出力ファイル名を "SourceSage" から "DocuMind" に変更
- 関連するディレクトリ名とファイル名を新しいプロジェクト全体の出力ファイル名に合わせて更新
- setup.pyのバージョン番号を '4.0.11' から '4.0.12' に更新
- constants.pyの値を更新し、新しい名称に対応
PyPIのダウンロードバッジとCodacyのクオリティバッジの追加
- README.mdにPyPIの日次ダウンロード数と週次ダウンロード数のバッジを追加
- README.mdにCodacyのクオリティバッジを追加
- README.mdにこのリポジトリ自体がSourceSageを活用していることを明記
- setup.pyのバージョンを4.0.10から4.0.11に更新
- setup.pyにclassifiersを追加し、プロジェクトの状態や対象ユーザー、トピックを明示
setup.pyの更新とバージョンアップ
- setup.pyのバージョン番号を4.0.5から4.0.9へ変更
- パッケージデータの指定方法を修正し、サブディレクトリ以下のファイルも含めるように変更
- 依存ライブラリに
art
を追加
アスキーアートの追加によるソースコードの視認性向上
art
ライブラリをインポートSourceSage
クラスのrun
メソッドの先頭で、tprint
関数を使用して"SourceSage"のアスキーアートロゴを表示するように変更
CLI引数の追加とコアモジュールの修正
sourcesage/cli.py
とsourcesage/core.py
に新しいCLI引数--ignore-file
と--language-map
を追加- デフォルト値はパッケージ内の設定ファイルを使用するように修正
SourceSage
クラスのコンストラクタにignore_file
とlanguage_map_file
の引数を追加SourceSageModule
とStagedDiffGenerator
の初期化時に、追加した引数を渡すように修正tests/test_sourcesage.py
のテストケースを修正し、CLI引数を追加
プロジェクトの構成とファイルの変更によるシンプル化
- 不要なファイルやフォルダを削除
.env.example
ファイルSourceSage.py
ファイルdocs/HTML/timeline_sample.md
ファイルdocs/css/style.css
ファイル
.SourceSageignore
ファイルを更新し、必要なフォルダや一時ファイルが除外対象になるように設定
テストドキュメントの改善とわかりやすい説明の追加
- テストコマンドの説明を「テストの実行」という見出しに変更し、ユニットテストの実行方法を詳しく説明
- 本番環境でのテストについて、新しい章を追加し、
sourcesage
コマンドの使用方法を説明 - リポジトリの指定について、新しい章を追加し、オーナー名とリポジトリ名の指定方法を説明
- コマンドのフォーマットをマークダウンのコードブロックで囲み、視覚的に分かりやすく改善
- 各章の説明文を追加し、内容をより明確化
テストコードの修正とセットアップスクリプトの更新
- テストコードの修正:
test_sourcesage_cli
関数内のsys.argv
に--owner
と--repository
の引数を追加test_sourcesage_core
関数内のSourceSage
クラスのインスタンス化時に、owner
とrepository
の引数を追加- テストコードが指定されたコマンド
sourcesage --owner Sunwood-ai-labs --repository SourceSage
に対応するように変更
- セットアップスクリプトの更新:
setup.py
ファイルにpackage_data
の設定を追加し、sourcesage
パッケージ内のconfig
ディレクトリ以下のファイルがパッケージに含まれるように変更
.gitignore
ファイルにtemp/
ディレクトリを追加し、テスト実行時に生成される一時ディレクトリをGitの管理対象から除外
README.mdの見出しとビジュアル要素の追加による可読性の向上
- プロジェクトの標語「~Transforming code for AI~」を中央揃えの見出しに変更し、周囲に余白を追加
- PyPIでの最新バージョンを示すバッジを挿入し、現在のバージョンを確認しやすく改善
- 不要な空白行を削除してドキュメントを整理し、情報の密度を高める
- PyPIのバージョンバッジを追加し、最新パッケージバージョンを一目で識別できるように改善
セットアップ手順、実行方法、クイックスタートセクションの更新
- セットアップ手順の追加: SourceSageのインストールに必要な手順を追加し、pipを使用したインストール方法を明記
- クイックスタートガイドの導入: 新たにクイックスタートセクションを設け、SourceSageの基本的な使用方法についての手順を追加
- プロジェクトディレクトリへの移動からSourceSageの実行、生成されるファイルの説明までをステップバイステップで説明
- リポジトリのIssue取得方法に関する説明の改善: GitHubのリポジトリIssueを取得する方法の説明を更新し、リポジトリのオーナー名とリポジトリ名をコマンドライン引数で指定する方法を詳述
まとめ
SourceSage 4.1.0では、プロジェクトの構成や出力ファイル名の変更、各種バッジの追加、セットアップ手順やクイックスタートガイドの充実化など、ユーザビリティと視認性の向上に重点を置いた改善が行われました。また、テストコードの修正やドキュメントの改善により、開発者にとってもより使いやすく、メンテナンスしやすいプロジェクトになりました。
今後もSourceSageは、ユーザーと開発者双方のフィードバックを取り入れながら、継続的な改善と機能追加を行っていきます。ご期待ください!
SourceSage v4.0.3 リリースノート
新機能
README.mdの設定手順をセットアップ手順に更新
README.mdにおけるプロジェクト設定手順のセクションを、より簡潔で直接的なセットアップ手順に更新しました。具体的には、pip install sourcesage
によるインストール方法に変更し、ユーザーがプロジェクトをより簡単にセットアップできるようになりました。
README.mdの実行手順の簡素化
README.mdに記載された実行手順を簡素化しました。sourcesage
コマンドを使用するように変更し、ユーザーがコマンドをより容易に記憶し実行できるようにしました。この変更により、ユーザーインターフェースの向上が期待されます。
コマンドライン引数にリポジトリのオーナーと名前を指定可能に
cli.py
に--owner
と--repository
の引数を追加し、ユーザーはリポジトリのオーナーとリポジトリ名をコマンドラインから簡単に指定できるようになりました。これにより、異なるリポジトリに対してのサポートが強化されます。
改善
CLI引数の取り扱いを改善
sourcesage/cli.py
ファイルにて、CLI引数のデフォルト値の設定方法を変更し、argparse
のデフォルト機能を利用するようにしました。この変更により、コードがより簡潔になり、可読性が向上しました。
Constants
クラスのコンストラクタにowner
とrepository
を追加
constants.py
のConstants
クラスのコンストラクタが、リポジトリのオーナーとリポジトリ名を受け取るように変更されました。また、SourceSage
クラスの初期化メソッドにもこれらの引数を追加しました。
ドキュメント
テスト実行方法のドキュメントを更新
tests/README.md
の内容を更新して、テスト実行に関する説明をより明確かつ具体的にしました。これにより、テストプロセスの実行方法が明確になります。
テスト手順のドキュメントを追加
tests/README.md
にテスト手順のドキュメントを新規作成しました。このドキュメントでは、特定のコマンドを使用してテストを実行する方法について説明しています。
バグ修正
DOCS_DIR
のパスが誤ってdocs
フォルダを指していたのを、正しくconfig
フォルダを指すように修正しました。
SourceSage v4.0.3では、ユーザビリティの向上、コードの可読性と保守性の向上、ドキュメントの充実化などに重点を置いて開発を進めました。新機能と改善により、より使いやすく柔軟なツールへと進化しています。
SourceSage v3.1.0 リリースノート
概要
SourceSage V3.1.0では、コードの品質と保守性を向上させるためのリファクタリングと機能改善が行われました。主な変更点は以下の通りです。
新機能
- コミットメッセージのフォーマットとタイプの説明を追加
- タイトルに種類と概要を記載するフォーマットを導入
- コミットメッセージの種類(feat, fix, docs, styleなど)の説明を追加
- ドキュメントテンプレートにコミットメッセージのフォーマットとタイプの説明を追記
機能改善
- コマンドラインからソースコードのリポジトリパスを取得するように修正
StagedDiffGenerator
クラスのコンストラクタ引数repo_path
を、定数const.REPO_PATH
から現在のワーキングディレクトリを取得するos.getcwd()
に変更- これにより、コマンドラインから
SourceSage.py
を実行する際に、ソースコードのリポジトリパスを適切に取得できるようになり、より柔軟に利用可能に
IssuesToMarkdown
クラスにloguru
を使用したログ出力を追加load_data()
メソッド内で、データのロード状況をログ出力するように改善create_markdown_files()
メソッド内で、マークダウンファイルの作成状況をログ出力するように改善- これにより、処理の進行状況や重要な情報がログに記録され、デバッグやモニタリングがしやすくなった
- ドキュメントのフォーマットを改善
- コミットメッセージのフォーマットをマークダウン形式に変更し、種類の説明を追加
- これにより、ドキュメントの読みやすさが向上し、コミットメッセージの作成がより明確に
リファクタリング
- 定数の管理方法を改善
- 環境変数の利用をやめ、定数を一箇所で管理するように変更
config/constants.py
ファイルを新規作成し、定数を定義SourceSage.py
のmain
関数内で定数を使用するように修正- これにより、コードの可読性と保守性が向上し、定数の管理がシンプルになった
- Git関係のモジュールのリファクタリング
GitHubIssueRetrieve.py
とStagedDiffGenerator.py
の重複部分を削除し、GitHubUtils.py
モジュールにまとめたChangelogGenerator.py
とDiffChangelogGenerator.py
の共通部分をChangelogUtils.py
モジュールに抽出- これにより、モジュール間の依存関係が整理され、コードの可読性と保守性が向上
- ドキュメントテンプレートを整理
- ドキュメントのテンプレートファイルを
docs
ディレクトリ下に移動 - テンプレートファイルのパスを定数で管理するように変更
- ドキュメントのテンプレートファイルを
その他の変更
.gitignore
ファイルの更新- パッケージのバージョン番号を3.1.0に更新
以上の変更により、SourceSageの機能性と保守性が向上し、より効率的で使いやすいツールになりました。今後もフィードバックを取り入れながら、継続的な改善を行っていきます。
SourceSage v3.0.0 リリースノート
SourceSageは、プロジェクトのソースコードとファイル構成を単一のマークダウンファイルに統合し、AIによる自動修正やドキュメント化を実現するPythonスクリプトです。開発のライフサイクル全体を通して、コードの品質向上と生産性の向上を支援します。
新機能
IssueWise - 開発前の課題解決
- GitHubのオープンIssueを自動取得し、AIによる課題の自動修正をサポート
- 課題を効率的に特定し、迅速に解決策を見つけられます
CommitCraft - 開発中のコミット管理
- 変更差分を追跡し、AIが適切なコミットメッセージを自動生成
- コミットの内容を正確に記述でき、変更履歴を明確に管理できます
DocuMind - リリース後のドキュメント化
- プロジェクトの概要とGitの変更履歴を組み合わせてドキュメント化
- プロジェクトの全体像を把握しやすく、メンテナンス性が向上します
機能改善
- ChangelogGeneratorクラスを導入し、コードの可読性と保守性を向上
- 言語ごとのシンタックスハイライト機能を追加し、複数の言語に対応
- 対象フォルダの指定やファイルの除外設定を複数行に対応させ、柔軟性を向上
- コード生成時のエラー処理を改善
- 設定ファイルの場所を外部化し、全体的な設定の管理が容易になりました
バグ修正
- #2 SourceSage.pyのパラメータを環境変数(.env)から設定できるように修正
- [fix] issue#2 SourceSage.pyのパラメータを環境変数(.env)から設定できるようにする
- #7 #6 MarkdownファイルからAIに入力して自動修正できる機能を追加
- [feat] コミットメッセージのフォーマットとタイプの説明を追加
- [feat] ステージの差分生成と課題の取得を実装 #3
- #4 リファクタリングによるコード構造の改善
- [refactor] Git関連モジュールのリファクタリング
その他の変更
- .SourceSageignoreファイルを導入し、不要なファイルやフォルダを自動的に除外できるようになりました
- ソースコードの可読性と保守性を高めるためのリファクタリングが行われました
- READMEファイルと各種ドキュメントが改善され、プロジェクトの理解が容易になりました
SourceSage v3.0.0では、開発ライフサイクル全体をサポートする多くの新機能が導入されました。課題の自動解決、適切なコミットメッセージの生成、ドキュメント化の自動化などにより、開発効率と品質の向上が期待できます。また、コードの保守性と可読性の向上により、長期的な開発作業がスムーズになるでしょう。
SourceSage 2.0.0 リリースノート
はじめに
SourceSage 2.0.0のリリースを発表できることを嬉しく思います!このバージョンでは、ツールの使いやすさ、保守性、効率性を向上させるために、いくつかの重要な機能強化と新機能が導入されています。SourceSageは、プロジェクトのソースコードとファイル構造を単一のマークダウンファイルに統合するPythonスクリプトで、大規模な言語モデル(AI)がプロジェクト全体の構造と内容を容易に理解できるようにします。
新機能
- ChangelogGeneratorクラス: コードの可読性と保守性を向上させるために、ChangelogGeneratorクラスを導入しました。このクラスは、
get_repo()
、get_commits()
、format_commit()
の各機能を統合し、コードをよりモジュール化し、再利用しやすくしています。 - シンタックスハイライト: SourceSageは、複数のプログラミング言語のシンタックスハイライトをサポートするようになりました。この機能により、生成されたマークダウンファイルの可読性が向上し、ソースコードスニペットの理解が容易になります。
- 柔軟な除外設定: ファイルとフォルダの除外設定を改善し、複数行をサポートするようになりました。これにより、ユーザーは生成されたマークダウンファイルから除外するファイルとフォルダを簡単に指定できます。
- 外部設定ファイル: 設定を別のファイルに外部化し、ツールの動作を管理しカスタマイズしやすくなりました。
- .SourceSageignoreファイル: 自動的に除外するファイルとフォルダを列挙する
.SourceSageignore
ファイルを導入しました。この機能により、プロジェクトの整理が簡素化され、不要なファイルやフォルダが生成されたマークダウンファイルに含まれないようになります。 - Git変更履歴: SourceSageは、Git変更履歴を自動的に生成してドキュメント化するようになりました。この機能により、開発プロセスの透明性と可視性が向上し、変更の追跡とプロジェクトの進化の理解が容易になります。
改良点
- エラー処理: コード生成時のエラー処理を改善し、ツールをより堅牢でユーザーフレンドリーにしました。
- コードの可読性: コードベースをリファクタリングして、可読性と保守性を向上させました。不要なコメントを削除し、コード構造を最適化して理解しやすくしました。
- READMEの改善: プロジェクトのREADMEファイルを統合し、ツールの機能、使用方法、例をより明確かつ簡潔に説明するように改良しました。
変更履歴
変更とコミットの詳細については、統合された変更履歴(docs/Changelog/CHANGELOG_integrated.md)ファイルを参照してください。
アップグレード手順
SourceSage 2.0.0にアップグレードするには、以下の手順に従ってください:
- GitHubからリポジトリの最新バージョンをクローンします。
- 更新されたREADMEファイルを確認し、使用方法や設定に変更がないか確認します。
- プロジェクトの
.SourceSageignore
ファイルを更新して、生成されたマークダウンファイルから除外するファイルとフォルダを指定します。 SourceSage.py
スクリプトを実行して、更新されたマークダウンファイルとGit変更履歴を生成します。
おわりに
SourceSage 2.0.0は、使いやすさ、保守性、効率性の面で大きな前進を遂げたと考えています。このリリースで導入された新機能と改良点は、ユーザーがプロジェクトをより良く理解し管理するのに役立ち、AI言語モデルがソースコードとファイル構造を分析し処理するのが容易になります。
このリリースを可能にしてくれたすべてのコントリビューターに感謝いたします。ご質問やご意見、問題が発生した場合は、プロジェクトのGitHubリポジトリを通じてお気軽にお問い合わせください。
SourceSageをご利用いただきありがとうございます。バージョン2.0.0の新機能と改良点を楽しんでいただければ幸いです!