{"id":13571272,"url":"https://github.com/maintainer-org/maintainer","last_synced_at":"2025-04-04T08:30:45.629Z","repository":{"id":46812240,"uuid":"89426242","full_name":"maintainer-org/maintainer","owner":"maintainer-org","description":":octocat: :man_technologist: :whale: Generate personal daily reports or summary, AUTHORS, CONTRIBUTING, CHANGELOG and so on for GitHub user or repository.","archived":false,"fork":false,"pushed_at":"2024-02-19T09:15:23.000Z","size":1989,"stargazers_count":205,"open_issues_count":15,"forks_count":27,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-05T04:33:51.635Z","etag":null,"topics":["authors","automation","badges","changelog","cli-app","contributing","docker","generator","github","golang","maintainer-tools","maintainers"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maintainer-org.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["Xuanwo","gaocegege"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2017-04-26T02:00:43.000Z","updated_at":"2024-09-19T01:27:05.000Z","dependencies_parsed_at":"2024-06-18T21:27:41.214Z","dependency_job_id":"ba624433-75db-4e7f-b67f-1e56fefcdcf8","html_url":"https://github.com/maintainer-org/maintainer","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maintainer-org%2Fmaintainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maintainer-org%2Fmaintainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maintainer-org%2Fmaintainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maintainer-org%2Fmaintainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maintainer-org","download_url":"https://codeload.github.com/maintainer-org/maintainer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247146881,"owners_count":20891582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authors","automation","badges","changelog","cli-app","contributing","docker","generator","github","golang","maintainer-tools","maintainers"],"created_at":"2024-08-01T14:01:00.415Z","updated_at":"2025-04-04T08:30:45.191Z","avatar_url":"https://github.com/maintainer-org.png","language":"Go","readme":"\u003ch1 align=\"center\"\u003e\n        \u003cbr\u003e\n        \u003cimg width=\"200\" src=\"docs/img/logo.png\" alt=\"maintainer\"\u003e\n        \u003cbr\u003e\n        \u003ch4 align=\"center\"\u003eHelp you to be a qualified maintainer.\u003c/h4\u003e\n        \u003cbr\u003e\n\u003c/h1\u003e\n\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/maintainer-org/maintainer)](https://goreportcard.com/report/github.com/maintainer-org/maintainer)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/maintainer-org/maintainer)\n[![](https://img.shields.io/badge/docker-supported-blue.svg)](https://hub.docker.com/r/maintainer-org/maintainer/)\n[![Libraries.io for GitHub](https://img.shields.io/librariesio/github/maintainer-org/maintainer.svg)](https://libraries.io/github/maintainer-org/maintainer)\n[![Gitter](https://badges.gitter.im/maintainer-org/maintainer.svg)](https://gitter.im/maintainer-org/maintainer?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nMaintainer 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.\n\n## Installation\n\n```text\n$ go get github.com/maintainer-org/maintainer\n$ maintainer --help\nmaintainer is a CLI app to help you to generate AUTHORS, CONTRIBUTING.md, CHANGELOG.md and so on.\n\nUsage:\n  maintainer [command]\n\nAvailable Commands:\n  changelog    Generate CHANGELOG.md for your repository.\n  contributing Generate CONTRIBUTING.md for your repository.\n  contributor  Generate AUTHORS.md for your repository.\n  readme       Generate README.md related text in your repository.\n\nFlags:\n  --config string   config file (default is $HOME/.maintainer.yaml)\n  -h, --help            help for maintainer\n\nUse \"maintainer [command] --help\" for more information about a command.\n```\n\n## The Docker Way\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/gaocegege/maintainer.svg)](https://hub.docker.com/r/gaocegege/maintainer/)\n[![](https://images.microbadger.com/badges/image/gaocegege/maintainer.svg)](https://microbadger.com/images/gaocegege/maintainer \"Get your own image badge on microbadger.com\")\n[![](https://images.microbadger.com/badges/version/gaocegege/maintainer.svg)](https://microbadger.com/images/gaocegege/maintainer \"Get your own version badge on microbadger.com\")\n\n```bash\n$ docker pull gaocegege/maintainer\n$ docker run --rm -v $(pwd):/workdir gaocegege/maintainer:latest --help\n```\n\n## Config\n\nThere 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.\n\nIt is used in changelog subcommand, so there are three ways to config the token:\n\n* Config `token` field in `$HOME/.maintainer.yml`. [./.maintainer.yml.template](./.maintainer.yml.template) is a template.\n* Or Set environment variable `MAINTAINER_TOKEN`.\n* Or Set the flag in changelog subcommand: `maintainer changelog --token \u003ctoken\u003e`. If you set it in command, it will override the configuration in config file and the environment variable.\n\n## Features Preview\n\n[![asciicast](https://asciinema.org/a/117832.png)](https://asciinema.org/a/117832)\n\n### Generate CHANGELOG.md\n\nchangelog subcommand will generate CHANGELOG.md for your repository, it is supported\nvia github_changelog_generator, so you need to install it before the subcommand is called.\n\nSee [here about how to install github_changelog_generator.](https://github.com/skywinder/github-changelog-generator#installation) In the future, maintainer will support install this dependency automatically.\n\nSee [CHANGELOG.md](./CHANGELOG.md) as an example.\n\n### Generate CONTRIBUTING.md\n\ncontributing subcommand will generate CONTRIBUTING.md for your repository, now this file is a general version.\n\nIn the future, maintainer will detect languages and generate corresponding documentation about programming language specific flow for contribution.\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) as an example.\n\n### Generate AUTHORS.md\n\ncontributor subcommand will generate AUTHORS just like [moby/moby](https://github.com/moby/moby/blob/master/AUTHORS) does. It gives the contributors more passion to contribute.\n\nSee [AUTHORS.md](./AUTHORS.md) as an example.\n\n### Generate Personal Daily Report or Summary\n\nuser daily and user summary subcommands will generate daily report or summary for the given user.\n\n```\nmaintainer user --username gaocegege daily\nmaintainer user --username gaocegege summary --begin 2019-05-20 --end 2019-05-22\n```\n\nSee [daily.md](./daily.md) or [summary.md](./summary.md) as an example.\n\nPlease notice that GitHub only shows the first 300 events for one user which is a core limitation for this feature.\n\n### Generate README.md related text\n\nreadme subcommand contains some subcommands:\n\n* `toc` subcommand, which could generate table of contents(TOC) for README.md. It is supported with [gh-md-toc](https://github.com/ekalinin/github-markdown-toc), so you need to install it before the subcommand is called.\n\n### Recommend badges for you (Soon)\n\nPeople :heart: badges. badge subcommand will recommend badges for you based on which languages the repository is written in.\n\n## CLI references\n\n[references/README.md](./references/README.md)\n\n## Development\n\n### Run from source code\n\n```bash\ngo run main.go \u003csubcommand\u003e\n```\n\n### Build Docker image\n\nMaintainer requires two steps to build a Docker image.\n\n1. `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.\n1. `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.\n\nThis way is inspired by [caicloud/cyclone](https://github.com/caicloud/cyclone). It could reduce the size of image significantly.\n\n## Acknowledgments\n\n* Thanks [github.com/spf13/cobra](https://github.com/spf13/cobra) for its powerful CLI generator.\n* Thanks [github_changelog_generator](https://github.com/skywinder/github-changelog-generator) which is the source of the idea.\n* Thanks [gophers](https://github.com/egonelbre/gophers) and [johan/1007813](https://gist.github.com/johan/1007813) for the awesome gophers and octocat.\n","funding_links":["https://github.com/sponsors/Xuanwo","https://github.com/sponsors/gaocegege"],"categories":["automation","Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaintainer-org%2Fmaintainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaintainer-org%2Fmaintainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaintainer-org%2Fmaintainer/lists"}