Skip to content
devlinjunker edited this page Mar 21, 2021 · 19 revisions

What is This Project?

This is an example of a project that passes the CII Criteria 100%.

Note: Some criteria are skipped due to not producing software (aside from shell scripts), these should be reviewed if you use this project as a starting point for your own project that passes the CII Criteria.

What is CII?

The Core Infrastructure Initiative defines a set of best practices for programming projects. These steps can be completed to show that your project has documentation and standardized procedures that are likely to produce higher-quality secure software.

How Do I Use This Project?

This can be used to help kick start your own project with basic steps for following CII best practices. You should be able to fork this project to your own repository and then continue to follow the CII guidelines to produce your own software that meets these criteria.

If you would like to use this a starting point for your own project, follow the steps in the README and the Github Semantic Versioning Template - New Project Steps

Why Lint and Test Bash/Shell Scripts?

  1. Static Code Analysis and Automated Testing are important components of passing the CII 100%.
  2. Most projects can use bash scripts to help with some part of their process or component of their project.
  3. We are setting the tone for the standard of development the project expects by linting and testing these script files, encouraging any additional development tools be documented, standardized and quality controlled to the same level as these script files.

How Do I Create (Semantic Versioned) Releases?

See this Wiki Page from the Github Semantic Versioning Template project.