Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
README not found
While a README isn't a required part of an open source project, it is a very good idea to have one. READMEs are a great place to describe your project or add some documentation such as how to install or use your project. You might want to include contact information - if your project becomes popular people will want to help you out. See GitHub's article on creating repositories. See Tom Preston-Werner's blog post on README driven development. Also see the Wikipedia article on READMEs.
CONTRIBUTING guide not found
Oftentimes open source projects place a CONTRIBUTING file in the root directory. It explains how a participant should do things like format code, test fixes, and submit patches. Here is a fine example from Puppet and another one from
factory_girl_rails. From a maintainer's point of view, the document succinctly communicates how best to collaborate. And for a contributor, one quick check of this file verifies their submission follows the maintainer's guidelines. See GitHub's blog post about CONTRIBUTING guides.
ISSUE_TEMPLATE not found
When you add an issue template to your repository, project contributors will automatically see the template's contents in the issue form body. Templates customize and standardize the information you'd like included when contributors open issues. See GitHub's article about the ISSUE_TEMPLATE file.
PULL_REQUEST_TEMPLATE not found
When you add a pull request template to your repository, project contributors will automatically see the template's contents in the pull request form body. Templates customize and standardize the information you'd like included when contributors create pull requests. See GitHub's article about the PULL_REQUEST_TEMPLATE file.
LICENSE not found
Don't fret! Choosing an open source license can be confusing. That's why GitHub created choosealicense.com, a website that helps you make decisions about how to license your code. A software license tells others what they can and can't do with your source code. There's a handful of standard and well-known software licenses out there to choose from. See GitHub's article on open source licensing.
Bootstrap script not found
A bootstrap script is a thoughtful way to let new users (and future versions of yourself on new hardware) get up and running quickly. A good bootstrap script detects and installs all project dependencies. Make it as easy as running
script/bootstrap. Here's an example of Friction's bootstrap script. See Wynn Netherland's post on bootstrapping consistency.
Test script not found
Good software projects have test suites that ensure the code works as advertised. Even within language communities, there can be a myriad of test frameworks. You can make it easy to run the test suite with a platform agnostic
script/test executable. Here's an example of Friction's test script. If it applies to your project, it is also worth having
script/console scripts. See Wynn Netherland's post on bootstrapping consistency.
.gitignore not found
If you create a file in your repository named
.gitignore, Git uses it to determine which files and directories to ignore, before you make a commit. A
.gitignore file should be committed into your repository, in order to share the ignore rules with any other users that clone the repository. See GitHub's article on ignoring files. See GitHub's collection of useful
.gitignore templates. Also see Git's manual page on