|
1 | | -# DSOMM |
| 1 | +# DevSecOps Maturity Model (DSOMM) |
| 2 | + |
| 3 | +## Introduction |
| 4 | + |
| 5 | +The DevSecOps Maturity Model (DSOMM) is an open-source framework designed to help organizations evaluate and improve their **DevSecOps** practices. |
| 6 | +It provides structured **security maturity levels**, recommendations, and automation insights to enable teams to build **secure, efficient, and scalable software**. |
| 7 | + |
| 8 | +This guide walks you through **setting up the project locally**, making contributions, and submitting a pull request. |
| 9 | + |
| 10 | +## **Project Setup** |
| 11 | + |
| 12 | +### Development Server |
2 | 13 |
|
3 | | -## Development server |
4 | 14 | The DSOMM is based [Angular](https://angular.dev/) and uses npm for package management. |
| 15 | + |
5 | 16 | - If you have not yet installed npm or the Angular command line tools, install them now. First [NodeJS](https://nodejs.org/en/download) (which provides npm), then Angular: |
6 | | -``` |
| 17 | + |
| 18 | +```bash |
7 | 19 | npm install -g @angular/cli |
8 | | -``` |
9 | | -- Clone the DSOMM repo |
10 | 20 | ``` |
| 21 | + |
| 22 | +- Clone the DSOMM repo |
| 23 | + |
| 24 | +```bash |
11 | 25 | git clone https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel.git |
12 | 26 | ``` |
| 27 | + |
13 | 28 | - Change directory to DSOMM |
14 | | -``` |
| 29 | + |
| 30 | +```bash |
15 | 31 | cd DevSecOps-MaturityModel |
16 | 32 | ``` |
| 33 | + |
17 | 34 | - Install Dependencies |
18 | | -``` |
| 35 | + |
| 36 | +```bash |
19 | 37 | npm install |
20 | 38 | ``` |
| 39 | + |
21 | 40 | - **NB!** The DSOMM activities are maintained separately. Download the `generated.yaml` and put it in the required folder |
22 | | -``` |
| 41 | + |
| 42 | +```bash |
23 | 43 | curl https://raw.githubusercontent.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/main/src/assets/YAML/generated/generated.yaml -o src/assets/YAML/generated/generated.yaml |
24 | 44 | ``` |
25 | 45 |
|
26 | 46 | - Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. |
27 | 47 |
|
28 | | - |
29 | | -## Code scaffolding |
| 48 | +## Code Scaffolding |
30 | 49 |
|
31 | 50 | Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. |
32 | 51 |
|
33 | 52 | ## Build |
34 | 53 |
|
35 | 54 | Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. |
36 | 55 |
|
37 | | -## Running unit tests |
| 56 | +## Running Unit Tests |
38 | 57 |
|
39 | 58 | Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). |
40 | 59 |
|
41 | 60 | ## Coding Style Conventions |
42 | 61 |
|
43 | | -- We follow the coding style defined by [ESLint](https://eslint.org/). |
| 62 | +- We follow the coding style defined by [ESLint](https://eslint.org/). |
44 | 63 | - We also use [Prettier](https://prettier.io/docs/en/index.html) as our opinionated code formatter. |
45 | | -- To validate the schemas of the DSOMM yaml files in the IDE, it is recommended to use the VS Code extension [redhat.vscode-yaml](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml). The schemas are stored in /src/assets/YAML/schemas |
| 64 | +- To validate the schemas of the DSOMM yaml files in the IDE, it is recommended to use the VS Code extension [redhat.vscode-yaml](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml). The schemas are stored in `/src/assets/YAML/schemas` |
| 65 | + |
| 66 | +### Running Linter |
| 67 | + |
| 68 | +Run `ng lint` to run the linter from the command line. |
| 69 | +If you want to lint only a specific component, use: |
46 | 70 |
|
| 71 | +```bash |
| 72 | +ng lint --lint-file-patterns .\src\app\component\xxxxxx\ |
0 commit comments