All Projects → joelparkerhenderson → github-special-files-and-paths

joelparkerhenderson / github-special-files-and-paths

Licence: other
GitHub special files and paths, such as README, LICENSE, .github, docs, dependabot, workflows.

GitHub special files and paths

GitHub special files and paths

GitHub uses special files such as README and LICENSE, and special paths such as /.github and /docs, to improve repository managment and developer interactions. This page is a summary. We welcome pull requests.

Introduction

GitHub special files can typically be written with a variety of formats and file name extensions:

  • Freeform text, such as README or README.txt.

  • Markup formats, such as README.markdown or README.asciidoc - see markups

  • Custom syntaxes, such as the file CODEOWNERS.

GitHub special files are typically located at the repository top level or in special paths:

  • /.github is a hidden dot file directory.

  • /docs is a typical documentation directory.

  • Custom paths, such as the directory ISSUE_TEMPLATE.

The special files and paths are sometimes also known as community health files, recommended repository files, well-known configurations, etc.

For a general overview see building a strong community and GitHub's Open Source Guides.

README

This file that explains your project, what it does, why it is useful, etc.

This file is often the first item a visitor will see when visiting your repository, because GitHub automatically shows this file to repository visitors.

CHANGELOG

  • File: CHANGELOG or CHANGELOG.txt or CHANGELOG.md etc.

This file explains a reposity's notable changes, updates, versions, bug fixes, and the like. This file name convention has been around since the early days of the web.

LICENSE

This file explains the respostory's legal license, such as any legal rights, any copyright restrictions, etc. If you include a detectable license in your repository, people who visit your repository will see it at the top of the repository page.

If you want help to choose a license, then try https://choosealicense.com

If your project is significant, or contains other peoples' work or intellectual property, then you may want to consult with a lawyer who can help you with your specific goals and needs. If you don't provide a license, then in some locations a default copyright law will apply.

SUPPORT

  • File: SUPPORT or SUPPORT.txt or SUPPORT.md etc.

This file explains how a reader can get help with the repository and project. Github links this file on the page "New Issue". Unlike the "CONTRIBUTING" file, GitHub does not link this file on the page "New Pull Request".

SECURITY

This file explains the project's security policies, such as a list of versions that are currently being maintained with security updates. This file also provides instructions on how users can submit a report of a vulnerability.

GitHub links to this file, under the "Policy" link on the "Security" tab of your repository.

CODE_OF_CONDUCT

This file explains how to engage in a community, and how to foster an inclusive environment that respects all people, and how to address any problems among members of your project's community.

CONTRIBUTING

This file explains how people can contribute to the project. This file can help verify people are submitting well-formed pull requests and opening useful issues.

GitHub links to this file, on the page "New Issue" and the page "New Pull Request".

CONTRIBUTORS

  • File: CONTRIBUTORS or CONTRIBUTORS.txt or CONTRIBUTORS.md etc.

This file explains who has contributed to the project. When we use a CONTRIBUTORS file in our projects, we ask people how they want to be listed, such as by their name, handle, email address, website link, etc.

Compare this file to the file AUTHORS.

AUTHORS

  • File: AUTHORS or AUTHORS.txt or AUTHORS.md etc.

This file lists people who are significant authors of the project, such as the people who are legally related to the work. The GNU project states "Only the contributions that are legally significant for copyright purposes (see Legally Significant) need to be listed. Small contributions, bug reports, ideas, etc., can be omitted."

Compare this file to the file CONTRIBUTORS.

ACKNOWLEDGMENTS

  • File: ACKNOWLEDGMENTS or ACKNOWLEDGMENTS.txt or ACKNOWLEDGMENTS.md etc.

This file explains relevant related work, such as other projects that are dependencies, or libraries, or modules, or have their own copyrights or licenses that you want to include in your project.

CODEOWNERS

This file defines individuals or teams that are responsible for code in a repository.

Code owners are automatically requested for review when someone opens a pull request that modifies code that they own. When someone with admin or owner permissions has enabled required reviews, they also can optionally require approval from a code owner before the author can merge a pull request in the repository.

ISSUE_TEMPLATE

When you add an issue template to your repository, project contributors will automatically see the template's contents in the issue body. Templates customize and standardize the information you'd like included when contributors open issues.

See https://blog.github.com/2018-01-25-multiple-issue-and-pull-request-templates/

To add multiple issue templates to a repository create an ISSUE_TEMPLATE/ directory in your project root. Within that ISSUE_TEMPLATE/ directory you can create as many issue templates as you need, for example ISSUE_TEMPLATE/bugs.md.

PULL_REQUEST_TEMPLATE

This file triggers project contributors to automatically see the template's contents in a new pull request body. The template can customize and standardize the information you'd like included when contributors create pull requests.

See https://blog.github.com/2018-01-25-multiple-issue-and-pull-request-templates/

You can create a PULL_REQUEST_TEMPLATE/ subdirectory in any of the supported folders to contain multiple pull request templates. Use the template query parameter to specify the template that will automatically fill the pull request body. For more information, see "About automation for issues and pull requests with query parameters."

CITATION.cff

This file explains how you would like people to cite your work. The citation file format is plain text with human-readable and machine-readable citation information.

When you add this file to the default branch root directory of your repository, then GitHub automatically links to it from the repository landing page.

FUNDING.yml

You can configure your sponsor button by adding a file in your repository on the default branch. You can configure the button to include sponsored developers in GitHub Sponsors, external funding platforms, or a custom funding URL.

dependabot.yml

Dependabot is a GitHub tool that provides automated dependency updates. To enable updates, create a Dependabot configuration file and add it to a repository. The file describes the dependencies to update, where dependency manifests are located, etc. If Dependbot discovers that an update is available, then Dependabot sends you a pull request to update your dependency.

Workflows

A workflow is a configurable automated process made up of one or more jobs. You must create a YAML file to define your workflow configuration. Workflow files use YAML syntax, and must have file extension .yml or .yaml.

Jekyll

Files and diretories: see below

GitHub uses Jekyll to compile static sites for hosting through its GitHub Pages service. Jekyll configuration is read directly from the repository.

The following files and directories are used by Jekyll:

  • _config.yml
  • _drafts/
  • _includes/
  • _layouts/
  • _posts/
  • _data/
  • _sass/
  • _site/
  • .jekyll-metadata
  • index

All other files in the repository are included in the generated site without additional processing.

Tracking

  • Package: github-special-files-and-paths
  • Version: 5.0.0
  • Created: 2017-08-22T00:00:00Z
  • Updated: 2022-02-21T17:07:56Z
  • License: GPL-2.0-or-later or contact us for custom license
  • Contact: Joel Parker Henderson ([email protected])
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].