angelmadames / gru

gru - A Golang-based CLI tool to run maintenance tasks on GitHub repositories (tags, repo settings, tags rotation, stable branch cleanup, etc).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gru ― GitHub Repository Updater Tool

tests

📒 Summary

I got tired of manually updating default settings, adding labels, and rotating old tags on each repository. GitHub, specifically, allows you to set default settings at the organization level for new repositories but it is not possible to apply those to previously created repositories automatically.

The purpose of this script is to set a default set of labels to an specified repository.

Made with Ruby 💎 for learning purposes.

⚙️ Setup

  • Create a GitHub access token.

  • Create the dotenv (.env) file using the example .env.example file and update it accordingly.

  • Change your settings in the config.yml file.

  • Install the script dependencies using bundle:

    bundle install

🚀 Run it

Run the script on your terminal:

ℹ️ Help

./gru.rb help         # Show all available commands
./gru.rb help labels  # Show help for a command

➡️ Update labels

./gru.rb labels add
./gru.rb labels remove

➡️ Update repo settings

./gru.rb repo update
./gru.rb repo update-all

➡️ Remove old tags

./gru.rb tags list
./gru.rb tags remove-stale

About

gru - A Golang-based CLI tool to run maintenance tasks on GitHub repositories (tags, repo settings, tags rotation, stable branch cleanup, etc).

License:Apache License 2.0


Languages

Language:Go 100.0%