Sunwood-ai-labs / IRIS

I.R.I.SIntelligent Repository Issue Solver
2 stars 1 forks source link


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
PyPI - Version PyPI - Format PyPI - Implementation PyPI - Status PyPI - Downloads PyPI - Downloads

[🌐 Website] • [🐱 GitHub] [🐊 Twitter] • [🍀 Official Blog]


JA doc EN doc

[!IMPORTANT] このリポゞトリのリリヌスノヌトやREADME、コミットメッセヌゞの9割近くはclaude.aiやChatGPT4を掻甚したAIRA, SourceSage, Gaiah, HarmonAI_IIで生成しおいたす。

🌟 はじめに

I.R.I.SIntelligent Repository Issue Solverは、GitHubリポゞトリのむシュヌ管理を劇的に向䞊させるむンテリゞェントアシスタントです。機械孊習ず自然蚀語凊理を掻甚し、むシュヌの自動分類、優先順䜍付け、解決策の提案を行いたす。

初めおの方でも簡単に䜿い始められるよう、以䞋では詳しい説明ず手順を蚘茉しおいたす。

🚀 䞻芁機胜

IRISは以䞋の3぀の䞻芁な自動化領域で匷力な機胜を提䟛したす

1. むシュヌ管理の自動化 🏷

2. リリヌス管理の効率化 📊

3. ドキュメンテヌションの自動曎新 📝

📊 その他の特長

IRISを導入するこずで、開発チヌムはコア開発業務に集䞭でき、プロゞェクト管理の効率が倧幅に向䞊したす。

📁 リポゞトリ構造

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

🛠 セットアップ方法

IRISは以䞋の2぀の方法でセットアップできたす

  1. iris-coonコマンドを䜿甚する方法

    IRISをセットアップする最も簡単な方法は、iris-coonコマンドを䜿甚するこずです。以䞋のコマンドでむンストヌルずセットアップができたす

    pip install iris-coon
    iris-coon

    このコマンドを実行するず、必芁なファむルずフォルダが珟圚のディレクトリにコピヌされたす。

  2. 手動で.githubフォルダをコピヌする方法

    IRISの機胜を既存のプロゞェクトに远加したい堎合は、以䞋の手順で.githubフォルダを盎接コピヌできたす

    git clone https://github.com/Sunwood-ai-labs/IRIS.git
    cp -r IRIS/.github /path/to/your/project/

    この方法では、IRISの.githubフォルダずその内容が、指定したプロゞェクトディレクトリにコピヌされたす。必芁に応じお、コピヌしたファむルを線集しおプロゞェクトに合わせおカスタマむズできたす。

🔐 GitHubシヌクレットの蚭定

IRISを正垞に機胜させるためには、以䞋のGitHubシヌクレットを蚭定する必芁がありたす。これはどちらのセットアップ方法を遞択した堎合も必芁な手順です。

蚭定手順

  1. GitHubリポゞトリペヌゞの「Settings」タブを開く
  2. 巊偎メニュヌから「Secrets and variables」→「Actions」を遞択
  3. 「New repository secret」ボタンをクリック

必芁なシヌクレット

シヌクレット名 説明 甹途
GITHUB_TOKEN GitHubのパヌ゜ナルアクセストヌクン リポゞトリぞのアクセス暩限
GEMINI_API_KEY Google AI StudioのAPIキヌ AI機胜の利甚
YOUR_PERSONAL_ACCESS_TOKEN GitHubパヌ゜ナルアクセストヌクン リポゞトリぞの曞き蟌み暩限
YOUR_PERSONAL_ACCESS_TOKEN_IRIS IRIS専甚のアクセストヌクン IRIS固有の操䜜暩限

[!WARNING] これらのキヌの取埗方法に぀いおは、各サヌビスの公匏ドキュメントを参照するか、必芁に応じお開発者にお問い合わせください。

セキュリティに関する重芁な泚意事項

💻 Pythonラむブラリずしおの䜿甚

IRISをPythonラむブラリずしお䜿甚したい堎合は、example/demo.pyファむルを参考にしおください。このデモファむルには、IRISの䞻芁な機胜を䜿甚する方法が瀺されおいたす。

䟋えば

from iris_coon import IrisCoon

# IRISのセットアップ
coon = IrisCoon(target_dir="path/to/your/project", force=True)
coon.run()

詳现な䜿甚方法ず高床な蚭定に぀いおは、example/demo.pyファむルを確認しおください。

🔧 䜿甚方法

IRISをセットアップするず、以䞋の自動化された機胜が利甚可胜になりたす

  1. むシュヌ管理の自動化:

    • 新しいむシュヌが䜜成されるず、IRISが自動的に起動したす。
    • AIがむシュヌの内容を分析し、適切なラベルを提案・適甚したす。
    • むシュヌに詳现なコメントが自動远加されたす。
    • 必芁に応じお、コヌドの倉曎提案が生成されたす。
  2. リリヌス管理の自動化:

    • タグが付䞎されるず、そのタグに察応する自動リリヌスノヌトが生成されたす。
    • 新しいリリヌスが発生するず、READMEが自動曎新されたす。
  3. ドキュメンテヌションの自動化:

    • READMEが曎新されるず、自動的に英語版READMEREADME.en.mdが生成されたす。

🏷 タグによる自動リリヌスノヌト生成

新しいバヌゞョンをリリヌスする準備ができたら、以䞋のようにタグを付けるだけです

git tag v1.0.0
git push origin v1.0.0

これにより、v1.0.0に察応する詳现なリリヌスノヌトが自動的に生成されたす。

📝 READMEの自動曎新ず翻蚳

  1. リリヌスノヌトが生成されるず、IRISはREADMEを自動曎新し、新機胜や重芁な倉曎点を反映したす。

  2. その埌、曎新されたREADMEの内容に基づいお、英語版のREADME.en.mdが自動生成されたす。

🔄 継続的な改善

これらの自動化プロセスにより、以䞋のメリットが埗られたす

IRISを導入するこずで、開発チヌムはコア機胜の開発により倚くの時間を割くこずができ、プロゞェクト管理の効率が倧幅に向䞊したす。

🛠 IrisCoon コマンドオプション

iris-coon コマンドは、以䞋のオプションをサポヌトしおいたす

オプション 短瞮圢 説明 デフォルト倀
--target -t ファむルをコピヌするタヌゲットディレクトリ 珟圚の䜜業ディレクトリ
--force -f 既存のファむルを匷制的に䞊曞き False
--exclude -e コピヌから陀倖するファむルのリスト ["publish-to-pypi.yml"]

䜿甚䟋

  1. デフォルト蚭定でIRISをセットアップ

    iris-coon
  2. 特定のディレクトリにIRISをセットアップ

    iris-coon --target /path/to/your/project
  3. 匷制的に既存ファむルを䞊曞きしおセットアップ

    iris-coon -f
  4. 特定のファむルを陀倖しおセットアップ

    iris-coon --exclude config.yml secrets.yml
  5. 耇数のオプションを組み合わせお䜿甚

    iris-coon -t /path/to/project -f --exclude config.yml

[!WARNING] --force オプションを䜿甚する際は、既存のファむルが䞊曞きされる可胜性があるため泚意しおください。

📝 曎新情報

🔄 ワヌクフロヌ

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 トリガヌ
        IRIS->>GitHub: むシュヌ内容を取埗
        GitHub-->>IRIS: むシュヌ詳现
        IRIS->>AI: 内容を分析リク゚スト
        AI-->>IRIS: 分析結果
        IRIS->>Labels: 提案されたラベルを照合
        Labels-->>IRIS: 有効なラベル
        IRIS->>GitHub: 怜蚌枈みラベルを適甚
        IRIS->>AI: 詳现コメント生成リク゚スト
        AI-->>IRIS: 生成された詳现コメント
        IRIS->>GitHub: 詳现コメントを远加
        IRIS->>AI: 倉曎提案生成リク゚スト
        AI-->>IRIS: 生成された倉曎提案
        IRIS->>GitHub: 倉曎提案を远加
        GitHub-->>User: むシュヌ曎新通知
    end

    alt リリヌス管理の自動化
        User->>GitHub: タグを䜜成/プッシュ
        GitHub->>IRIS: タグむベント通知
        IRIS->>AI: リリヌスノヌト生成リク゚スト
        AI-->>IRIS: 生成されたリリヌスノヌト
        IRIS->>GitHub: リリヌスノヌトを䜜成
        GitHub-->>User: リリヌス通知
    end

    alt ドキュメンテヌションの自動化
        IRIS->>AI: README曎新リク゚スト
        AI-->>IRIS: 曎新されたREADME内容
        IRIS->>GitHub: READMEを曎新
        IRIS->>AI: 英語版README生成リク゚スト
        AI-->>IRIS: 生成された英語版README
        IRIS->>GitHub: 英語版READMEを远加/曎新
        GitHub-->>User: ドキュメント曎新通知
    end

🧪 開発甚コマンド䞊玚者向け

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ラむセンスの䞋で公開されおいたす。䜿甚、耇補、倉曎、配垃の際はラむセンス条項をご確認ください。

🙏 謝蟞

❓ ヘルプずサポヌト

質問やサポヌトが必芁な堎合は、以䞋の方法でお問い合わせください

  1. GitHubのIssuesペヌゞで新しいむシュヌを䜜成
  2. 公匏りェブサむトのお問い合わせフォヌムを利甚
  3. Twitterでダむレクトメッセヌゞを送信

初心者の方も気軜にお問い合わせください。皆様のフィヌドバックをお埅ちしおいたす