Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mirrajabi/aider-github-action
Run Aider AI assistant in your Github Workflows!
https://github.com/mirrajabi/aider-github-action
Last synced: about 2 months ago
JSON representation
Run Aider AI assistant in your Github Workflows!
- Host: GitHub
- URL: https://github.com/mirrajabi/aider-github-action
- Owner: mirrajabi
- License: apache-2.0
- Created: 2023-12-30T13:14:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-12T06:35:11.000Z (3 months ago)
- Last Synced: 2024-11-12T07:29:37.325Z (3 months ago)
- Language: Shell
- Size: 37.1 KB
- Stars: 14
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-AI-driven-development - aider-github-action - Run Aider AI assistant in your Github Workflows! (Uncategorized / Uncategorized)
README
# Aider GitHub Action
This action runs [Aider](https://github.com/paul-gauthier/aider) in a container given a set of arguments, let's Aider apply changes, then it pushes the changes to the repository on the branch you pass to it.
## Usage
### Using Aider Github Workflows
The easiest and recommended way to use this action is to use the [aider-github-workflows](https://github.com/mirrajabi/aider-github-workflows).
See [Issue to PR workflow](https://github.com/mirrajabi/aider-github-workflows/blob/main/docs/issue-to-pr.md) which is a great place to start.
### Using the action by itself
In your workflow file, add the following step to your job:
```yaml
jobs:
my_job:
steps:
- name: Apply changes with Aider
uses: mirrajabi/aider-github-action@main
timeout-minutes: 10 # So that you won't accidentally burn your OpenAI credits!
with:
openai_api_key: ${{ secrets.openai_api_key }}
branch: ${{ fromJson(steps.create_branch.outputs.result).ref }}
model: ${{ inputs.model }}
aider_args: '--yes --message "${{ steps.create_prompt.outputs.result }}"'
```#### Action Inputs
When using the action directly, you can pass the following inputs to it:
| Field Name | Description | Required | Type | Default |
|------------------|---------------------------------------------------------------|-----------|---------|--------------------------|
| `aider_args` | Space-delimited args to pass to aider (Example: `"--yes --message 'Make the dashboard sidebar purple'"`) | **true** | string | - |
| `branch` | Branch to run Aider on | **false** | string | main |
| `model` | Model to run Aider with. Find available models on [this page](https://aider.chat/docs/llms.html) | **false** | string | `gpt-4-1106-preview` |
| `openai_api_key` | OpenAI API Key | **false** | string | - |
| `anthropic_api_key`| Anthropic API Key | **false** | string | - |
| `gemini_api_key` | Gemini API Key | **false** | string | - |
| `groq_api_key` | Groq API Key | **false** | string | - |
| `cohere_api_key` | Cohere API Key | **false** | string | - |
| `deepseek_api_key` | Deepseek API Key | **false** | string | - |
| `openrouter_api_key`| OpenRouter API Key | **false** | string | - |## Roadmap
- [x] Put it out there
- [ ] Get it to a point where tagging it as `v1` makes sense.
- [ ] Investigate the possibilities of turning this into a Github App.## Credits
This project uses [Paul Gauthier's Aider](https://github.com/paul-gauthier/aider). It's a great tool, and you should check it out! You can also use it as your local coding assistant.