๐จโ๐ป Help you to be a qualified maintainer :)
Maintainer is a CLI app which helps you to generate AUTHORS, CHANGELOG.md, CONTRIBUTING.md and so on based on the repository in GitHub. It makes your repository more contributor-friendly.
$ go get github.com/gaocegege/maintainer
$ maintainer --help
maintainer is a CLI app to help you to generate AUTHORS, CONTRIBUTING.md, CHANGELOG.md and so on.
Usage:
maintainer [command]
Available Commands:
changelog Generate CHANGELOG.md for your repository.
contributing Generate CONTRIBUTING.md for your repository.
contributor Generate AUTHORS.md for your repository.
Flags:
--config string config file (default is $HOME/.maintainer.yaml)
Use "maintainer [command] --help" for more information about a command.
$ docker pull gaocegege/maintainer
$ docker run --rm -v $(pwd):/workdir gaocegege/maintainer:latest --help
There is only one configuration now: the token in GitHub. The token can be created from https://github.com/settings/tokens/new?description=Maintainer%20CLI%20token, you only need "repo" scope for private repositories.
It is used in changelog subcommand, so there are three ways to config the token:
- Config
token
field in$HOME/.maintainer.yml
. ./.maintainer.yml.template is a template. - Or Set environment variable
MAINTAINER_TOKEN
. - Or Set the flag in changelog subcommand:
maintainer changelog --token <token>
. If you set it in command, it will override the configuration in config file and the environment variable.
changelog subcommand will generate CHANGELOG.md for your repository, it is supported via github_changelog_generator, so you need to install it before the subcommand is called.
See here about how to install github_changelog_generator. In the future, maintainer will support install this dependency automatically.
contributing subcommand will generate CONTRIBUTING.md for your repository, now this file is a general version.
In the future, maintainer will detect languages and generate corresponding documentation about programming language specific flow for contribution.
contributor subcommand will generate AUTHORS just like moby/moby does. It gives the contributors more passion to contribute.
People โค๏ธ badges. badge subcommand will recommend badges for you based on which languages the repository is written in.
go run main.go <subcommand>
Maintainer requires two steps to build a Docker image.
scripts/build-for-alphine.sh
buildsmaintainer
in a Docker container which fromgolang:1.8-alpine
. It mounts maintainer directory into the container so themaintainer
built from code will visiable in host.docker build -t maintainer .
builds real image fromDockerfile
. It simply copys binarymaintainer
into the image and install some dependencies such as git and github_changelog_generator.
This way is inspired by caicloud/cyclone. It could reduce the size of image significantly.
- Thanks github.com/spf13/cobra for its powerful CLI generator.
- Thanks github_changelog_generator which is the source of the idea.