| 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-githubcd /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.mdPlease 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 .githubTweak 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.