Standard Files
3 minute read
This page outlines a set of required standard files and their contentst that each Project must adhere to.
If you created your GitHub Repository from our Community Template, these files will be created in your repository - you’ll just need to amend content as directed below.
There are a number of files you might think need creating that are not in the Template - see Organization Files.
Files YOU should create
Code Owners
This file must be named CODEOWNERS and be in the
.github folder at the root of your project.
Every repository must define who owns it.
The owners must be the Project’s own maintainers team, @sonatype-nexus-community/[PROJECT] (for example @sonatype-nexus-community/the-cla), so that the people who review changes are named by team and not by individual. See Project Maintainer.
The maintainers team is also the approval authority for Tier 3. Pull Request CI & Secrets lets only a person with the Maintain role approve licensed or otherwise protected tests, and the cleanest way to give that role is through this team. So the team must exist, must be granted Maintain on the repository, and must be the entry in CODEOWNERS. Do not list individuals in CODEOWNERS in place of the team, and do not rely on @sonatype-nexus-community/community-leaders alone: it does hold Maintain on repositories today, but it is the whole community’s leadership, not the people who maintain this Project.
To set this up for a Project that does not have a team yet:
- Create the team
@sonatype-nexus-community/[PROJECT]and add the Project’s maintainers. - Grant the team the Maintain role on the repository.
- Replace the entries in
.github/CODEOWNERSwith the team.
Here are some groups you can reference if appropriate:
| Group | Purpose |
|---|---|
@sonatype-nexus-community/community-leaders | Leaders of the Sonatype Open Source Community |
Template files from the Community Project Template
Contributing
This file must be named CONTRIBUTING.md and be in the root of your project.
This file contains project-specific information aiding others in providing contributions to the project. We recommend using the template and expanding to include your project specific information such as:
- Development Guidelines
- Coding Conventions
- How to test and testing expectations
License
This file must be named LICENSE and be in the root of your project.
This file contains the Open Source license applicable to this project. You can just copy the license from the template repository.
The approved license for Sonatype Community Projects is Apache-2.0.
Readme
This file must be named README.md and be in the root of your project.
This is your projects “shop-window”. We’ve provided a boilerplate template for you. Use this to introduce the project, define it’s purpose, explain how to use it etc…
You should not repeat information contained in other documentation files (such as Contributing), but you should link to other documentation files.
There must be a section The Fine Print at the end of the file as per the template.
Organization Defined Files
The following files are defined at the GitHub Organization level (in this repository) and you DO NOT need to copy or reproduce them in your project.
Code of Conduct
This file defines our conduct to define community standards, signal a welcoming and inclusive project, and outline procedures for handling abuse.
Security Policy
Provides instructions for how to report a security vulnerability in your project by adding a security policy to your repository.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.