Skip to main content

IRISリポジトリをクローンし、.githubフォルダをコピーするパッケージ

Project description


IRIS

~ Intelligent Repository Issue Solver ~

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]

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

🌟 はじめに

I.R.I.S(Intelligent Repository Issue Solver)は、GitHubリポジトリのイシュー管理を劇的に向上させるインテリジェントアシスタントです。機械学習と自然言語処理を活用し、イシューの自動分類、優先順位付け、解決策の提案を行います。

初めての方でも簡単に使い始められるよう、以下では詳しい説明と手順を記載しています。

🚀 機能

  • イシューの自動ラベリング:新しいイシューが作成されると、AIがその内容を分析し、適切なラベルを自動的に付与します。
  • 複数のAIモデルを活用したイシュー分析:Google Gemini AIなど、高度な自然言語処理モデルを用いて、イシューの内容を深く理解します。
  • GitHubアクションを通じた自動化プロセス:人間の介入なしに、24時間365日稼働します。
  • カスタマイズ可能なラベル管理:CSVファイルを通じて、プロジェクト固有のラベルを簡単に定義・管理できます。
  • 詳細なコメント生成:イシューに対して深い洞察を提供する詳細なコメントを自動生成します。
  • 変更提案:イシューに基づいて具体的な変更提案を生成し、プルリクエストの作成をサポートします。
  • 自動リリースノート生成:プルリクエストのマージ時に、AIを使用して自動的にリリースノートを生成します。
  • READMEの自動更新:新しいリリースが発生すると、リリースノートの内容をREADMEに反映します。
  • タグ付与での自動リリースノート作成:タグが付与されると、そのタグに対応するリリースノートが自動的に作成されます。
  • 英語README作成:READMEが更新されると、同時に英語版READMEが作成されます。

📁 リポジトリ構造

IRIS/
├─ .github/
│  ├─ scripts/
│    ├─ deep_comment.py
│    ├─ suggest_changes.py
│    ├─ label_adder.py
│    └─ generate_github_release_notes.py
│  ├─ workflows/
│    ├─ issue-deep-comment.yml
│    ├─ issue-review.yml
│    └─ generate-release-notes.yml
│  ├─ services/
│    └─ github_service.py
│  └─ config.py
├─ docs/
│  └─ .sourcesage_releasenotes.yml
└─ README.md

🛠️ インストールと設定(初心者向けステップバイステップガイド)

  1. リポジトリのクローン:

    • GitHubアカウントをお持ちでない場合は、まずGitHubに登録してください。
    • IRIS リポジトリにアクセスし、緑色の「Code」ボタンをクリックします。
    • 「Download ZIP」を選択してファイルをダウンロードし、解凍します。
  2. ワークフローファイルのコピー:

    • 解凍したフォルダ内の .github/workflows/ ディレクトリにある全てのYAMLファイルを見つけます。
    • これらのファイルをあなたのGitHubリポジトリの .github/workflows/ ディレクトリにコピーします。 (.github/workflows/ ディレクトリがない場合は作成してください)
  3. GitHubシークレットの設定:

    • GitHubリポジトリのページで「Settings」タブをクリックします。
    • 左側のメニューから「Secrets and variables」→「Actions」を選択します。
    • 「New repository secret」ボタンをクリックし、以下のシークレットを追加します:
      • GITHUB_TOKEN: GitHubのパーソナルアクセストークン
      • GEMINI_API_KEY: Google AI StudioのAPIキー
      • YOUR_PERSONAL_ACCESS_TOKEN: GitHubのパーソナルアクセストークン(リポジトリへの書き込み権限が必要)
      • YOUR_PERSONAL_ACCESS_TOKEN_IRIS: IRISシステム用の特別なパーソナルアクセストークン
    • これらのキーの取得方法が分からない場合は、各サービスのドキュメントを参照するか、開発者に相談してください。
  4. 依存関係のインストール:

    • requirements.txt ファイルに記載された依存関係をインストールします。
    pip install -r requirements.txt
    

🔧 使用方法

IRISを設定したら、以下のように動作します:

  1. あなたのリポジトリに新しいイシューが作成されると、IRISが自動的に起動します。
  2. AIがイシューの内容を分析します。
  3. 適切なラベルが提案され、自動的にイシューに適用されます。
  4. 詳細なコメントがイシューに追加されます。
  5. 必要に応じて、変更提案が生成されます。
  6. プルリクエストがマージされると、自動的にリリースノートが生成されます。
  7. 新しいリリースが発生すると、リリースノートの内容がREADMEに自動的に反映されます。

特別な操作は必要ありません。新しいイシューを作成するだけで、IRISが自動的に処理を行います。

📝 更新情報

  • v0.5.5: README自動更新処理の改善、英語READMEの更新、ヘッダー画像の更新。
  • v0.5.4: 英語READMEの更新、SourceSageの設定ファイルのバージョン情報の更新、不要なREADMEの記述の削除、README自動更新機能の改善、いくつかのコード変更。
  • v0.5.3: READMEの自動更新、タグ付与によるリリースノート作成、英語README作成など、新機能と改善点が追加されました。
  • v0.5.1: ドキュメントと構造を改善し、ユーザーエクスペリエンスを向上させました。
  • v0.5.0: リリースノートの自動生成、READMEの自動更新、ヘッダー画像の生成など、新たな機能が追加されました。
  • v0.4.0: 自動リリースノート生成機能の追加(実験的機能)、GitHub Serviceの改善
  • v0.3.0: 詳細コメント生成機能、変更提案機能の追加
  • v0.2.0: Google Generative AI統合、ラベル管理システムの改善、ユーザビリティの向上
  • v0.1.0: イシュー自動ラベリング機能の実装

🔄 ワークフロー

IRISの動作フローを以下の図で説明します:

%%{init:{'theme':'base','themeVariables':{'primaryColor':'#024959','primaryTextColor':'#F2C335','primaryBorderColor':'#F2AE30','lineColor':'#A1A2A6','secondaryColor':'#593E25','tertiaryColor':'#F2C335','noteTextColor':'#024959','noteBkgColor':'#F2C335','textColor':'#024959','fontSize':'18px'}}}%%

sequenceDiagram
    participant User as 👤 User
    participant GitHub as 🐙 GitHub
    participant IRIS as 🤖 I.R.I.S
    participant AI as 🧠 AI Models
    participant Labels as 📋 Labels

    alt イシュー作成フェーズ
        User->>GitHub: イシューを作成
        GitHub->>IRIS: GitHub Action トリガー
    end

    alt イシュー分析フェーズ
        IRIS->>GitHub: イシュー内容を取得
        GitHub-->>IRIS: イシュー詳細
        IRIS->>AI: 内容を分析リクエスト
        AI-->>IRIS: 分析結果
    end

    alt ラベリングフェーズ
        IRIS->>Labels: 提案されたラベルを照合
        Labels-->>IRIS: 有効なラベル
        IRIS->>GitHub: 検証済みラベルを適用
    end

    alt コメント生成フェーズ
        IRIS->>AI: 詳細コメント生成リクエスト
        AI-->>IRIS: 生成された詳細コメント
        IRIS->>GitHub: 詳細コメントを追加
    end

    alt 変更提案フェーズ
        IRIS->>AI: 変更提案生成リクエスト
        AI-->>IRIS: 生成された変更提案
        IRIS->>GitHub: 変更提案を追加
    end

    alt リリースノート生成フェーズ
        GitHub->>IRIS: プルリクエストマージ通知
        IRIS->>AI: リリースノート生成リクエスト
        AI-->>IRIS: 生成されたリリースノート
        IRIS->>GitHub: リリースノートを作成
    end

    alt README更新フェーズ
        GitHub->>IRIS: リリースイベント通知
        IRIS->>AI: README更新リクエスト
        AI-->>IRIS: 更新されたREADME内容
        IRIS->>GitHub: READMEを更新
    end

    GitHub-->>User: 更新通知

🧪 開発用コマンド(上級者向け)

IRISの開発に携わる方向けのコマンドです:

AIRAを使用してコミットメッセージを生成:

aira --mode sourcesage commit  --config=.aira\config.dev.commit.yml --ss-model-name="gemini/gemini-1.5-pro-latest" --llm-output="llm_output.md"

SourceSageを使用してリリースノートを生成:

sourcesage --ss-mode=DocuMind --yaml-file=docs\.sourcesage_releasenotes.yml

🤝 コントリビューション

プロジェクトへの貢献を歓迎します!以下の方法で貢献できます:

  1. イシューを作成して改善点や問題点を報告
  2. 新機能の提案
  3. プルリクエストを送信してコードを改善

初めての方は、First Contributions のガイドを参考にしてみてください。

📄 ライセンス

このプロジェクトはMITライセンスの下で公開されています。使用、複製、変更、配布の際はライセンス条項をご確認ください。

🙏 謝辞

  • Google - Gemini AIの提供
  • GitHub - アクションと開発プラットフォームの提供
  • すべてのコントリビューターとユーザーの皆様

❓ ヘルプとサポート

質問やサポートが必要な場合は、以下の方法でお問い合わせください:

  1. GitHubのIssuesページで新しいイシューを作成
  2. 公式ウェブサイトのお問い合わせフォームを利用
  3. Twitterでダイレクトメッセージを送信

初心者の方も気軽にお問い合わせください。皆様のフィードバックをお待ちしています!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iris_coon-0.1.0.tar.gz (7.3 kB view hashes)

Uploaded Source

Built Distribution

iris_coon-0.1.0-py3-none-any.whl (8.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page