About this project

github/gitignore is the official collection of `.gitignore` file templates maintained by GitHub. It provides ready-to-use ignore rules for a wide range of programming languages, frameworks, IDEs, build tools, and operating systems. The repository organizes templates into three levels: - **Root templates** cover the most common languages and technologies, providing a meaningful starter set that prevents accidentally committing build artifacts, dependency folders, and editor preferences. - **Global/** contains cross-project templates for editors, tools, and OS-level patterns. These are recommended for adding to your global gitignore or merging into project-specific templates. - **community/** holds specialized templates for less mainstream languages, frameworks, and tools. The collection is used internally to power the `.gitignore` template chooser available when creating new repositories on GitHub.com. Users can select a language or tool and GitHub will automatically include the matching template. Contributions follow a clear workflow: fork the repository, create a branch, and open a pull request. The project accepts new templates for tools and languages that fill genuine gaps, curated around usefulness rather than exhaustive coverage. Versioned templates are kept in `community/` with previous versions embedded in filenames, while the root always holds the current supported version. The repository is licensed under CC0-1.0, placing it in the public domain.