aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md94
1 files changed, 66 insertions, 28 deletions
diff --git a/README.md b/README.md
index 66c163ad..14042e94 100644
--- a/README.md
+++ b/README.md
@@ -1,41 +1,79 @@
-# A Collection of Useful .gitignore Templates
+# A collection of `.gitignore` templates
-That's what we're trying to build. Please contribute
-by [forking][fk] and sending a [pull request][pr].
+This is GitHub’s collection of [`.gitignore`][man] file templates.
+We use this list to populate the `.gitignore` template choosers available
+in the GitHub.com interface when creating new repositories and files.
-Also **please** only modify **one file** per commit. This'll
-make merging easier for everyone.
+For more information about how `.gitignore` files work, and how to use them,
+the following resources are a great place to start:
-Global gitignores (OS-specific, editor-specific) should go into the
-`Global/` directory.
+- The [Ignoring Files chapter][chapter] of the [Pro Git][progit] book.
+- The [Ignoring Files article][help] on the GitHub Help site.
+- The [gitignore(5)][man] manual page.
-For more information on gitignore: [gitignore(5)][g5]
+[man]: http://git-scm.com/docs/gitignore
+[help]: https://help.github.com/articles/ignoring-files
+[chapter]: http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Ignoring-Files
+[progit]: http://git-scm.com/book
-[fk]: http://help.github.com/forking/
-[pr]: http://help.github.com/pull-requests/
-[g5]: http://man.cx/gitignore
+## Folder structure
+
+The files in the root directory are for `.gitignore` templates that are
+project specific, such as language or framework specific templates.
+Global (operating system or editor specific) templates should go into the
+[`Global/`](./Global) directory.
+
+## Contributing guidelines
+
+We’d love you to help us improve this project. To help us keep this collection
+high quality, we request that contributions adhere to the following guidelines.
-## Pull Requests
+- **Provide a link to the application or project’s homepage**. Unless it’s
+ extremely popular, there’s a chance the maintainers don’t know about or use
+ the language, framework, editor, app, or project your change applies to.
+
+- **Provide links to documentation** supporting the change you’re making.
+ Current, canonical documentation mentioning the files being ignored is best.
+ If documentation isn’t available to support your change, do the best you can
+ to explain what the files being ignored are for.
+
+- **Explain why you’re making a change**. Even if it seems self-evident, please
+ take a sentence or two to tell us why your change or addition should happen.
+ It’s especially helpful to articulate why this change applies to *everyone*
+ who works with the applicable technology, rather than just you or your team.
+
+- **Please consider the scope of your change**. If your change specific to a
+ certain language or framework, then make sure the change is made to the
+ template for that language or framework, rather than to the template for an
+ editor, tool, or operating system.
-Since this repo includes a large and diverse
-number of programming languages, frameworks, editors,
-and ecosystems, it's **very helpful** if you can provide
-a link to information supporting your pull request.
-Up-to-date, canonical documentation that mentions the files
-to be ignored is best.
+- **Please only modify *one template* per pull request**. This helps keep pull
+ requests and feedback focused on a specific project or technology.
-This ensures we can efficiently go through pull requests
-and keep quality high.
+In general, the more you can do to help us understand the change you’re making,
+the more likely we’ll be to accept your contribution quickly.
-## Global Ignores
+Please also understand that we can’t list every tool that ever existed.
+Our aim is to curate a collection of the *most common and helpful* templates,
+not to make sure we cover every project possible. If we choose not to
+include your language, tool, or project, it’s not because it’s not awesome.
-git has a global configuration that applies rules to all of
-your projects. For example:
+## Contributing workflow
- git config --global core.excludesfile ~/.global_ignore
+Here’s how we suggest you go about proposing a change to this project:
+
+1. [Fork this project][fork] to your account.
+2. [Create a branch][branch] for the change you intend to make.
+3. Make your changes to your fork.
+4. [Send a pull request][pr] from your fork’s branch to our `master` branch.
+
+Using the web-based interface to make changes is fine too, and will help you
+by automatically forking the project and prompting to send a pull request too.
+
+[fork]: http://help.github.com/forking/
+[branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository
+[pr]: http://help.github.com/pull-requests/
-... will apply the rules in ~/.global_ignore for all of your repos.
+## License
-This is useful if you use an editor (like Emacs) that drops backup files,
-or if you work in an environment that generates binary or intermediate
-files that are always ignored.
+[MIT](./LICENSE).