Linux and OS X | Windows | Coverage |
---|---|---|
GitHub now supports issue and pull request template.
This repository provides dot-github
command to generate the template files automatically for your
GitHub repositories. This also enables to manage template files in dotfiles for all of your machines.
go get
command
$ go get github.com/rhysd/dot-github
cd /path/to/Downloads # Download binary for your platform
chmod +x dot-github_your_platform
mv dot-github_your_platform /usr/local/bin/dot-github
$ mkdir -p ~/.github && cd ~/.github
$ $EDITOR ISSUE_AND_PULL_REQUEST_TEMPLATE.md
$ $EDITOR CONTRIBUTING.md
Please read below instruction detail about template file
Note: You can change the home directory for dot-github
by $DOT_GITHUB_HOME
environment variable.
$ cd your-repo
$ dot-github
$ git add .github
Tweak generated files in your-repo/.github/*
for your project-specific information.
You can see example directory in this repository for real world examples.
dot-github
looks below template files
File Path | Description |
---|---|
$DOT_GITHUB_HOME/.github/ISSUE_TEMPLATE.md |
Template for issues. |
$DOT_GITHUB_HOME/.github/PULL_REQUEST_TEMPLATE.md |
Template for pull requests. |
$DOT_GITHUB_HOME/.github/ISSUE_AND_PULL_REQUEST_TEMPLATE.md |
If above files are not found, this file is used for template of issues and pull requests. |
$DOT_GITHUB_HOME/.github/CONTRIBUTING.md |
Template for contributing guideline. |
Note that $DOT_GITHUB_HOME
is an environment variable. You can specify your favorite directory to put template files. Default directory for it is ~
.
Above template files are parsed as Golang's standard text template. Below variables are available in template. They are useful to write flexible and common template files for each repositories.
Variable Name | Type | Description |
---|---|---|
.IsIssue |
boolean | True when used for issue template. |
.IsPullRequest |
boolean | True when used for pull request template. |
.IsContributing |
boolean | True when used for contributing template. |
.RepoName |
string | Repository name. |
.RepoUser |
string | Repository owner name. |
~/.github/ISSUE_AND_PULL_REQUEST_TEMPLATE.md
{{if .IsIssue}}
### Expected Behavior
### Actual Behavior
{{end}}
{{if .IsPullRequest}}
### Fix or Enhancement?
- [ ] All tests passed
{{end}}
### Environment
- OS: Write here
- Go version: Write here
~/.github/CONTRIBUTING.md
Thank you for contributing {{.RepoName}}!
=========================================
Please follow issue/PR template.
/path/to/your-repo/.github/ISSUE_TEMPLATE.md
### Expected Behavior
### Actual Behavior
### Environment
- OS: Write here
- Go version: Write here
/path/to/your-repo/.github/PULL_REQUEST_TEMPLATE.md
### Fix or Enhancement?
- [ ] All tests passed
### Environment
- OS: Write here
- Go version: Write here
/path/to/your-repo/.github/CONTRIBUTING.md
Thank you for contributing my-project!
=========================================
Please follow issue/PR template.
To update dot-github
command, -selfupdate
flag is recommended.
- Setting guidelines for repository contributors
- Creating an issue template for your repository
- Creating a pull request template for your repository
- Issue と PR のテンプレートジェネレータつくった (Japanese Blog Post)
This software is distributed under MIT license.