https://github.com/wndhydrnt/saturn-bot
Automatically create pull requests. Create, modify or delete files across repositories.
https://github.com/wndhydrnt/saturn-bot
automation devops gitops golang pull-requests refactoring
Last synced: 12 months ago
JSON representation
Automatically create pull requests. Create, modify or delete files across repositories.
- Host: GitHub
- URL: https://github.com/wndhydrnt/saturn-bot
- Owner: wndhydrnt
- License: agpl-3.0
- Created: 2024-04-10T19:31:13.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-16T18:16:59.000Z (about 1 year ago)
- Last Synced: 2025-06-16T18:44:12.404Z (about 1 year ago)
- Topics: automation, devops, gitops, golang, pull-requests, refactoring
- Language: Go
- Homepage: https://saturn-bot.readthedocs.io
- Size: 1.44 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# saturn-bot 🪐🤖
Create, modify or delete files across many repositories in parallel.
## Use cases
- Onboard repositories to CI workflows.
- Keep files in sync across repositories.
- Automate code rewrites.
## Features
- Create or delete files.
- Insert, replace or delete lines in files.
- Filter which repositories to modify.
- Automatic creation of pull requests.
- Support for GitHub and GitLab.
- Implement custom logic and complex changes through plugins in Go and Python.
- Automatically merge pull requests if all checks have passed and all approvals have been given.
## Quickstart
Requirements:
- saturn-bot installed.
- An access token for GitHub or GitLab.
Create the file `hello-world.yaml`:
```yaml title="hello-world.yaml"
# yaml-language-server: $schema=https://saturn-bot.readthedocs.io/en/latest/schemas/task.schema.json
name: "saturn-bot Hello World"
prTitle: "saturn-bot Hello World"
prBody: |
saturn-bot Quickstart.
This pull request creates the file `hello-world.txt`.
# Filters tell saturn-bot which repositories to modify.
filters:
- filter: repository
params:
host: github.com
owner: wndhydrnt # Replace with your owner
name: saturn-bot-example # Replace with your repository
# Actions tell saturn-bot how to modify each repository.
actions:
- action: fileCreate
params:
content: "Hello World"
path: "hello-world.txt"
```
Run saturn-bot:
GitHub
```shell
SATURN_BOT_GITHUBTOKEN= saturn-bot run hello-world.yaml
```
GitLab
```shell
SATURN_BOT_GITLABTOKEN= saturn-bot run hello-world.yaml
```