一个CLI应用程序,可以帮助您根据GitHub中的存储库生成AUTHORS,CHANGELOG.md,CONTRIBUTING.md等

网友投稿 769 2022-11-02

一个CLI应用程序,可以帮助您根据GitHub中的存储库生成AUTHORS,CHANGELOG.md,CONTRIBUTING.md等

一个CLI应用程序,可以帮助您根据GitHub中的存储库生成AUTHORS,CHANGELOG.md,CONTRIBUTING.md等

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.

Installation

$ go get github.com/gaocegege/maintainer$ maintainer --helpmaintainer 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. readme Generate README.md related text in your repository.Flags: --config string config file (default is $HOME/.maintainer.yaml) -h, --help help for maintainerUse "maintainer [command] --help" for more information about a command.

The docker Way

$ docker pull gaocegege/maintainer$ docker run --rm -v $(pwd):/workdir gaocegege/maintainer:latest --help

Config

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 . If you set it in command, it will override the configuration in config file and the environment variable.

Features Preview

Generate CHANGELOG.md

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.

See CHANGELOG.md as an example.

Generate CONTRIBUTING.md

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.

See CONTRIBUTING.md as an example.

Generate AUTHORS.md

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

See AUTHORS.md 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 dailymaintainer user --username gaocegege summary --begin 2019-05-20 --end 2019-05-22

See daily.md or summary.md as an example.

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

Generate README.md related text

readme subcommand contains some subcommands:

toc subcommand, which could generate table of contents(TOC) for README.md. 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

references/README.md

Development

Run from source code

go run main.go

Build Docker image

Maintainer requires two steps to build a Docker image.

scripts/build-for-alphine.sh 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.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.

Acknowledgments

Thanks github.com/spf13/cobra for its powerful CLI generator.Thanks github_changelog_generator which is the source of the idea.Thanks gophers and johan/1007813 for the awesome gophers and octocat.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LiveGBS流媒体服务中GB28181语音对讲需要的设备及服务条件
下一篇:Hadouken是一个用于构建具有桌面体验的Web应用程序的开源运行时
相关文章

 发表评论

暂时没有评论,来抢沙发吧~