Consult this guideline for detailed information on the categorization of each tier and the recommended naming conventions for repositories.
PRG uses project tiers to categorize your repositories for your PRG Portfolio.
Below, each tier is broken down into its own section for more details.
- Platinum Tier Project
- Gold Tier Project
- Silver Tier Project
- Bronze Tier Project
- Optimized Tier Project
- Non-PRG Project (None)
- Profile PRG Collection
- PRG Projects on App Stores
- Resources
- Requires over 24 hours of work for project completion.
- Represents the finest open (or closed) source projects in your repository collection.
- This project is currenty (or previously was) deployed in a production setting.
- Recognized as a genuine product, surpassing basic demos or "Hello World" examples.
- Features unique graphic designs, including brand-specific app icons.
- Adopts the following naming convention for this project tier:
- Format:
Application-Brand-Name
- Example: Recipe-Resizer
- Format:
- Requires over 8 hours of work for project completion.
- Represents one of the finest open (or closed) source projects in your repository collection.
- Suitable for deployment in a production setting.
- Recognized as a genuine product, surpassing basic demos or "Hello World" examples.
- Features unique graphic designs, including brand-specific app icons.
- Adopts the following naming convention for this project tier:
- Format:
Application-Brand-Name
- Example: River-Charts
- Format:
- Use upper case letters for the first letter of each word in the project name.
- Use dashes
-
to separate words or apply spaces in the project name. - The name should be "catchy" and easy to remember, but also descriptive of what the project is (which is why coming up with a brand for your project is important).
- Consult the Brand Guidelines for more details on how to create a brand for your repository.
- Completion time for the project ranges between 2 to 8 hours.
- These are fully functional projects, yet not as extensively developed to qualify as complete products.
- Can be suitable for deployment in a production setting, but not always.
- Optionally, these projects may include unique graphic designs and brand-specific app icons.
- Adopts the following naming convention for this project tier:
- Format:
technology/framework/language-project_name
- Example: angular-github_user_info
- Format:
- Optionally, you can also follow the Gold project naming convention above for certain projects:
- Format:
Application-Brand-Name
- Example: Resolution-Scale-Calculator
- Format:
-
Projects that require 0-2 hours to complete.
-
Repositories created for learning or gaining a better understanding of a specific technology, language, framework, principle, etc.
-
Optionally, these projects may include unique graphic designs and brand-specific app icons, otherwise, it is suggested to find an image online that represents the primary technology used (i.e. javascript) and use that as the face of your project.
-
Adopts the following naming convention for this project tier:
- Format:
technology/framework/language-project_name
- Example: csharp-nunit_test_demo
- Example: rust-json_note_manager
- Example: python-convert_html_table_to_csv
[!TIP]
There are plenty of free logos out there for most technologies, just make sure you give credit to the creator of the logo if it's required (follow the license for the image). - Format:
- For highlighting multiple languages or technologies in your project, adopt this naming pattern:
- Format::
language-language-language-project_name
. - Example: json-xml-yaml-portfolio_template
- Format::
- Start each word in the project name with lowercase letters.
- Use underscores
_
for word separation in the project name. - Separate each language or technology with dashes
-
. - The order of languages/technologies can vary; it's advisable to place the most prominent one first.
- For forked repositories:
- If unchanged, they won't automatically be part of PRG or have a tier. Add a PRG Connection File to classify them (see the Table Generator Guide - PRG Connection File for more details).
- Its good practice to not fork something, unless you're going to make changes to it.
- Otherwise, simply download/clone it if you're trying to use it or look under the hood for learning/idea purposes.
- Slight modifications can classify the fork as a Bronze tier project.
- Significant alterations can elevate the fork to a Silver or Gold tier project.
- If unchanged, they won't automatically be part of PRG or have a tier. Add a PRG Connection File to classify them (see the Table Generator Guide - PRG Connection File for more details).
Note
A forked repository, not being original work, can only attain a maximum of Gold tier status, never Platinum status.
- This is considered a "uncategorized" tier project included in your PRG Collection.
- Use this badge to output your project in your PRG Collection tier table if you have a project that doesn't fit into any of the other tiers but you still want to include it in your PRG Collection.
- By default, if all repositories are brought in without a PRG Connection File file, they will be considered Optimized.
- This is not a category, but rather a lack of one - your average GitHub repository.
- This is a project that does not follow the Personal Repository Guidelines (PRG).
- It is considered unoptimized and will not be included in your PRG Collection unless you add a PRG Connection File (unless the flags are configured to bring it in, and if that is the case, it will come over as Optimized).
- I won't say this is required for PRG, because I don't want to tell you what to do with your personal profile
README
, but I strongly encourage adding the following badge to your GitHub ProfileREADME
to showcase your overall PRG Collection.- This will link to your PRG collection - GitHub Pages website to showcase all of your repositories under PRG.
- The tier badges on your individual repositories will also link to this site. -This is the essence of fixing the "GitHub Portfolio Problem" I mentioned earlier to showcase your work in a single place.
Important
Make sure you run the GitHub Action workflow to replace the projects in the table with your own.
Running the workflow will output badges with your collection URL as a hyperlink in the Badge Reference Guide file. You can then use this file to gather the correct badge for your project's README
.
[!WARN] If you choose to not use GitHub pages, make sure you change the username in the badge to your own to link to your forked repositories Project Tier Table markdown file.
Sometimes projects may require a Duel Purpose README, in otherwords, a README
that is used not only for your GitHub Repository, but also for an App Store that you may be deploying to (i.e. VSCode Store). In this case, you can still classify your project under PRG by adding your project as an External Project by following the Table Generator Guide. That way, your project will still be included in your PRG Portfolio but you can utilize your README
on whatever App Store you need. One caveat will be that you won't see a PRG Badge in your README
, but there's not much you can do in this scenario other than manually adding it because you don't want to include a PRG.md
file with your public facing application (which may be under scrutiny by the App Store you're releasing it on).
- Try a Semantic Approach to Naming GitHub Repositories
- A great article on naming conventions for GitHub repositories. This article made me consider the naming conventions for PRG.
- Semantic Versioning
- Keep a Changelog