Repository Naming

Although our repo names vary a bit, we do have a rhyme and reason with how we name repos. Here goes!

Type of Content Naming Standard Notes
Terraform Modules terraform-oci-<name> This format is needed for publishing to the HashiCorp Terraform Module Registry.
DevO Content devo-<name> This is for text-based content that is going to DevO.
Language-specific solution <language>-<name> To keep it somewhat organized, we try to group by language for many projects. Names such as go-hello-world, ruby-hello-world, etc. are just a few ideas. Clearly we’re looking for more than hello-world projects, but you get the idea! ;)
Tool <name> There are some projects that are tools. While they could go under the language-specific definition above, they typically have a really cool name that we just don’t feel right ruining with a language-specific prefix. This is a bit subjective, but if there’s a really cool name for something, we want to keep a good thing going!

Required Repo Structure

We try to focus on being flexible and easy-to-use. There is a minimum set of files and structure that we do enforce (via Actions). Rather than just surprise you, here’s what we expect (at minimum):

.
├── .github
├── .gitignore
├── LICENSE
└── README.md

.gitignore

We expect the .gitignore file to ignore superfluous and extraneous “clutter” that’s not necessary (things like hidden files that are not really needed, local caching files, etc.). You’ll likely need to adjust the .github file for the language(s) and framework(s) you’ll be using in your project. Customize away!

Branching

We do not enforce a specific branching strategy, but leave it up to each project maintainer to dictate what’s best for the project. See Working With Our Repos for more info.

Commit/PR Comments

We prefer to standardize on using ConventionalCommits when generating change logs and creating comments on commits, PRs, etc.

Scanning of Source Code

Most projects that contain source code (all but the text-only repos) are setup to be scanned by SonarCloud.io, along with a scanning status badge on the README. Feel free to use (leave) this badge in-tact, as it’s a nice marker to instill confidence in your code (or to encourage you to improve it).

Committing Code

Do not commit directly to main. It won’t work anyway (main is protected). Use Pull Requests (PRs) instead. You can do this via a fork or branch. If you’re a maintainer, you can create a branch (you have permissions to do so). If you’re an outside contributor (or maintainer), you may fork the project (you don’t have permissions to create a branch in the repo). See Working With Our Repos for more info.



< What’s Expected of You | Getting a Repository >