command module
Version: v1.1.0 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Aug 3, 2021 License: Apache-2.0 Imports: 1 Imported by: 0



Help you to be a qualified maintainer.

Go Report Card GoDoc for GitHub Gitter

Maintainer is a CLI app which helps you to generate AUTHORS,, and so on based on the repository in GitHub. It makes your repository more contributor-friendly.


$ go get
$ maintainer --help
maintainer is a CLI app to help you to generate AUTHORS,, and so on.

  maintainer [command]

Available Commands:
  changelog    Generate for your repository.
  contributing Generate for your repository.
  contributor  Generate for your repository.
  readme       Generate related text in your repository.

  --config string   config file (default is $HOME/.maintainer.yaml)
  -h, --help            help for maintainer

Use "maintainer [command] --help" for more information about a command.

The Docker Way

Docker Pulls

$ 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, 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.

Features Preview



changelog subcommand will generate 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.

See as an example.


contributing subcommand will generate 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.

See as an example.


contributor subcommand will generate AUTHORS just like moby/moby does. It gives the contributors more passion to contribute.

See as an example.

Generate Personal Daily Report or Summary

user daily and user summary subcommands will generate daily report or summary for the given user.

maintainer user --username gaocegege daily
maintainer user --username gaocegege summary --begin 2019-05-20 --end 2019-05-22

See or as an example.

Please notice that GitHub only shows the first 300 events for one user which is a core limitation for this feature.

readme subcommand contains some subcommands:

  • toc subcommand, which could generate table of contents(TOC) for It is supported with gh-md-toc, so you need to install it before the subcommand is called.

Recommend badges for you (Soon)

People ❤️ badges. badge subcommand will recommend badges for you based on which languages the repository is written in.

CLI references



Run from source code

go run main.go <subcommand>

Build Docker image

Maintainer requires two steps to build a Docker image.

  1. scripts/ builds maintainer in a Docker container which from golang:1.8-alpine. It mounts maintainer directory into the container so the maintainer built from code will visiable in host.
  2. docker build -t maintainer . builds real image from Dockerfile. It simply copys binary maintainer 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.



The Go Gopher

There is no documentation for this package.

Source Files


Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL