Skip to content

Commit 67dd15b

Browse files
authored
feat(workflows): add community workflows showcase (#96)
This commit introduces the initial structure for collecting and showcasing community-contributed workflows. It adds an AWESOME.md file to house the collection and updates the main workflows README to point to it. This is a starting point to encourage community sharing. Future work may involve creating a more comprehensive `awesome-gemini-cli`, but this is focused on workflows only for now. Preview: https://github.com/google-github-actions/run-gemini-cli/tree/feat/community-workflows/examples/workflows cc @sethvargo
1 parent eb4ea60 commit 67dd15b

3 files changed

Lines changed: 177 additions & 50 deletions

File tree

examples/workflows/AWESOME.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Awesome Workflows
2+
3+
Welcome to our collection of awesome community-contributed workflows! This page showcases creative and powerful implementations of the [Google Gemini CLI GitHub Action](https://github.com/google-github-actions/run-gemini-cli) created by the community.
4+
5+
**Want to add your workflow?** Check out the [submission guidelines](./README.md#share-your-workflow) in our main README.
6+
7+
> **⚠️ Security Notice**: Always review and understand any workflow before using it in your repository. Community-contributed workflows are provided as-is and have not been security audited. Verify the code, permissions, and any external dependencies before implementation.
8+
9+
- [Awesome Workflows](#awesome-workflows)
10+
- [Workflow Categories](#workflow-categories)
11+
- [🔍 Code Quality](#-code-quality)
12+
- [📋 Project Management](#-project-management)
13+
- [📝 Documentation](#-documentation)
14+
- [🛡️ Security](#️-security)
15+
- [🧪 Testing](#-testing)
16+
- [🚀 Deployment \& Release](#-deployment--release)
17+
- [🎯 Specialized Use Cases](#-specialized-use-cases)
18+
- [Featured Workflows](#featured-workflows)
19+
20+
## Workflow Categories
21+
22+
Browse workflows by category to find exactly what you're looking for.
23+
24+
### 🔍 Code Quality
25+
26+
Workflows that help maintain code quality, perform analysis, or enforce standards.
27+
28+
*No workflows yet. Be the first to contribute!*
29+
30+
### 📋 Project Management
31+
32+
Workflows that help manage GitHub issues, projects, or team collaboration.
33+
34+
*No workflows yet. Be the first to contribute!*
35+
36+
### 📝 Documentation
37+
38+
Workflows that generate, update, or maintain documentation automatically.
39+
40+
*No workflows yet. Be the first to contribute!*
41+
42+
### 🛡️ Security
43+
44+
Workflows focused on security analysis, vulnerability detection, or compliance.
45+
46+
*No workflows yet. Be the first to contribute!*
47+
48+
### 🧪 Testing
49+
50+
Workflows that enhance testing processes, generate test cases, or analyze test results.
51+
52+
*No workflows yet. Be the first to contribute!*
53+
54+
### 🚀 Deployment & Release
55+
56+
Workflows that handle deployment, release management, or publishing tasks.
57+
58+
*No workflows yet. Be the first to contribute!*
59+
60+
### 🎯 Specialized Use Cases
61+
62+
Unique or domain-specific workflows that showcase creative uses of Gemini CLI.
63+
64+
*No workflows yet. Be the first to contribute!*
65+
66+
## Featured Workflows
67+
68+
*Coming soon!* This section will highlight particularly innovative or popular community workflows.
69+
70+
---
71+
72+
*Want to see your workflow featured here? Check out our [submission guidelines](./README.md#share-your-workflow)!*
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Configuring Gemini CLI Workflows
2+
3+
This guide covers how to customize and configure Gemini CLI workflows to meet your specific needs.
4+
5+
- [Configuring Gemini CLI Workflows](#configuring-gemini-cli-workflows)
6+
- [How to Configure Gemini CLI](#how-to-configure-gemini-cli)
7+
- [Key Settings](#key-settings)
8+
- [Conversation Length (`maxSessionTurns`)](#conversation-length-maxsessionturns)
9+
- [Custom Context and Guidance (`GEMINI.md`)](#custom-context-and-guidance-geminimd)
10+
- [GitHub Actions Workflow Settings](#github-actions-workflow-settings)
11+
- [Setting Timeouts](#setting-timeouts)
12+
- [Required Permissions](#required-permissions)
13+
14+
## How to Configure Gemini CLI
15+
16+
Gemini CLI workflows are highly configurable. You can adjust their behavior by editing the corresponding `.yml` files in your repository.
17+
18+
Gemini CLI supports many settings that control how it operates. For a complete list, see the [Gemini CLI documentation](https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md#available-settings-in-settingsjson).
19+
20+
### Key Settings
21+
22+
#### Conversation Length (`maxSessionTurns`)
23+
24+
This setting controls the maximum number of conversational turns (messages exchanged) allowed during a workflow run.
25+
26+
**Default values by workflow:**
27+
28+
| Workflow | Default `maxSessionTurns` |
29+
| ------------------------------------ | ------------------------- |
30+
| [Issue Triage](./issue-triage) | 25 |
31+
| [Pull Request Review](./pr-review) | 20 |
32+
| [Gemini CLI Assistant](./gemini-cli) | 50 |
33+
34+
**How to override:**
35+
36+
Add the following to your workflow YAML file to set a custom value:
37+
38+
```yaml
39+
with:
40+
settings: |-
41+
{
42+
"maxSessionTurns": 10
43+
}
44+
```
45+
46+
### Custom Context and Guidance (`GEMINI.md`)
47+
48+
To provide Gemini CLI with custom instructions—such as coding conventions, architectural patterns, or other guidance—add a `GEMINI.md` file to the root of your repository. Gemini CLI will use the content of this file to inform its responses.
49+
50+
## GitHub Actions Workflow Settings
51+
52+
### Setting Timeouts
53+
54+
You can control how long Gemini CLI runs by using either the `timeout-minutes` field in your workflow YAML, or by specifying a timeout in the `settings` input.
55+
56+
### Required Permissions
57+
58+
Only users with the following roles can trigger the workflow:
59+
60+
- Repository Owner (`OWNER`)
61+
- Repository Member (`MEMBER`)
62+
- Repository Collaborator (`COLLABORATOR`)

examples/workflows/README.md

Lines changed: 43 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,8 @@ This directory contains a collection of example workflows that demonstrate how t
66
- [Available Workflows](#available-workflows)
77
- [Setup](#setup)
88
- [Customizing Workflows](#customizing-workflows)
9-
- [How to Configure Gemini CLI](#how-to-configure-gemini-cli)
10-
- [Key Settings](#key-settings)
11-
- [Conversation Length (`maxSessionTurns`)](#conversation-length-maxsessionturns)
12-
- [Custom Context and Guidance (`GEMINI.md`)](#custom-context-and-guidance-geminimd)
13-
- [GitHub Actions Workflow Settings](#github-actions-workflow-settings)
14-
- [Setting Timeouts](#setting-timeouts)
15-
- [Required Permissions](#required-permissions)
16-
- [Contributing](#contributing)
9+
- [Awesome Workflows](#awesome-workflows)
10+
- [Share Your Workflow](#share-your-workflow)
1711

1812
## Available Workflows
1913

@@ -33,62 +27,61 @@ To use a workflow, you can utilize either of the following steps:
3327

3428
Gemini CLI workflows are highly configurable. You can adjust their behavior by editing the corresponding `.yml` files in your repository.
3529

36-
### How to Configure Gemini CLI
30+
For detailed configuration options, including Gemini CLI settings, timeouts, and permissions, see our [Configuration Guide](./CONFIGURATION.md).
3731

38-
Gemini CLI supports many settings that control how it operates. For a complete list, see the [Gemini CLI documentation](https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md#available-settings-in-settingsjson).
32+
## Awesome Workflows
3933

40-
#### Key Settings
34+
Discover awesome workflows created by the community! These are publicly available workflows that showcase creative and powerful uses of the Gemini CLI GitHub Action.
4135

42-
##### Conversation Length (`maxSessionTurns`)
36+
👉 **[View all Awesome Workflows](./AWESOME.md)**
4337

44-
This setting controls the maximum number of conversational turns (messages exchanged) allowed during a workflow run.
38+
### Share Your Workflow
4539

46-
**Default values by workflow:**
40+
Have you created an awesome workflow using Gemini CLI? We'd love to feature it in our [Awesome Workflows](./AWESOME.md) page!
4741

48-
| Workflow | Default `maxSessionTurns` |
49-
| -------------------------------------- | ------------------------- |
50-
| [Issue Triage](./issue-triage) | 25 |
51-
| [Pull Request Review](./pr-review) | 20 |
52-
| [Gemini CLI Assistant](./gemini-cli) | 50 |
42+
**Submission Process:**
43+
1. **Ensure your workflow is public** and well-documented
44+
2. **Fork this repository** and create a new branch
45+
3. **Add your workflow** to the appropriate category section in [AWESOME.md](./AWESOME.md) using the [workflow template](./AWESOME.md#workflow-template)
46+
- If none of the existing categories fit your workflow, feel free to propose a new category
47+
4. **Open a pull request** with your addition
48+
5. **Include a brief summary** in your PR description of what your workflow does and why it's awesome
5349

54-
**How to override:**
50+
**What makes a workflow "awesome"?**
51+
- Solves a real problem or provides significant value
52+
- Is well-documented with clear setup instructions
53+
- Follows best practices for security and performance
54+
- Has been tested and is actively maintained
55+
- Includes example configurations or use cases
5556

56-
Add the following to your workflow YAML file to set a custom value:
57+
**Note:** This process is specifically for sharing community workflows. We also recommend reading our [CONTRIBUTING.md](../../CONTRIBUTING.md) file for general contribution guidelines and best practices that apply to all pull requests.
5758

58-
```yaml
59-
with:
60-
settings: |-
61-
{
62-
"maxSessionTurns": 10
63-
}
64-
```
65-
66-
#### Custom Context and Guidance (`GEMINI.md`)
67-
68-
To provide Gemini CLI with custom instructions—such as coding conventions, architectural patterns, or other guidance—add a `GEMINI.md` file to the root of your repository. Gemini CLI will use the content of this file to inform its responses.
69-
70-
### GitHub Actions Workflow Settings
59+
**Workflow Template:**
7160

72-
#### Setting Timeouts
61+
When adding your workflow to [AWESOME.md](./AWESOME.md), use this format:
7362

74-
You can control how long Gemini CLI runs by using either the `timeout-minutes` field in your workflow YAML, or by specifying a timeout in the `settings` input.
63+
```markdown
64+
### <Workflow Name>
65+
**Author:** [@<username>](https://github.com/<username>)
66+
**Repository:** [<owner>/<repo>](https://github.com/<owner>/<repo>)
67+
**Category:** <Category Name>
7568

76-
#### Required Permissions
69+
Brief description of what the workflow does and its key features.
7770

78-
Only users with the following roles can trigger the workflow:
71+
**Key Features:**
72+
- Feature 1
73+
- Feature 2
74+
- Feature 3
7975

80-
- Repository Owner (`OWNER`)
81-
- Repository Member (`MEMBER`)
82-
- Repository Collaborator (`COLLABORATOR`)
76+
**Setup Requirements:**
77+
- Requirement 1
78+
- Requirement 2 (if any)
8379

84-
## Contributing
80+
**Example Use Cases:**
81+
- Use case 1
82+
- Use case 2
8583

86-
We encourage you to contribute to this collection of workflows! If you have a workflow that you would like to share with the community, please open a pull request.
87-
88-
When contributing, please follow these guidelines. For more information on contributing to the project as a whole, please see the [CONTRIBUTING.md](../../CONTRIBUTING.md) file.
89-
90-
* Create a new directory for your workflow.
91-
* Include a `README.md` file that explains how to use your workflow.
92-
* Add your workflow to the list of available workflows in this `README.md` file.
84+
**Workflow File:** [View on GitHub](https://github.com/<owner>/<repo>/blob/main/.github/workflows/<workflow-name>.yml)
85+
```
9386

94-
We look forward to seeing what you build!
87+
Browse our [Awesome Workflows](./AWESOME.md) page to see what the community has created!

0 commit comments

Comments
 (0)