https://github.com/meyskens/repo-create
CLI tool to assist mass repo creation
https://github.com/meyskens/repo-create
Last synced: 17 days ago
JSON representation
CLI tool to assist mass repo creation
- Host: GitHub
- URL: https://github.com/meyskens/repo-create
- Owner: meyskens
- License: mit
- Created: 2020-01-20T16:08:18.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-27T13:48:22.000Z (about 2 years ago)
- Last Synced: 2025-03-24T09:11:28.983Z (about 1 month ago)
- Language: Go
- Size: 54.7 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Repo Creator
============This is a small tool to quickly prepare GitHub repositories, bootstrapped with files, projects and labels.
It is meant to be used in education to let students work under a specific GitHub org with some files, labels and settings pre-setup.## Usage
This is a CLI tool, you can find binaries for all major operating systems under [releases](https://github.com/meyskens/repo-create/releases/tag/v0.1.0).## Auth
This tool uses a GitHub personal token, set in env vars (or `--auth-token` flag).
```console
$ export AUTH_TOKEN=
$ repo-create
```### Create repositories
This command will create empty repositories in a given org with a given prefix, these can also be set to private.Example:
```console
$ repo-create create --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN --private
```### Clone to repositories
Clone will clone a repo from a given source and will automatically push the content to the empty repositories.Example:
```console
$ repo-create clone --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN --source https://github.com/itfactory-tm/Keuzeproject1_MIN.git
```### Add labels
This will create a new label in all repositories with a given color and nameExample:
```console
$ repo-create label --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN --name "21:45 - 23:15" --color "ffffff"
```### Remove labels
This will remove a label in all repositories with a given name, meant to remove unneeded defaultsExample:
```console
$ repo-create rm-label --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN --name "bug"
```### Delete repositories
This command will delete repositories in a given org with a given prefix, these can also be set to private. NOTE: tjis functon will not warn you before deletion!Example:
```console
$ repo-create delete --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN
```### Branch protection
This will enable branch protection to enforce code reviewExample:
```console
$ repo-create protect --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN
```### Add projects
This will add a project to the repo prefilled with empty collumnsExample:
```console
$ repo-create project --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN --name Kanban --collumns todo,doing,done
```### Add issues
This will add a issue to the repo prefilled with a given contentExample:
```console
$ repo-create issue --org itfactory-tm -n 22 --prefix Keuzeproject1-MIN --title "Good luck!" --content "yes you can!"
```