ソフトウェア開発を効率化する「SourceSage」の使い方

AI・機械学習

ソフトウェア開発において、コードの品質向上やドキュメント管理は重要ですが、手間のかかる作業です。「SourceSage」は、AIの力を活用してこれらの課題を自動化し、開発のライフサイクル全体を通して生産性向上を支援するPythonツールです。

この記事では、まずSourceSageのインストールと基本的な使い方を解説し、続いて3つの主要機能である「IssueWise」「CommitCraft」「DocuMind」について、具体的な使用例を交えながら丁寧に説明します。

SourceSageのクイックスタート

インストール方法

SourceSageを使用するには、以下のようにpipでインストールします。

pip install sourcesage

基本的な使い方

  1. 解析対象のプロジェクトのルートディレクトリに移動します。
cd ~/my_project
  1. sourcesageコマンドを実行します。
sourcesage
  1. オプションで、GitHubリポジトリのオーナー名とリポジトリ名を指定できます。
sourcesage --owner Sunwood-ai-labs --repository SourceSage

file

  1. 除外ファイルを指定する場合は、.SourceSageignoreファイルを作成します。
# .SourceSageignoreの例
node_modules/
*.log
*.tmp

SourceSageを実行すると、SourceSageAssetsディレクトリに各種ファイルが生成されます。これらのファイルをAIに入力することで、課題修正やコミットメッセージ生成、ドキュメント化などを自動で行えます。

file

IssueWise:開発前の課題をAIで自動修正

IssueWiseは、GitHubのオープンIssue(未解決の課題)を自動取得し、SourceSageが生成したプロジェクト概要と組み合わせることで、AIによる課題の自動修正をサポートします。

使い方

  1. SourceSageを実行すると、SourceSageAssets/ISSUE_WISE/ISSUES_RESOLVEディレクトリにマークダウンファイルが生成されます。

  2. このマークダウンファイル(例: docs/SAMPLE/SAMPLE_ISSUE_11.md)をそのままChatGPTなどのAIに入力します。

file

  1. AIがIssueの内容とプロジェクト概要を分析し、修正コードを提案してくれます。

file

使用例

例えば、あるプロジェクトで「ログイン機能が動作しない」というIssueが上がっているとします。IssueWiseを使うと、関連するソースコードとIssueの説明をまとめたマークダウンファイルが自動生成されます。

これをAIに渡すことで、「LoginControllerクラスのauthenticateメソッドの条件分岐に誤りがある」といった具体的な指摘と修正コードの提案が得られるかもしれません。開発者はAIからのフィードバックをもとに問題箇所を特定し、素早く修正を行えます。

CommitCraft:AIがコミットメッセージを自動生成

CommitCraftは、開発中のコード変更を追跡し、AIを活用して適切なコミットメッセージを自動生成するツールです。

使い方

  1. コードの変更をステージングした状態でSourceSageを実行すると、SourceSageAssets/COMMIT_CRAFT/STAGED_DIFF.mdファイルが生成されます。

  2. このマークダウンファイル(例: docs/SAMPLE/SAMPLE_STAGE_INFO_AND_PROMT.md)をそのままAIに入力します。

file

  1. AIがコードの変更内容を分析し、コミットメッセージを提案してくれます。

file

使用例

例えば、あるコミットで「ユーザープロフィールの編集機能を追加」という変更が行われたとします。CommitCraftを使うと、変更差分とその説明を含むマークダウンファイルが自動生成されます。

これをAIに渡すと、「feat: ユーザープロフィール編集機能の追加 (#123)」といった、変更内容を端的に表現したコミットメッセージが提案されます。開発者は内容を確認し、必要であれば修正を加えてからgit commitを実行できます。

ステージされた変更とオープンIssueの情報を組み合わせたマークダウンファイル(例: docs/SAMPLE/SAMPLE_STAGE_INFO_AND_ISSUES_AND_PROMT.md)を使うと、Issueの文脈を踏まえたより適切なコミットメッセージが得られます。

DocuMind:リリース後のドキュメントをAIが自動生成

DocuMindは、リリース後のプロジェクトを統合的にドキュメント化するためのツールです。SourceSageが生成するプロジェクト概要と、自動生成されたコミット履歴を組み合わせることで、AIがプロジェクトの全体像を把握し、ドキュメントを自動生成します。

使い方

  1. SourceSageを実行すると、SourceSageAssets/DocuMind.mdファイルとSourceSageAssets/Changelogディレクトリ内のマークダウンファイルが生成されます。

  2. これらのファイル(例: docs/SAMPLE/SAMPLE_DocuMind.mddocs/SAMPLE/SAMPLE_CHANGELOG_release_4.1.0.md)をそのままAIに入力します。

file

  1. AIがプロジェクトの構造と変更履歴を分析し、リリースノートやドキュメントを生成してくれます。

file

使用例

例えば、バージョン1.0.0としてリリースされたプロジェクトがあるとします。DocuMindを使うと、プロジェクトの概要とそれまでのコミット履歴を統合したマークダウンファイルが自動生成されます。

これをAIに渡すと、「バージョン1.0.0では、ユーザー認証機能とプロフィール管理機能を追加しました。主な変更点は以下の通りです...」といった、リリースノートの草稿が提案されます。開発者はこれをベースに、必要な加筆・修正を行ってドキュメントを完成させられます。

また、コミット履歴から、各機能の技術的な詳細についての説明も生成できるでしょう。これにより、ドキュメントの作成に詳しい技術知識がなくても、AIの支援を受けながら効率的にドキュメント化を進められます。

まとめ

SourceSageの導入方法と、3つの主要機能であるIssueWise、CommitCraft、DocuMindについて、具体的な使用例を交えて解説しました。

SourceSageとAIを組み合わせることで、ソフトウェア開発のライフサイクル全体を通して生産性を高められます。初めての方は、まずシンプルなプロジェクトでSourceSageを試してみることをおすすめします。徐々に適用範囲を広げながら、開発プロセスに馴染ませていきましょう。

SourceSageの導入で、コード品質の向上とドキュメント管理の効率化を実現し、開発者はよりクリエイティブな仕事に集中できるようになるでしょう。ぜひ、この強力なツールを活用して、ソフトウェア開発を加速させてください。

リポジトリ

GitHub - Sunwood-ai-labs/SourceSage
Contribute to Sunwood-ai-labs/SourceSage development by creating an account on GitHub.

ライブラリ

sourcesage
None

コメント

タイトルとURLをコピーしました