このリポジトリは、GoogleのGemini AIをGitHub Actionsと統合するための実験室およびショーケースとして機能します。生成AIの力を利用して、さまざまなリポジトリ管理タスクを自動化する方法を示します。
- AIによる自動化: Geminiを活用して、Issueのトリアージ、プルリクエストのレビューなどのタスクを処理します。
- CLIライクな対話: Issueのコメントから直接AIアシスタントと対話します。
- 拡張可能なワークフロー: 独自のプロジェクトに合わせてワークフローを簡単に適応およびカスタマイズできます。
このリポジトリには、以下のGitHub Actionsワークフローが含まれています(詳細は .github/workflows/architecture.md を参照):
gemini-cli.yml: 英語CLI。Issue/PR/コメント/手動でAIコマンドを実行gemini-jp-cli.yml: 日本語CLI。Issue/PR/コメント/手動でAIコマンドを実行gemini-pr-review.yml: PRレビュー自動化(MCP GitHubサーバー経由でコメント)gemini-issue-automated-triage.yml: 新規/更新Issueの自動トリアージgemini-issue-scheduled-triage.yml: 定期スキャンで未トリアージIssueを一括処理imagen4-issue-trigger-and-commit.yml: イシュー由来の画像生成→コミットimagen4-generate-and-commit.yml: 手動/ディスパッチで画像生成→コミットgemini-release-notes.yml: リリース画像生成とリリースノートの自動作成static-site.yml: リポジトリ内容をGitHub Pagesに公開sync-to-report-gh.yml: 旧テンプレ(現状は参考用)
ワークフローの構成・相互関係・実装詳細は、.github/workflows/architecture.md に集約しています。
アーキテクチャ図やワークフローの詳細な説明は、.github/workflows/architecture.md を参照してください。
- Discord から GitHub Issue を作成する最小ボット
discord-issue-bot/.envにローカルでトークン設定(リポジトリには含めない)- 起動例:
docker compose -f docker-compose.yaml up -d --build
Issueを作成し、@gemini-cli-jp /helpとコメントして、利用可能なコマンドを確認します:
@gemini-cli-jp /help
AIアシスタントが利用可能なコマンドと使用例を返信します。
コードレビューのリクエスト:
@gemini-cli-jp /review-pr
このプルリクエストをレビューし、改善点を提案してください
Issueのトリアージ:
@gemini-cli-jp /triage
このIssueを分析し、適切なラベルと担当者を提案してください
- リポジトリ作成権限のあるGitHubアカウント
- Google AI StudioのGemini APIキー
- GitHub Actionsの基本的な理解
- このリポジトリをフォークして、自分のGitHubアカウントにコピーします
- リポジトリの設定でGitHubシークレットを設定します:
GEMINI_API_KEY: あなたのGemini APIキーGITHUB_TOKEN: (自動的に提供されます)
.github/workflows/からあなたのリポジトリにワークフローファイルをコピーします- あなたのニーズに合わせてワークフローをカスタマイズします
- Issueを作成し、
@gemini-cli-jp /helpとコメントしてセットアップをテストします
リポジトリに付属する gemini-actions-lab-cli(エイリアス: gal)を使うと、シークレット同期やテンプレートワークフローの取得をコマンド一発で実行できます。
PyPI から直接インストールできます。
pip install gemini-actions-lab-cliローカル開発でソースを同期したい場合は uv によるセットアップもサポートしています。
uv sync.secrets.env(任意のファイルを --env-file で指定可能)に定義した値を、リポジトリシークレットへ一括で作成・更新します。
gal sync-secrets --repo <owner>/<repo> --env-file path/to/.secrets.env- コマンド実行ディレクトリの
.envファイルは自動的に読み込まれ、GITHUB_TOKENなど CLI 実行に必要な環境変数を設定できます。 - リポジトリへ同期したい secrets は
.secrets.envに分離してください(任意のファイルを--env-fileで指定可)。 GITHUB_TOKEN環境変数、または--tokenオプションで GitHub の個人アクセストークンを指定してください。
よく使う同期コマンドは下記のとおりです(Pages 連携とトップページのコピー込み)。
gal sync-workflows \
--repo Sunwood-ai-labs/demo-001 \
--destination . \
--clean \
--enable-pages-actions \
--include-index
uv runを利用して開発用に実行する場合は、uv run gal ...と置き換えてください。
オプションの詳細やその他のユースケースは src/README.md を参照してください。
.
├── .github/
│ └── workflows/
│ ├── architecture.md
│ ├── gemini-cli.yml
│ ├── gemini-jp-cli.yml
│ ├── gemini-pr-review.yml
│ ├── gemini-issue-automated-triage.yml
│ ├── gemini-issue-scheduled-triage.yml
│ ├── imagen4-issue-trigger-and-commit.yml
│ ├── imagen4-generate-and-commit.yml
│ ├── gemini-release-notes.yml
│ ├── static-site.yml
│ └── sync-to-report-gh.yml
├── discord-issue-bot/
│ ├── Dockerfile
│ ├── pyproject.toml
│ ├── docker-compose.yaml
│ └── bot.py
├── .gitignore
├── LICENSE
└── README.md
Discord から直接 GitHub Issue を作成する最小ボットの詳細なドキュメントは、以下を参照してください。
- ドキュメント: discord-issue-bot/README.md
このプロジェクトは、LICENSEファイルの条件に基づいてライセンスされています。
© 2025 Sunwood-ai-labsII