Skip to main content

Command line helpers for Gemini Actions Lab repositories

Project description

Image

Gemini Actions Lab

English 日本語 GitHub Actions Gemini PyPI

💬 Gemini CLI


📖 概要

このリポジトリは、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 に集約しています。

🚀 リモートワークフロー(新機能)

複数のリポジトリでワークフローを使いたい場合、リモートワークフローシステムを使うとメンテナンスが超楽になるよ〜✨

メリット:

  • ✅ Pythonスクリプトのコピー不要(リモートから自動取得)
  • ✅ スクリプトの更新は1箇所でOK
  • ✅ メンテナンスコスト90%削減

使い方:

# ワークフローファイルをコピー(スクリプトは不要!)
curl -o .github/workflows/pr-review-kozaki.yml \
  https://raw.githubusercontent.com/Sunwood-ai-labsII/gemini-actions-lab/main/.github/workflows_remote/pr-review-kozaki-remote.yml

詳細は .github/workflows_remote/README.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の基本的な理解

クイックスタート

  1. このリポジトリをフォークして、自分のGitHubアカウントにコピーします
  2. リポジトリの設定でGitHubシークレットを設定します:
    • GEMINI_API_KEY: あなたのGemini APIキー
    • GITHUB_TOKEN: (自動的に提供されます)
  3. .github/workflows/からあなたのリポジトリにワークフローファイルをコピーします
  4. あなたのニーズに合わせてワークフローをカスタマイズします
  5. 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 の個人アクセストークンを指定してください。

AIエージェントガイドラインの同期

.github/ai-guidelines ディレクトリに格納されているAIエージェントガイドラインをリポジトリに同期できます。

# デフォルトブランチに同期
uv run gal sync-agent --repo Sunwood-ai-labs/my-repo

# 特定のブランチに同期
uv run gal sync-agent --repo Sunwood-ai-labs/my-repo --branch develop

# カスタムメッセージで同期
uv run gal sync-agent --repo Sunwood-ai-labs/my-repo --message "docs: update AI agent guidelines"

🚀 クイックスタート

よく使う同期コマンドは下記のとおりです(Pages 連携とトップページのコピー込み)。

gal sync-workflows \
  --repo Sunwood-ai-labs/demo-001 \
  --destination . \
  --clean \
  --enable-pages-actions \
  --include-index

🎯 特定のワークフローのコピー(新機能!)

.github/workflows_remote または .github/workflows から、指定したワークフローファイルをコピーできます。

単一のワークフローをコピー

# workflows_remote から特定のワークフローをコピー 🎯
gal sync-workflows \
  --workflow gemini-release-notes-remote.yml \
  --use-remote \
  --destination .

# 通常の workflows から特定のワークフローをコピー
gal sync-workflows \
  --workflow gemini-cli.yml \
  --destination .

複数のワークフローをコピー(NEW!✨)

# 複数のワークフローを一度にコピー 🎯
gal sync-workflows \
  --workflows gemini-cli.yml gemini-jp-cli.yml pr-review-kozaki-remote.yml \
  --destination .

# リモートリポジトリに直接同期
gal sync-workflows \
  --workflows gemini-cli.yml gemini-jp-cli.yml \
  --repo Sunwood-ai-labs/my-repo \
  --overwrite-github

プリセットの使用(NEW!✨)

よく使う組み合わせをプリセットとして用意しています。

# 利用可能なプリセット一覧を表示
gal sync-workflows --list-presets

# プリセットを使ってワークフローをコピー
gal sync-workflows --preset pr-review --destination .

# プリセット + リモート同期
gal sync-workflows \
  --preset basic \
  --repo Sunwood-ai-labs/my-repo \
  --overwrite-github

利用可能なプリセット:

  • pr-review: PR レビューワークフロー(Kozaki, Onizuka, Yukimura)
  • gemini-cli: Gemini CLI ワークフロー(英語+日本語)
  • release: リリース自動化ワークフロー
  • imagen: 画像生成ワークフロー
  • basic: 新規リポジトリ用の基本ワークフロー
  • full-remote: すべてのリモートワークフロー
  • standard: 標準プロダクションワークフロー(CLI, Release Articles, Release Notes, PR Review 3種, Static Site)

Note: プリセットは src/gemini_actions_lab_cli/workflow_presets.yml で管理されています。カスタムプリセットを追加したい場合は、このYAMLファイルを編集してください✨

オプション説明:

  • --workflow: コピーしたいワークフローファイル名(単一)
  • --workflows: コピーしたいワークフローファイル名(複数、スペース区切り)
  • --preset: プリセット名(--workflow--workflows より優先)
  • --use-remote: .github/workflows_remote から優先的に取得(なければ workflows から自動フォールバック)
  • --overwrite-github: 既存ファイルを上書き
  • --list-presets: 利用可能なプリセット一覧を表示

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 を作成する最小ボットの詳細なドキュメントは、以下を参照してください。

📝 ライセンス

このプロジェクトは、LICENSEファイルの条件に基づいてライセンスされています。


© 2025 Sunwood-ai-labsII


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

gemini_actions_lab_cli-0.11.0.tar.gz (29.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gemini_actions_lab_cli-0.11.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file gemini_actions_lab_cli-0.11.0.tar.gz.

File metadata

  • Download URL: gemini_actions_lab_cli-0.11.0.tar.gz
  • Upload date:
  • Size: 29.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gemini_actions_lab_cli-0.11.0.tar.gz
Algorithm Hash digest
SHA256 528f01e165b03b12f407da0bc98da350ece67dcafb02653f06e4ce56ad64454b
MD5 92a32b887ccdc8c1ff0e7ed11b7556c6
BLAKE2b-256 5de614e8f93123db9076021b00e3ad5bc939fafcf9fbd127884d70e89bb29380

See more details on using hashes here.

Provenance

The following attestation bundles were made for gemini_actions_lab_cli-0.11.0.tar.gz:

Publisher: pypi-release.yml on Sunwood-ai-labsII/gemini-actions-lab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gemini_actions_lab_cli-0.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gemini_actions_lab_cli-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4a3e46017803016eef9b4c2ddc8b58c0b8877f08e4d0d67155ad3bd7fb44b95
MD5 88cbef9a8f9c3cfb1fca2ec728bcd68c
BLAKE2b-256 8cb3aea176febb2f0e9c7498fe032126069a6bc709915cf9c0d45b8815f827d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for gemini_actions_lab_cli-0.11.0-py3-none-any.whl:

Publisher: pypi-release.yml on Sunwood-ai-labsII/gemini-actions-lab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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