Skip to content

Sunwood-ai-labs/SourceSage

Repository files navigation


SourceSage

~Transforming code for AI~
PyPI - Version PyPI - Format PyPI - Implementation PyPI - Status PyPI - Downloads PyPI - Downloads

SourceSage - Sunwood-ai-labs GitHub Repo stars forks - Sunwood-ai-labs GitHub Last Commit GitHub Top Language GitHub Release GitHub Tag GitHub Actions Workflow Status

[🌐 Website][🐱 GitHub] [🐦 Twitter][🍀 Official Blog]

SourceSageは、リポジトリの構造と内容を包括的に分析し、AIフレンドリーなドキュメントを生成するツールです。主にRepository_summary.mdの生成とRELEASE_REPORTの作成機能を提供します。

Important

このリポジトリのリリースノートやREADME、コミットメッセージの9割近くはclaude.aiChatGPT4を活用したAIRA, SourceSage, Gaiah, HarmonAI_IIで生成しています。

リリースノート

最新の更新内容はGitHubのリリースページをご覧ください。

https://github.com/Sunwood-ai-labs/SourceSage/releases

🎯 主な機能

SourceSageはシンプルで軽量なリポジトリ分析ツールで、以下の2つの主要機能を提供します:

1. 📋 Repository Summary Generation

リポジトリの構造、コミット情報、ファイル統計を包括的に分析し、AIフレンドリーなマークダウンドキュメントを生成します。

出力ファイル: .SourceSageAssets/DOCUMIND/Repository_summary.md

含まれる情報:

  • 🌳 プロジェクトツリー構造
  • 📋 Gitリポジトリ情報
  • 📈 ファイルサイズと行数統計
  • 📝 ファイル内容の詳細

2. 📄 Release Report Generation

Gitタグ間の差分を分析し、リリースレポートを自動生成します。

出力ファイル: .SourceSageAssets/RELEASE_REPORT/Report_{latest_tag}.md

含まれる情報:

  • 🏷️ バージョン比較
  • 🔄 変更差分の詳細
  • 📋 コミット履歴
    • 📂 リポジトリ基本情報(リモートURL、ブランチ、最新コミットなど)
    • 📖 READMEの内容(オプション)

🚀 クイックスタート

📦 インストール(最短)

git clone https://github.com/Sunwood-ai-labs/SourceSage.git
cd SourceSage
uv sync
uv run ss

備考: パッケージとして利用する場合は pip install sourcesage 後に ss(または sourcesage)を実行できます。

🗺️ 基本的な使用方法(必要最小限)

# リポジトリサマリを生成
uv run ss

# リリースレポートを生成(タグ間の差分)
uv run ss --ss-mode GenerateReport

出力先:

  • Repository Summary: .SourceSageAssets/DOCUMIND/Repository_summary.md
  • Release Report: .SourceSageAssets/RELEASE_REPORT/Report_{latest_tag}.md

よく使うオプション(抜粋):

uv run ss --ss-output ./out           # 出力先を変更
uv run ss --ignore-file .gitignore    # 無視ルールを指定
uv run ss --ss-mode Sage              # サマリのみ
uv run ss --ss-mode GenerateReport    # レポートのみ

メモ:

  • --ignore-file--language-mapを省略すると、同梱デフォルト(sourcesage/config/)を自動的に利用します。
  • Release Reportはタグが2つ以上ある場合に生成されます。

📊 生成される内容例

Repository Summary

    # Project: SourceSage

    ```plaintext
    OS: posix
    Directory: /path/to/project

    ├── .SourceSageignore
    ├── pyproject.toml
    ├── sourcesage/
    │   ├── __init__.py
    │   ├── cli.py
    │   └── modules/
    │       ├── DocuSum/
    │       └── DiffReport/
    │           ├── __init__.py
    │           ├── git_diff.py
    │           └── markdown_report.py
    └── README.md
    ```

    ## 📊 プロジェクト統計

    - 📅 作成日時: 2025-02-02 16:22:31
    - 📁 総ディレクトリ数: 5
    - 📄 総ファイル数: 15
    - 📏 最大深度: 3

🛠️ 開発環境

SourceSageは現代的なPython開発環境をサポートしています:

  • Python: 3.8以降
  • パッケージ管理: uv / pip
  • ビルドシステム: hatchling
  • 設定ファイル: pyproject.toml

開発用セットアップ

# uvを使った開発環境構築
git clone https://github.com/Sunwood-ai-labs/SourceSage.git
cd SourceSage
uv sync

# テスト実行
uv run pytest

# コードフォーマット
uv run black sourcesage/
uv run isort sourcesage/

# パッケージビルド
uv build

💡 使用例

# 1) リポジトリサマリを出力
uv run ss

# 2) リリースレポートを出力(タグ差分)
uv run ss --ss-mode GenerateReport

# 3) 出力先を変更
uv run ss --ss-output ./analysis

貢献

SourceSageの改善にご協力ください!バグの報告や機能追加の提案がある場合は、GitHubリポジトリでIssueを開くかプルリクエストを送信してください。

ライセンス

このプロジェクトはMITライセンスの下で公開されています。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages