https://github.com/shumatsumonobu/github-agentic-workflows-demo
Stop writing YAML. Start telling AI what to do.
https://github.com/shumatsumonobu/github-agentic-workflows-demo
agentic-workflows ai automation gemini github-actions
Last synced: 4 days ago
JSON representation
Stop writing YAML. Start telling AI what to do.
- Host: GitHub
- URL: https://github.com/shumatsumonobu/github-agentic-workflows-demo
- Owner: shumatsumonobu
- License: mit
- Created: 2026-06-26T12:00:44.000Z (20 days ago)
- Default Branch: main
- Last Pushed: 2026-06-26T19:49:04.000Z (20 days ago)
- Last Synced: 2026-06-26T20:19:12.840Z (20 days ago)
- Topics: agentic-workflows, ai, automation, gemini, github-actions
- Language: JavaScript
- Size: 52.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitHub Agentic Workflows Demo
[GitHub Agentic Workflows](https://github.blog/changelog/2026-06-11-github-agentic-workflows-is-now-in-public-preview/) を試すためのデモリポジトリ
- **GitHub Actions** — リポジトリの自動化を YAML で定義する仕組み
1. コードがプッシュされたらテストを走らせる
2. PR が来たらビルドする
3. issue が立ったら担当者をアサインする
- **課題** — YAML の記法を覚える必要があり、ロジックも自分で書く
- **Agentic Workflows** — やりたいことを日本語で書くだけで AI が実行してくれる
- YAML もロジックも書かなくていい
- 例: 「issue が来たらラベルをつけて」と書くだけ
## このデモで試せること
以下の2つの Agentic Workflow(Markdown ファイル)が `.github/workflows/` に入っている
| ファイル | 何が起きるか |
|---------|------------|
| **issue-triage.md** | issue が作られたらラベルを自動付与(bug / feature / question / documentation) |
| **ci-doctor.md** | CI が失敗したらログを読んで原因をコメント |
## コスト
- **GitHub Actions**: パブリックリポなので無料
- **AI 推論(Gemini)**: Google AI Studio の無料枠で動く
## セットアップ
このリポを fork した場合、ワークフローファイルは既に入っている。シークレット設定(手順 #3)だけで動く。
自分のリポに導入する場合は #0 から順に進めてください。
### 前提
- [GitHub CLI](https://cli.github.com/) がインストール済み
- [Google AI Studio](https://aistudio.google.com/apikey) で Gemini API キーを発行済み
### 手順
```bash
# 0. GitHub CLI の認証(workflow スコープが必須)
# 未設定だと gh aw が「not authenticated」になる
gh auth login --scopes repo,workflow
# 1. gh-aw 拡張をインストール
gh extension install github/gh-aw
# 2. Agentic Workflows の設定ファイルを追加(git init とは別物)
gh aw init
# 3. Gemini API キーをリポのシークレットに登録
gh secret set GEMINI_API_KEY
# 4. ワークフローを追加
# → .github/workflows/ に Markdown ファイルが生成される
# ⚠️ Windows(Git Bash)ではウィザードが動かない場合がある
# その場合は .md を手動で作成(詳細は下の「ワークフローの追加方法」)
gh aw add-wizard githubnext/agentics/issue-triage
gh aw add-wizard githubnext/agentics/ci-doctor
# 5. .github/workflows/*.md を読んで .lock.yml(YAML)を自動生成
# --approve: シークレット(GEMINI_API_KEY)の使用を承認
gh aw compile --approve
# 6. コミット & プッシュ
git add .github/workflows/
git commit -m "Add agentic workflows"
git push
```
### ワークフローの追加方法
手順 #4 には2つの方法がある
| 方法 | やり方 | 備考 |
|------|--------|------|
| **ウィザード** | `gh aw add-wizard githubnext/agentics/issue-triage` | 対話形式で案内してくれる。Linux / macOS / WSL 向き |
| **手動** | `.github/workflows/xxx.md` を自分で書く | Windows(Git Bash)ではこちらが確実 |
どちらも最終的に `.github/workflows/` に Markdown + `.lock.yml` ができる。入口が違うだけ。
手動で書く場合のフォーマットはこのリポの `issue-triage.md` / `ci-doctor.md` を参考にしてください。
API キーはリポのシークレットに保存する(手順 #3)。Markdown 側は `engine: gemini` と書くだけで、実行時に自動で繋がる。キーがコードに載ることはない。
## 仕組み
セットアップで実行したコマンドの流れはこう。
```
Markdown で定義 → gh aw compile → YAML に変換 → GitHub Actions が実行
```
### AI はどこで使われるのか
AI は「YAML を書いてくれる」わけではない。**ワークフローが動くとき、人間の代わりに判断してくれる**。
| | 従来の Actions | Agentic Workflows |
|---|---|---|
| **誰が判断するか** | ルール通りに機械的に処理 | AI が内容を読んで自分で判断 |
| **例** | 正規表現でログを grep して該当行を貼る | ログ全体を読んで原因と修正案をコメント |
### 書き方の比較
従来の YAML
```yaml
on:
issues:
types: [opened]
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
script: |
const { title, body } = context.payload.issue;
const text = `${title} ${body}`.toLowerCase();
const labels = [];
if (text.includes('bug') || text.includes('error')) labels.push('bug');
if (text.includes('feature')) labels.push('feature');
if (!labels.length) labels.push('question');
await github.rest.issues.addLabels({ ...context.repo, issue_number: context.issue.number, labels });
```
Agentic Workflows の Markdown
```markdown
---
on:
issues:
types: [opened]
engine:
id: gemini
---
新しい issue の内容を読んで、適切なラベルをつけてください
- bug: バグ報告
- feature: 機能リクエスト
- question: 質問
- documentation: ドキュメント関連
```
## リポの中身
```
├── package.json
├── src/
│ ├── utils.js ← add / subtract / multiply / divide の4関数
│ └── utils.test.js ← vitest で6テスト
└── .github/workflows/
├── aw.json ← gh aw init で生成された設定
├── ci.yml ← push / PR 時にテスト実行
├── issue-triage.md ← issue 自動ラベル付け(Agentic Workflow)
├── issue-triage.lock.yml ← ↑ から自動生成された YAML
├── ci-doctor.md ← CI 失敗分析(Agentic Workflow)
└── ci-doctor.lock.yml ← ↑ から自動生成された YAML
```
シンプルな Node.js プロジェクト + CI だけの最小構成
issue トリアージは issue を立てるだけで試せる。CI 失敗分析は `utils.js` を壊してプッシュするだけ。
```bash
npm install
npm test
```
## Author
**週末ものづくり部** — [@shumatsumonobu](https://x.com/shumatsumonobu)
## License
[MIT](LICENSE)