IRISリポジトリをクローンし、.githubフォルダをコピーするパッケージ
Project description
IRIS
~ Intelligent Repository Issue Solver ~
[🌐 Website] • [🐱 GitHub] [🐦 Twitter] • [🍀 Official Blog]
[!IMPORTANT] このリポジトリのリリースノートやREADME、コミットメッセージの9割近くはclaude.aiやChatGPT4を活用した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
🛠️ インストールと設定(初心者向けステップバイステップガイド)
-
リポジトリのクローン:
- GitHubアカウントをお持ちでない場合は、まずGitHubに登録してください。
- IRIS リポジトリにアクセスし、緑色の「Code」ボタンをクリックします。
- 「Download ZIP」を選択してファイルをダウンロードし、解凍します。
-
ワークフローファイルのコピー:
- 解凍したフォルダ内の
.github/workflows/
ディレクトリにある全てのYAMLファイルを見つけます。 - これらのファイルをあなたのGitHubリポジトリの
.github/workflows/
ディレクトリにコピーします。 (.github/workflows/
ディレクトリがない場合は作成してください)
- 解凍したフォルダ内の
-
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システム用の特別なパーソナルアクセストークン
- これらのキーの取得方法が分からない場合は、各サービスのドキュメントを参照するか、開発者に相談してください。
-
依存関係のインストール:
requirements.txt
ファイルに記載された依存関係をインストールします。
pip install -r requirements.txt
🔧 使用方法
IRISを設定したら、以下のように動作します:
- あなたのリポジトリに新しいイシューが作成されると、IRISが自動的に起動します。
- AIがイシューの内容を分析します。
- 適切なラベルが提案され、自動的にイシューに適用されます。
- 詳細なコメントがイシューに追加されます。
- 必要に応じて、変更提案が生成されます。
- プルリクエストがマージされると、自動的にリリースノートが生成されます。
- 新しいリリースが発生すると、リリースノートの内容が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
🤝 コントリビューション
プロジェクトへの貢献を歓迎します!以下の方法で貢献できます:
- イシューを作成して改善点や問題点を報告
- 新機能の提案
- プルリクエストを送信してコードを改善
初めての方は、First Contributions のガイドを参考にしてみてください。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。使用、複製、変更、配布の際はライセンス条項をご確認ください。
🙏 謝辞
- Google - Gemini AIの提供
- GitHub - アクションと開発プラットフォームの提供
- すべてのコントリビューターとユーザーの皆様
❓ ヘルプとサポート
質問やサポートが必要な場合は、以下の方法でお問い合わせください:
- GitHubのIssuesページで新しいイシューを作成
- 公式ウェブサイトのお問い合わせフォームを利用
- Twitterでダイレクトメッセージを送信
初心者の方も気軽にお問い合わせください。皆様のフィードバックをお待ちしています!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for iris_coon-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0356c0cf3a8ef51a53aae704fbc1e6a1299176e76c293070f23db47b72e6e5f |
|
MD5 | f42801454c0de39c7fbe429607c89613 |
|
BLAKE2b-256 | 1298f39df6b3b104ef4e777007b673c2b8be4a010fca1b3244aecf85750f2e54 |