description: This is a checklist for all public repositories hosted on the Creative Commons GitHub organization. Not all repositories meet these criteria yet. Please notify us if a project you'd like to work on does not meet this checklist by opening a GitHub issue associated with the repository.
body:
All GitHub repositories should have the following items to be considered fully ready for external contributors.
/.github/CODEOWNERS
: Defined code owners/.cc-metadata.yml
: The standard CC metadata YAML file./CODE_OF_CONDUCT.md
: Code of Conduct- Feel free to use our standard
CODE_OF_CONDUCT.md
file from creativecommons/.github
- Feel free to use our standard
/LICENSE
: license file./CONTRIBUTING.md
: contributor guidelines- Can be project-specific or our standard
CONTRIBUTING.md
file from creativecommons/.github - Setting guidelines for repository contributors - GitHub Help
- Can be project-specific or our standard
/README.md
: read me information file- Must documents how to install and build the project locally and documents a high level overview of the project and code structure. It should also link to any other available documentation.
- All pull request templates must include the full text of the DCO.
- CI and code style linters that run automatically whenever new code is pushed (if applicable to the project).
- At least a couple of automated tests (if applicable to the project).
- Issue templates. GitHub pulls the default templates from
our
.github
repository automatically, but if you want/need to customize them, create them in your repository. - A pull request template. GitHub pulls the default template
from our
.github
repository automatically, but if you want/need to customize it, create it in your repository. - Support resources. GitHub pulls the default
SUPPORT.md
file from our.github
repository automatically, but if you want/need to customize it, create it in your repository.
All repositories must contain a set of standard labels, documented here, which comprise of common labels in addition to repository-specific skill labels. You don't have to set these up manually. The labels are automatically managed on all CC repositories, and so, must not be renamed.
Repositories may contain additional custom labels as well which will remain unaffected by the sync. It is recommended that custom labels be explained in the contribution guidelines for that project.
Branch protections are automatically set up by CC staff via
creativecommons/ccos-scripts.
By default, pushing directly to the default branch (ex. main
) is disabled
and all pull requests require review by at least one person before merge.
Each repo should have a .cc-metadata.yml
file in the root directory with the
following structure:
# Whether this GitHub repo is for a CC-led engineering project
engineering_project: true
# Name of the repository/project in English
english_name: CC Catalog API
# All technologies used
technologies: Python, Django, Django REST Framework, Elasticsearch
# Whether this repository should be featured on the CC Open Source site's "Projects" page
featured: false
# Slack channel name (optional key)
slack: 'cc-dev-catalog'
This metadata file is used in the Projects page. Repos that are marked as non-engineering projects are not displayed in the page and repos marked as featured as displayed at the top of the page. Repos should be marked as featured if we are actively looking for community contributions and have the bandwidth to review them quickly.
Repos without this metadata file are treated as engineering_projects: true
,
featured: false
and slack: ""
. A default is necessary since it will take
time for us to clean up and add metadata to all our repos.