Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/g4s8/gitstrap
CLI for managing GitHub resources
https://github.com/g4s8/gitstrap
cli git github webhooks
Last synced: about 2 months ago
JSON representation
CLI for managing GitHub resources
- Host: GitHub
- URL: https://github.com/g4s8/gitstrap
- Owner: g4s8
- License: mit
- Created: 2019-01-04T11:21:48.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-06T09:43:38.000Z (9 months ago)
- Last Synced: 2024-11-24T01:25:21.815Z (2 months ago)
- Topics: cli, git, github, webhooks
- Language: Go
- Size: 333 KB
- Stars: 70
- Watchers: 7
- Forks: 15
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Gitstrap
[![CI](https://github.com/g4s8/gitstrap/actions/workflows/go.yml/badge.svg)](https://github.com/g4s8/gitstrap/actions/workflows/go.yml)
[![Hits-of-Code](https://hitsofcode.com/github/g4s8/gitstrap)](https://hitsofcode.com/view/github/g4s8/gitstrap)
[![codebeat badge](https://codebeat.co/badges/89bbb569-fba9-4c68-9b21-e2520b59fbeb)](https://codebeat.co/projects/github-com-g4s8-gitstrap-master)[![GitHub release](https://img.shields.io/github/release/g4s8/gitstrap.svg?label=version)](https://github.com/g4s8/gitstrap/releases/latest)
Manage your GitHub repositories as a set of resouce configuration files!
Gitstrap automates routine operations with Github.
It can create and configure Github repositories, teams, readmes, organizations, etc
from `yaml` specification files.
It helps to:
* Create new repository on Github;
* Manage repositories permissions;
* Keep all organization repositories configuration in yaml files in one directory;
* Configure webhooks for Github repo 5) configure branch protection rules;
* Other repo management tasks;See Wiki for [full documentation](https://github.com/g4s8/gitstrap/wiki/Specifications).
# Demo
[![asciicast](https://asciinema.org/a/504401.svg)](https://asciinema.org/a/504401)
# Quickstart
1. Download `gitstrap` CLI (see [Install](#install) section)
2. Get configuration from any of your repositories or from this one: `gitstrap get --owner=g4s8 gitstrap > repo.yaml`
3. Edit YAML config (see [Specification](https://github.com/g4s8/gitstrap/wiki/Specifications) reference)
4. Create or update you repository with `gitstrap apply -f repo.yaml`## Install
First you need to install it.
To get binary for your platform use [download script](https://github.com/g4s8/gitstrap/blob/master/scripts/download.sh):
```sh
curl -L https://raw.githubusercontent.com/g4s8/gitstrap/master/scripts/download.sh | sh
```On MacOS you can install it using `brew` tool:
```sh
brew tap g4s8/.tap https://github.com/g4s8/.tap
brew install g4s8/.tap/gitstrap
```Alternatively, you can build it using `go get github.com/g4s8/gitstrap`
## Get GitHub token
To use `gitstrap` you need GitHub token.
Go to settings (profile settings, developer settings, personal access token, generate new token):
https://github.com/settings/tokens/new
and select all `repo` checkboxes and `delete_repo` checkbox (in case you want gitstrap to be able to
delete repositories). You may use this token as CLI option (`gitstrap --token=ABCD123 apply`)
or save it in `~/.config/gitstrap/github_token.txt` file.## Contributing
See [CONTRIBUTING.md](https://github.com/g4s8/gitstrap/blob/master/CONTRIBUTING.md) for details.