Command line helpers for Gemini Actions Lab repositories
Project description
📖 概要
このリポジトリは、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 Issue Bot(任意)
- Discord から GitHub Issue を作成する最小ボット
discord-issue-bot/.envにローカルでトークン設定(リポジトリには含めない)- 起動例:
docker compose -f docker-compose.yaml up -d --build
📸 スクリーンショットと例
🤖 CLIの対話例
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
リポジトリに付属する 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 Issue Bot
Discord から直接 GitHub Issue を作成する最小ボットの詳細なドキュメントは、以下を参照してください。
- ドキュメント: discord-issue-bot/README.md
📝 ライセンス
このプロジェクトは、LICENSEファイルの条件に基づいてライセンスされています。
© 2025 Sunwood-ai-labsII
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gemini_actions_lab_cli-0.1.0.tar.gz.
File metadata
- Download URL: gemini_actions_lab_cli-0.1.0.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7ab08f6f595178e73f887c11eb4df2c8a348156018217e1c24ce5d2cc8170e1
|
|
| MD5 |
46af4a612400929546fdbba1f3d1ef84
|
|
| BLAKE2b-256 |
baa8909f328fa25abf1040728f2c59d5b5b1c3fc02a8932be7757ba66738cfee
|
Provenance
The following attestation bundles were made for gemini_actions_lab_cli-0.1.0.tar.gz:
Publisher:
pypi-release.yml on Sunwood-ai-labsII/gemini-actions-lab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemini_actions_lab_cli-0.1.0.tar.gz -
Subject digest:
a7ab08f6f595178e73f887c11eb4df2c8a348156018217e1c24ce5d2cc8170e1 - Sigstore transparency entry: 570394533
- Sigstore integration time:
-
Permalink:
Sunwood-ai-labsII/gemini-actions-lab@b454656adec3aa9a233aa6a3091601c7763a22b2 -
Branch / Tag:
refs/tags/v0.7.0 - Owner: https://github.com/Sunwood-ai-labsII
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@b454656adec3aa9a233aa6a3091601c7763a22b2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gemini_actions_lab_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gemini_actions_lab_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
effbc65e32bde3d887c0668de3890136b3142297143056be1abf4e42ddbbda8d
|
|
| MD5 |
a7f054762da3c090c0f6319ab04b1768
|
|
| BLAKE2b-256 |
a0811e254a4ec80c1f7b76fc26c49ccc6a533d44febdc3362cb3f801183e25de
|
Provenance
The following attestation bundles were made for gemini_actions_lab_cli-0.1.0-py3-none-any.whl:
Publisher:
pypi-release.yml on Sunwood-ai-labsII/gemini-actions-lab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemini_actions_lab_cli-0.1.0-py3-none-any.whl -
Subject digest:
effbc65e32bde3d887c0668de3890136b3142297143056be1abf4e42ddbbda8d - Sigstore transparency entry: 570394548
- Sigstore integration time:
-
Permalink:
Sunwood-ai-labsII/gemini-actions-lab@b454656adec3aa9a233aa6a3091601c7763a22b2 -
Branch / Tag:
refs/tags/v0.7.0 - Owner: https://github.com/Sunwood-ai-labsII
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@b454656adec3aa9a233aa6a3091601c7763a22b2 -
Trigger Event:
push
-
Statement type: