{"id":73519,"date":"2023-08-04T09:00:15","date_gmt":"2023-08-04T16:00:15","guid":{"rendered":"https:\/\/github.blog\/?p=73519"},"modified":"2024-05-14T11:26:25","modified_gmt":"2024-05-14T18:26:25","slug":"a-checklist-and-guide-to-get-your-repository-collaboration-ready","status":"publish","type":"post","link":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/","title":{"rendered":"A checklist and guide to get your repository collaboration-ready"},"content":{"rendered":"<div data-target=\"content-table-wrap.container\" class=\"content-table-wrap\"><content-table-wrap><table style=\"border: 1px black\">\n<tbody>\n<tr>\n<td>Want the TL;DR, or you&#8217;ve already been using GitHub for awhile? <a href=\"https:\/\/github.blog\/2023-08-04-a-checklist-and-guide-to-get-your-repository-collaboration-ready#get-started\">Skip to the end<\/a> for a printable checklist that you can use to ensure that you&#8217;ve covered all aspects of making your repository collaboration-ready.\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/content-table-wrap><\/div>\n<p>My daughter has a pair of pet gerbils. They\u2019re awesome, but not the most complex creatures to care for. They need their cage cleaned occasionally, their food and water refilled, and may need a neighbor to check in on them if we\u2019re away for a while. But someday, she may have a pet that requires more care and attention\u2013a cat or dog perhaps, which needs to be played with and nurtured every day\u2013so she\u2019ll want to have a few good friends who know her pet and can be their companion whenever she\u2019s away. And someday, she may even have a child of her own, making her connections to community and family ever more important. As the saying goes, it takes a village to raise a child.<\/p>\n<p>So it goes with code projects. My colleagues and I often refer to our projects as \u201cpets\u201d or even \u201cchildren\u201d (sometimes jokingly, sometimes obsessively). We pour a lot of our own care and attention into them, but it can be easy to forget how important the community\u2019s contributions can be to their success. In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/gerbils-cropped.jpeg?w=1024&#038;resize=1024%2C707\" alt=\"\" width=\"1024\" height=\"707\" class=\"aligncenter size-large wp-image-73540 width-fit\" srcset=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/gerbils-cropped.jpeg?w=1024 1024w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/gerbils-cropped.jpeg?w=300 300w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/gerbils-cropped.jpeg?w=768 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Your primary responsibility as the creator or maintainer of a repository is to ensure that others can appropriately use, understand, and even contribute to the project. GitHub is here to support that mission, but ensuring that a repository is collaboration-ready takes a bit more effort than using <code>git clone<\/code>. So read on to learn the settings, content, and behaviors that will help you succeed.<\/p>\n<h2 id=\"1-repository-settings\"><a class=\"heading-link\" href=\"#1-repository-settings\">1. Repository settings<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>The <a href=\"https:\/\/docs.github.com\/repositories\/managing-your-repositorys-settings-and-features\">settings of your repository<\/a> lay the foundation for collaboration. They determine who can see and contribute to your project, how contributions are reviewed, and what happens to those contributions once they are submitted. Properly used, they can foster an environment in which contributors across the globe will find, make use of, and help build your project. In a corporate setting, they help shift developers from a siloed way of thinking and building to a \u201csearch-first, collaborate-first\u201d mindset. This practice, known as <a href=\"https:\/\/gh.io\/innersource\">innersourcing<\/a>, reduces redundant work and accelerates the whole company.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image5.png?w=1024&#038;resize=1024%2C658\" alt=\"Screenshot of the &quot;manage access&quot; page in a repository. The &quot;choose role&quot; dialogue is open, and the &quot;admin&quot; role is checked for the highlighted user.\" width=\"1024\" height=\"658\" class=\"aligncenter size-large wp-image-73521 width-fit\" srcset=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image5.png?w=1396 1396w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image5.png?w=300 300w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image5.png?w=768 768w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image5.png?w=1024 1024w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<h3 id=\"visibility\"><a class=\"heading-link\" href=\"#visibility\">Visibility<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>You\u2019re aiming to maximize contributions and reuse, but that doesn&#8217;t always mean making your repository public, especially in a corporate setting where information privacy is a consideration. You have several options available in the \u201cSettings\u201d tab of your repository.<\/p>\n<ul>\n<li><strong>Public<\/strong> lets anyone in the world see and copy your code, and generally allows them to create issues or pull requests, so they can provide feedback about whether it works well, or even suggest (but not force) changes to improve it. This is generally great for personal projects containing no protected information (those tokens are all <a href=\"https:\/\/docs.github.com\/actions\/security-guides\/encrypted-secrets\">stored separately<\/a>, right?) but only for certain \u201cblessed\u201d company projects.<\/li>\n<li><strong>Internal<\/strong> is a <a href=\"https:\/\/docs.github.com\/enterprise-cloud@latest\/repositories\/managing-your-repositorys-settings-and-features\/managing-repository-settings\/setting-repository-visibility#making-a-repository-internal\">special visibility level<\/a> used by <a href=\"https:\/\/github.com\/enterprise\">GitHub Enterprise<\/a>, allowing anyone inside your organization to see the repository, but nobody in the outside world. We generally suggest this as the default level for company projects that don\u2019t have siloed sensitive information (such as customer-specific data or logic that only a specific group should know about).<\/li>\n<li><strong>Private<\/strong> is the most restrictive option, and can be a collaboration-killer. Use this option sparingly, and if you do, be sure to invite some collaborators.<\/li>\n<li><strong>Collaborators<\/strong> are specific individuals or teams you <a href=\"https:\/\/docs.github.com\/account-and-profile\/setting-up-and-managing-your-personal-account-on-github\/managing-access-to-your-personal-repositories\/inviting-collaborators-to-a-personal-repository\">invite to be part of<\/a> your project. They can be given specific <a href=\"https:\/\/docs.github.com\/organizations\/managing-peoples-access-to-your-organization-with-roles\/roles-in-an-organization\">roles<\/a> such as \u201cRead\u201d (allowing them to see your otherwise private repository), \u201cWrite\u201d (letting them directly commit or manage pull requests), \u201cAdmin\u201d, and many others.<\/li>\n<\/ul>\n<h3 id=\"protect-the-main-branch\"><a class=\"heading-link\" href=\"#protect-the-main-branch\">Protect the main branch<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>While you want to maximize the number of people who can see and contribute to your project, you still need to ensure that their contributions are properly reviewed, both by your core team members and by automation. In most cases, you\u2019ll want to create a <a href=\"https:\/\/github.blog\/2023-07-24-github-repository-rules-are-now-generally-available\/\">repository rule<\/a> (the modern replacement for <a href=\"https:\/\/docs.github.com\/repositories\/configuring-branches-and-merges-in-your-repository\/managing-protected-branches\">branch protection<\/a>) on your main branch and configure it to require a pull request before merging is allowed. By requiring at least one approver, ideally one from your CODEOWNERS file (discussed in the next section), you\u2019ll guarantee that another human reviews each set of changes. In addition, you will want to have automated tools such as unit tests run against each pull request; these are known as <a href=\"https:\/\/docs.github.com\/pull-requests\/collaborating-with-pull-requests\/collaborating-on-repositories-with-code-quality-features\/about-status-checks\">status checks<\/a> and will be covered under &#8220;<a href=\"#3-automation-and-checks\">Automation and checks<\/a>&#8221; below.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image3-1.png?w=1024&#038;resize=1024%2C579\" alt=\"Screenshot. The settings &quot;require a pull request before merging&quot; and &quot;Require review from code owners&quot; are selected.\" width=\"1024\" height=\"579\" class=\"aligncenter size-large wp-image-73522 width-fit\" srcset=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image3-1.png?w=1270 1270w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image3-1.png?w=300 300w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image3-1.png?w=768 768w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image3-1.png?w=1024 1024w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<h2 id=\"2-repository-contents\"><a class=\"heading-link\" href=\"#2-repository-contents\">2. Repository contents<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>Software projects don\u2019t just consist of code. Your repository should act as a guide to collaborators, letting them know why it exists, how to use it appropriately, and the best ways to contribute. Adding a few key files (generally written using <a href=\"https:\/\/docs.github.com\/get-started\/writing-on-github\/getting-started-with-writing-and-formatting-on-github\/basic-writing-and-formatting-syntax\">Markdown<\/a>) will help other people discover your project and understand how to collaborate effectively.<\/p>\n<p><strong>README.md<\/strong>: This is the first file visitors to your repository will see, so it is critical to <a href=\"https:\/\/docs.github.com\/repositories\/managing-your-repositorys-settings-and-features\/customizing-your-repository\/about-readmes\">include in your repository<\/a>. It should describe what your project does, how to use the repository, and any configuration needed. Additionally, a good README includes the mission of the project, what it aims to do, and why it exists. Lastly, be sure to describe how and by whom the project is maintained.<\/p>\n<p><strong>LICENSE.md<\/strong>: A license file defines what others can and can&#8217;t do with your code and other content. Whether your goal is to allow unrestricted use of your project, or to add special restrictions on its usage and distribution, it&#8217;s crucial to include a license. Visit <a href=\"https:\/\/choosealicense.com\/\">choosealicense.com<\/a> for guidance on which license might work best for your project, then <a href=\"https:\/\/docs.github.com\/repositories\/managing-your-repositorys-settings-and-features\/customizing-your-repository\/licensing-a-repository\">add one<\/a> to your repository.<\/p>\n<p><strong>CONTRIBUTING.md<\/strong>: You can reduce the amount of confusion and friction that potential contributors (and you) face by clearly defining why and how others can contribute new code, documentation, art, or other elements to your project. If the contribution steps are very simple, you might just include them in your README; but, if you find it takes more than a paragraph or two (and it usually does), it\u2019s best to create this separate file. It should include information about the types of contributions you&#8217;re looking for, how to propose a new feature or bug fix, the process for submitting pull requests, and any specific coding standards or style guidelines contributors should follow. For a good example, take a look at the <a href=\"https:\/\/github.com\/github\/docs\/blob\/main\/CONTRIBUTING.md\">contributor guide from GitHub\u2019s docs project<\/a>.<\/p>\n<p><strong>CODEOWNERS<\/strong>: A <a href=\"https:\/\/docs.github.com\/repositories\/managing-your-repositorys-settings-and-features\/customizing-your-repository\/about-code-owners\">CODEOWNERS file<\/a> assigns one or more users who will be responsible for code in a particular part of your repository. As specified in the repository settings, these individuals will be automatically requested for review when someone opens a pull request that modifies code they own. Note that this file, unlike the others mentioned here, should <em>not<\/em> have the \u201c.md\u201d extension.<\/p>\n<p><strong>CODE_OF_CONDUCT.md<\/strong>: A code of conduct establishes the social norms, rules, and responsibilities that participants in your project should follow. It promotes a friendly and respectful environment for collaboration, and it is easy to add <a href=\"https:\/\/docs.github.com\/communities\/setting-up-your-project-for-healthy-contributions\/adding-a-code-of-conduct-to-your-project\">manually or by using one of GitHub\u2019s templates<\/a>!<\/p>\n<p>With these files in place, your repository will be much more approachable and understandable, and you should start seeing contributions flow more freely. But if you want to go even further, there\u2019s even more you can do to <a href=\"https:\/\/docs.github.com\/communities\/setting-up-your-project-for-healthy-contributions\">set up your project for healthy contributions<\/a>.<\/p>\n<h2 id=\"3-automation-and-checks\"><a class=\"heading-link\" href=\"#3-automation-and-checks\">3. Automation and checks<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=1024&#038;resize=1024%2C636\" alt=\"\" width=\"1024\" height=\"636\" class=\"aligncenter size-large wp-image-73541 width-fit\" srcset=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=1024 1024w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=300 300w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=768 768w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=932 932w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=708 708w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=512 512w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/matrix-gerbils-cropped.jpeg?w=288 288w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>It\u2019s time to enter the Matrix. As Agent Smith is fond of saying, \u201cNever send a human to do a machine&#8217;s job.\u201d While you generally want at least one human reviewer for each major change, you should make their job as easy as possible. GitHub\u2019s built-in automation and CI\/CD system, <a href=\"https:\/\/docs.github.com\/actions\">GitHub Actions<\/a>, allows you to run workflows in response to file changes, pull requests, external triggers such as chat tools, and even cron jobs. Let&#8217;s look at a few ways this can make collaborators\u2019 lives easier.<\/p>\n<h3 id=\"linting\"><a class=\"heading-link\" href=\"#linting\">Linting<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>Linters are tools that analyze code to detect various types of errors and enforce a consistent coding style. Incorporating linters into your development process can greatly improve the readability and quality of your code, making it easier for others to understand and contribute to your project. One of the most popular is <a href=\"https:\/\/github.com\/marketplace\/actions\/super-linter\">Super-Linter<\/a>, which can be initially configured in <a href=\"https:\/\/github.com\/super-linter\/super-linter#example-connecting-github-action-workflow\">a single cut-and-paste step<\/a>.<\/p>\n<h3 id=\"building-and-testing\"><a class=\"heading-link\" href=\"#building-and-testing\">Building and testing<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>While the exact compilers and test suites you run will be specific to the language and framework of your application, most can be executed automatically in your repository. To find the right ones, search through GitHub Marketplace\u2019s list of <a href=\"https:\/\/github.com\/marketplace?query=build\">Build<\/a> and <a href=\"https:\/\/github.com\/marketplace?category=testing\">Test Apps &amp; Actions<\/a>, then follow the instructions specific to your preferred tool. Or, execute them by <a href=\"https:\/\/docs.github.com\/actions\/learn-github-actions\/essential-features-of-github-actions#adding-scripts-to-your-workflow\">running command-line scripts and arguments in your GitHub Actions workflow<\/a>.<\/p>\n<h3 id=\"checks\"><a class=\"heading-link\" href=\"#checks\">Checks<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>When information is surfaced to reviewers right inside the pull request, it makes their job faster and easier, eliminating the need for them to manually run test suites or run through a physical checklist. If the automated checks fail, you can even block deployments from going out the door. Once you\u2019ve added a linter or test suite as described above, and <em>it has run at least once<\/em>, consider configuring it as a <a href=\"https:\/\/docs.github.com\/pull-requests\/collaborating-with-pull-requests\/collaborating-on-repositories-with-code-quality-features\/about-status-checks\">status check<\/a> in your repository settings. This will help ensure that your app is properly tested each and every time a pull request is created.<\/p>\n<p>This is not a complete list, but every project is different, so also consider what other <a href=\"https:\/\/github.com\/marketplace?category=code-quality\">code quality<\/a>, <a href=\"https:\/\/github.com\/marketplace?category=dependency-management\">dependency management<\/a>, or <a href=\"https:\/\/github.com\/marketplace?category=deployment\">pre-release automation<\/a> you might want to include. Then, consider how you want to deploy the project. In most cases, you\u2019ll find there is a component in the <a href=\"https:\/\/github.com\/marketplace\">GitHub Marketplace<\/a> that provides turnkey integration with your favorite infrastructure provider, but it\u2019s also possible to <a href=\"https:\/\/docs.github.com\/actions\/deployment\/about-deployments\/deploying-with-github-actions\">write your own GitHub Action<\/a> to deploy your app after all the checks have passed. And, for high-volume enterprise projects, consider using <a href=\"https:\/\/github.blog\/2023-07-12-github-merge-queue-is-generally-available\/\">merge queues<\/a> if you start getting traffic jams on rapidly changing branches.<\/p>\n<p>With these automation tools and checks in place, you can have more confidence in the quality and consistency of contributions to your repository and spend less time manually managing the process.<\/p>\n<h2 id=\"4-security\"><a class=\"heading-link\" href=\"#4-security\">4. Security<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image4-1.png?w=1024&#038;resize=1024%2C478\" alt=\"Screenshot of the Security overview page of a repository.\" width=\"1024\" height=\"478\" class=\"aligncenter size-large wp-image-73524 width-fit\" srcset=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image4-1.png?w=1999 1999w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image4-1.png?w=300 300w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image4-1.png?w=768 768w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image4-1.png?w=1024 1024w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/image4-1.png?w=1536 1536w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Security is a paramount concern in any software project and is especially important when including a variety of collaborators who may have different levels of security training (or none at all). Fortunately, there are a few simple steps you can take to protect your code, data, and users from potential threats.<\/p>\n<h3 id=\"roles\"><a class=\"heading-link\" href=\"#roles\">Roles<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>Carefully decide which <a href=\"https:\/\/docs.github.com\/organizations\/managing-user-access-to-your-organizations-repositories\/repository-roles-for-an-organization\">roles<\/a>, and thus permissions, you give to collaborators in your repository. Generally speaking, you\u2019ll want to assign the \u201cRead\u201d role to the general public. \u201cTriage\u201d and \u201cWrite\u201d are for trusted individuals such as members of your company or working group (but only once protected branches and checks have been set up).  \u201cMaintain\u201d and \u201cAdmin\u201d roles are best for your core maintainers, who are responsible for reviewing and managing what goes into production. Also consider that \u201cTriage\u201d and above have the ability to manage issues, discussions, and comments\u2013so you\u2019ll want to trust that they have the commitment and background to manage the flow of metadata surrounding your project. Enterprise customers can take advantage of <a href=\"https:\/\/docs.github.com\/enterprise-cloud@latest\/organizations\/managing-peoples-access-to-your-organization-with-roles\/managing-custom-repository-roles-for-an-organization\">custom repository roles<\/a> for more granular permissions control.<\/p>\n<h3 id=\"secrets-management\"><a class=\"heading-link\" href=\"#secrets-management\">Secrets management<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>Secrets are sensitive data like API keys, passwords, and certificates that you need to keep private. You don\u2019t want these to be directly embedded into your code or your logs; instead, you should use either a third-party keystore or GitHub\u2019s native secret-management tools, which can be found under the \u201cSecrets and Variables\u201d section of your repository settings. There, you\u2019ll find separate sections <a href=\"https:\/\/docs.github.com\/codespaces\/managing-codespaces-for-your-organization\/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces\">for GitHub Codespaces<\/a> (a tool described in the \u201cAdvanced Options\u201d section below) and <a href=\"https:\/\/docs.github.com\/actions\/security-guides\/encrypted-secrets\">for GitHub Actions<\/a>, because you may want to use different secrets during development than you do in production.<\/p>\n<h3 id=\"security-scanners\"><a class=\"heading-link\" href=\"#security-scanners\">Security scanners<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>Scanning code for vulnerabilities is <a href=\"https:\/\/github.com\/features\/security\">a complex topic<\/a>, but breaks down into three major categories.<\/p>\n<ul>\n<li><strong>Dependencies<\/strong>: 80-90% of most applications\u2019 code comes from third-party sources\u2013the frameworks and packages we build the rest of our code on top of. GitHub Dependabot is available on all public repositories, and can be <a href=\"https:\/\/docs.github.com\/code-security\/dependabot\/dependabot-security-updates\/configuring-dependabot-security-updates\">automatically enabled<\/a> across entire organizations. It is able to alert you (and help provide a fix) whenever an insecure dependency is found. To ensure that Dependabot is running, check the \u201csecurity\u201d tab at the top of your repository. You can also enable <a href=\"https:\/\/docs.github.com\/code-security\/dependabot\/dependabot-version-updates\">dependency version updates<\/a> to let you know when new versions of packages are available, so you can keep up-to-date even if an explicit vulnerability has not been identified.<\/li>\n<li><strong>Secrets<\/strong>: While you should already be using a secret manager as described above, we all make mistakes, and some tokens may slip through the cracks and get embedded directly into code. <a href=\"https:\/\/docs.github.com\/code-security\/secret-scanning\/about-secret-scanning\">Secret scanning<\/a> tools, provided both through <a href=\"https:\/\/github.com\/marketplace?category=security&#038;type=actions&#038;query=secret+\">third-party integrations<\/a> and via <a href=\"https:\/\/docs.github.com\/get-started\/learning-about-github\/about-github-advanced-security#about-advanced-security-features\">GitHub Advanced Security<\/a> for Enterprises, can notify you about or even block secret tokens as they are pushed into your repository.<\/li>\n<li><strong>Novel Vulnerabilities<\/strong>: As you write new code, you may accidentally add new vulnerabilities, either in the novel code itself or in the way you wire together existing components. There are a <a href=\"https:\/\/github.com\/marketplace?category=security\">wide variety<\/a> of ways to scan your overall application, some of which are language-dependant. Enterprises can also rely on GitHub Advanced Security\u2019s <a href=\"https:\/\/docs.github.com\/code-security\/code-scanning\/automatically-scanning-your-code-for-vulnerabilities-and-errors\/about-code-scanning\">code scanning<\/a> to find a wide variety of flaws, from SQL injection to circular references, in <a href=\"https:\/\/docs.github.com\/get-started\/learning-about-github\/github-language-support\">most popular coding languages<\/a>. <\/li>\n<\/ul>\n<h3 id=\"security-md-and-private-vulnerability-reporting\"><a class=\"heading-link\" href=\"#security-md-and-private-vulnerability-reporting\">SECURITY.md and private vulnerability reporting<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>If a user or security researcher identifies a problem with your project, they need to know how to securely and responsibly report it. Include a <a href=\"https:\/\/docs.github.com\/code-security\/getting-started\/adding-a-security-policy-to-your-repository\">security policy file<\/a> in your repository to provide these guidelines and to help maintain the trust of your users and the wider community. Also turn on <a href=\"https:\/\/docs.github.com\/code-security\/security-advisories\/repository-security-advisories\/configuring-private-vulnerability-reporting-for-a-repository\">private vulnerability reporting<\/a>; this allows security researchers to securely report any vulnerabilities they find!<\/p>\n<h2 id=\"5-advanced-options\"><a class=\"heading-link\" href=\"#5-advanced-options\">5. Advanced options<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/motorbike-gerbils-cropped.jpeg?w=1024&#038;resize=1024%2C779\" alt=\"\" width=\"1024\" height=\"779\" class=\"aligncenter size-large wp-image-73542 width-fit\" srcset=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/motorbike-gerbils-cropped.jpeg?w=1024 1024w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/motorbike-gerbils-cropped.jpeg?w=300 300w, https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/motorbike-gerbils-cropped.jpeg?w=768 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Beyond the basics, there are a number of advanced options you can leverage to further enhance your repository&#8217;s collaboration readiness.<\/p>\n<h3 id=\"issue-templates\"><a class=\"heading-link\" href=\"#issue-templates\">Issue templates<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>As collaborators make use of your project, they will file <a href=\"https:\/\/docs.github.com\/issues\/tracking-your-work-with-issues\">issues<\/a> asking for bug fixes and enhancements. By default, these requests will be fairly unstructured, and you may need to loop back to the creator several times to get all the information you need. By creating a few <a href=\"https:\/\/docs.github.com\/communities\/using-templates-to-encourage-useful-issues-and-pull-requests\/configuring-issue-templates-for-your-repository\">issue templates<\/a>, you can provide guidance, define which required and optional fields users will see, and set up specific options they\u2019ll select when opening issues.<\/p>\n<h3 id=\"github-codespaces-configuration\"><a class=\"heading-link\" href=\"#github-codespaces-configuration\">GitHub Codespaces configuration<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>GitHub Codespaces provides a complete, configurable dev environment on top of a repository. This allows anyone to work on your project from anywhere, without having to set up a local environment. <a href=\"https:\/\/docs.github.com\/codespaces\/setting-up-your-project-for-codespaces\">Providing a well-configured codespace<\/a> can make it much easier for others to contribute to your project and makes the project less brittle, since all developers will be working from the same configuration (eliminating the \u201cit works on my machine but not yours\u201d problem).<\/p>\n<h3 id=\"environments\"><a class=\"heading-link\" href=\"#environments\">Environments<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p><a href=\"https:\/\/docs.github.com\/actions\/deployment\/targeting-different-environments\/using-environments-for-deployment\">GitHub Environments<\/a> let you specify where certain tasks (like deployments) should happen. They can be configured with specific protection rules, ensuring that important tasks only happen in a controlled and secure manner.<\/p>\n<h2 id=\"6-next-steps\"><a class=\"heading-link\" href=\"#6-next-steps\">6. Next steps<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>Now that you&#8217;ve set up your repository, it&#8217;s time to consider the broader aspects of collaboration, including your role as a maintainer and how you engage with your community.<\/p>\n<h3 id=\"responsiveness\"><a class=\"heading-link\" href=\"#responsiveness\">Responsiveness<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>As a maintainer, your responsiveness plays a crucial role in fostering a healthy, collaborative environment. This involves promptly addressing issues and pull requests, providing feedback, and guiding new contributors. Set aside specific times each week that you\u2019ll dedicate toward responding to changes and remediating problems. If you want to measure how responsive your project is, check out the <a href=\"https:\/\/github.blog\/2023-07-19-metrics-for-issues-pull-requests-and-discussions\/\">Metrics Action<\/a>.<\/p>\n<h3 id=\"project-management\"><a class=\"heading-link\" href=\"#project-management\">Project management<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>GitHub\u2019s native <a href=\"https:\/\/github.com\/features\/issues\">project planning<\/a> capabilities are usable both for individual projects and enterprise-wide collaboration. Set up <a href=\"https:\/\/docs.github.com\/issues\/planning-and-tracking-with-projects\">GitHub Projects<\/a> to manage your work and provide visibility to your community. This not only helps you stay organized, but also allows others to understand the current status of the project and where they can contribute.<\/p>\n<h3 id=\"visibility\"><a class=\"heading-link\" href=\"#visibility\">Visibility<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>A well-maintained repository is of little use if nobody knows about it. Promote your project through blog posts, demos, or even dedicated project portals. The more people who know about your project, the more potential contributors and users you can attract.<\/p>\n<h3 id=\"community-engagement\"><a class=\"heading-link\" href=\"#community-engagement\">Community engagement<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h3>\n<p>Engaging with your community is key to fostering a healthy, collaborative environment. This might involve organizing meetups, running a project blog, or even just actively participating in discussions.<\/p>\n<p>By following these standards, you can ensure that your repository is not just collaboration-ready, but also a place where a vibrant community can flourish! Print out <a href=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/Is-Your-Repo-Collaboration-Ready_-A-Comprehensive-Guide-and-Checklist-Google-Docs.pdf\">this checklist<\/a>, and use it to help guide you along each time you create (or revisit) a GitHub repository.<\/p>\n<h2 id=\"get-started\"><a class=\"heading-link\" href=\"#get-started\">Get started<span class=\"heading-hash pl-2 text-italic text-bold\" aria-hidden=\"true\"><\/span><\/a><\/h2>\n<p>Download <a href=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/Is-Your-Repo-Collaboration-Ready_-A-Comprehensive-Guide-and-Checklist-Google-Docs.pdf\">this printable checklist<\/a> that you can use to ensure that you&#8217;ve covered all aspects of making your repository collaboration-ready. Or, use this handy <a href=\"https:\/\/github.com\/github\/form-templates#readme\">Issue Template<\/a> to create an updatable checklist right inside your own GitHub repository!<\/p>\n<p><a href=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/Is-Your-Repo-Collaboration-Ready_-A-Comprehensive-Guide-and-Checklist-Google-Docs.pdf\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/08\/Is-Your-Repo-Collaboration-Ready_-A-Com.e-Guide-and-Checklist-Google-Docs.png?resize=791%2C1024\" alt=\"Clickable screenshot of the collaboration-ready checklist.\" width=\"791\" height=\"1024\" class=\"aligncenter size-large wp-image-73547 width-fit\" \/><\/a><\/p>\n<div class=\"post-content-cta\"><\/p>\n<p><strong>Want to learn how GitHub can help your organization do more with AI?<\/strong><\/p>\n<p>At <a href=\"https:\/\/galaxy.github.com\/\">GitHub Galaxy 2024<\/a>, we\u2019ll explore cutting-edge research and best practices in the rapidly evolving world of AI\u2014empowering your business to maximize productivity and innovate at scale.<\/p>\n<p><a href=\"https:\/\/galaxy.github.com\/\">Register now ><\/a><\/p>\n<\/div>\n<p><small><em>Images of gerbils in this post were AI-generated using <a href=\"https:\/\/www.bing.com\/images\/create\/\">Bing Image Creator<\/a><\/em><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.<\/p>\n","protected":false},"author":2165,"featured_media":69525,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"no","_gh_post_is_no_robots":"no","_gh_post_is_featured":"no","_gh_post_is_excluded":"no","_gh_post_is_unlisted":"no","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"","_gh_post_sq_img_id":"","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"Click Here to Learn More","_gh_post_recirc_hide":"no","_gh_post_recirc_col_1":"gh-auto-select","_gh_post_recirc_col_2":"65301","_gh_post_recirc_col_3":"65305","_gh_post_recirc_col_4":"65316","_featured_video":"","_gh_post_additional_query_params":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[3316,3313],"tags":[2957,2885],"coauthors":[3116],"class_list":["post-73519","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-collaboration","category-enterprise-software","tag-collaboration","tag-repositories"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>A checklist and guide to get your repository collaboration-ready - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A checklist and guide to get your repository collaboration-ready\" \/>\n<meta property=\"og:description\" content=\"In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-04T16:00:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-14T18:26:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/01\/1200x640.png?fit=1200%2C640\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jon Peck\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jon Peck\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/\"},\"author\":{\"name\":\"Jon Peck\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/cac84f574eaeb18089d6f97ab1c65227\"},\"headline\":\"A checklist and guide to get your repository collaboration-ready\",\"datePublished\":\"2023-08-04T16:00:15+00:00\",\"dateModified\":\"2024-05-14T18:26:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/\"},\"wordCount\":2933,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/1200x640.png?fit=1200%2C640\",\"keywords\":[\"Collaboration\",\"repositories\"],\"articleSection\":[\"Collaboration\",\"Enterprise software\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/\",\"name\":\"A checklist and guide to get your repository collaboration-ready - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/1200x640.png?fit=1200%2C640\",\"datePublished\":\"2023-08-04T16:00:15+00:00\",\"dateModified\":\"2024-05-14T18:26:25+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/cac84f574eaeb18089d6f97ab1c65227\"},\"description\":\"In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/1200x640.png?fit=1200%2C640\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/1200x640.png?fit=1200%2C640\",\"width\":1200,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enterprise software\",\"item\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Collaboration\",\"item\":\"https:\\\/\\\/github.blog\\\/enterprise-software\\\/collaboration\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"A checklist and guide to get your repository collaboration-ready\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/cac84f574eaeb18089d6f97ab1c65227\",\"name\":\"Jon Peck\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a6da08737dade3e349fef28977d6c8639075db60dd830cc5d5c1771c8aa4d200?s=96&d=mm&r=gb44165091744c99683dfd98b9c892445\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a6da08737dade3e349fef28977d6c8639075db60dd830cc5d5c1771c8aa4d200?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a6da08737dade3e349fef28977d6c8639075db60dd830cc5d5c1771c8aa4d200?s=96&d=mm&r=g\",\"caption\":\"Jon Peck\"},\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/peckjon\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A checklist and guide to get your repository collaboration-ready - The GitHub Blog","description":"In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/","og_locale":"en_US","og_type":"article","og_title":"A checklist and guide to get your repository collaboration-ready","og_description":"In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.","og_url":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/","og_site_name":"The GitHub Blog","article_published_time":"2023-08-04T16:00:15+00:00","article_modified_time":"2024-05-14T18:26:25+00:00","og_image":[{"width":1200,"height":640,"url":"https:\/\/github.blog\/wp-content\/uploads\/2023\/01\/1200x640.png?fit=1200%2C640","type":"image\/png"}],"author":"Jon Peck","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jon Peck","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/#article","isPartOf":{"@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/"},"author":{"name":"Jon Peck","@id":"https:\/\/github.blog\/#\/schema\/person\/cac84f574eaeb18089d6f97ab1c65227"},"headline":"A checklist and guide to get your repository collaboration-ready","datePublished":"2023-08-04T16:00:15+00:00","dateModified":"2024-05-14T18:26:25+00:00","mainEntityOfPage":{"@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/"},"wordCount":2933,"image":{"@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2023\/01\/1200x640.png?fit=1200%2C640","keywords":["Collaboration","repositories"],"articleSection":["Collaboration","Enterprise software"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/","url":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/","name":"A checklist and guide to get your repository collaboration-ready - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2023\/01\/1200x640.png?fit=1200%2C640","datePublished":"2023-08-04T16:00:15+00:00","dateModified":"2024-05-14T18:26:25+00:00","author":{"@id":"https:\/\/github.blog\/#\/schema\/person\/cac84f574eaeb18089d6f97ab1c65227"},"description":"In the world of software development, collaboration can make the difference between a brittle last-minute release and a reliable, maintainable, pain-free project. Whether you\u2019ve been coding for a day or a decade, your colleagues are there to help strengthen your work. But they can only help if you\u2019ve given them the tools to do so.","breadcrumb":{"@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/#primaryimage","url":"https:\/\/github.blog\/wp-content\/uploads\/2023\/01\/1200x640.png?fit=1200%2C640","contentUrl":"https:\/\/github.blog\/wp-content\/uploads\/2023\/01\/1200x640.png?fit=1200%2C640","width":1200,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/enterprise-software\/collaboration\/a-checklist-and-guide-to-get-your-repository-collaboration-ready\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"Enterprise software","item":"https:\/\/github.blog\/enterprise-software\/"},{"@type":"ListItem","position":3,"name":"Collaboration","item":"https:\/\/github.blog\/enterprise-software\/collaboration\/"},{"@type":"ListItem","position":4,"name":"A checklist and guide to get your repository collaboration-ready"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/github.blog\/#\/schema\/person\/cac84f574eaeb18089d6f97ab1c65227","name":"Jon Peck","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a6da08737dade3e349fef28977d6c8639075db60dd830cc5d5c1771c8aa4d200?s=96&d=mm&r=gb44165091744c99683dfd98b9c892445","url":"https:\/\/secure.gravatar.com\/avatar\/a6da08737dade3e349fef28977d6c8639075db60dd830cc5d5c1771c8aa4d200?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a6da08737dade3e349fef28977d6c8639075db60dd830cc5d5c1771c8aa4d200?s=96&d=mm&r=g","caption":"Jon Peck"},"url":"https:\/\/github.blog\/author\/peckjon\/"}]}},"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pamS32-j7N","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/github.blog\/wp-content\/uploads\/2023\/01\/1200x640.png?fit=1200%2C640","_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/73519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/2165"}],"replies":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/comments?post=73519"}],"version-history":[{"count":24,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/73519\/revisions"}],"predecessor-version":[{"id":78060,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/73519\/revisions\/78060"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media\/69525"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=73519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/categories?post=73519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/tags?post=73519"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=73519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}