Skip to content
.github directory generator
Branch: master
Clone or download
Latest commit acc7cee Dec 30, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
example add templates for GitHub and example templates Feb 21, 2016
cli_test.go add -selfupdate flag Dec 30, 2017

.github Directory Generator

Linux and OS X Windows Coverage
Travis Badge Appveyor Badge Coverage Badge

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.


Getting Started

1. Installation

go get command

$ go get

or released binaries

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

2. Write Your Template Files

$ mkdir -p ~/.github && cd ~/.github

Please read below instruction detail about template file

Note: You can change the home directory for dot-github by $DOT_GITHUB_HOME environment variable.

3. Generate .github

$ cd your-repo
$ dot-github
$ git add .github

4. Tweak Generated Files

Tweak generated files in your-repo/.github/* for your project-specific information.

Writing Template File

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/ Template for issues.
$DOT_GITHUB_HOME/.github/ Template for pull requests.
$DOT_GITHUB_HOME/.github/ If above files are not found, this file is used for template of issues and pull requests.
$DOT_GITHUB_HOME/.github/ 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.

Template Examples

Template files

  • ~/.github/
{{if .IsIssue}}
### Expected Behavior

### Actual Behavior

{{if .IsPullRequest}}
### Fix or Enhancement?

- [ ] All tests passed

### Environment
- OS: Write here
- Go version: Write here
  • ~/.github/
Thank you for contributing {{.RepoName}}!

Please follow issue/PR template.

Generated Files

  • /path/to/your-repo/.github/
### Expected Behavior

### Actual Behavior

### Environment
- OS: Write here
- Go version: Write here
  • /path/to/your-repo/.github/
### Fix or Enhancement?

- [ ] All tests passed

### Environment
- OS: Write here
- Go version: Write here
  • /path/to/your-repo/.github/
Thank you for contributing my-project!

Please follow issue/PR template.

Update dot-github command

To update dot-github command, -selfupdate flag is recommended.



This software is distributed under MIT license.

You can’t perform that action at this time.