Skip to content

Commit fa509e5

Browse files
authored
Merge pull request #474 from Klath123/docs/add-contributing.md
Add CONTRIBUTE.md
2 parents e08db06 + d1e690a commit fa509e5

File tree

2 files changed

+155
-72
lines changed

2 files changed

+155
-72
lines changed

CONTRIBUTING.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Contributing to DevSecOps Maturity Model (DSOMM)
2+
3+
[![GitHub contributors](https://img.shields.io/github/contributors/devsecopsmaturitymodel/DevSecOps-MaturityModel.svg)](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel/graphs/contributors)
4+
5+
DSOMM is an **open-source OWASP framework** that helps organizations assess and improve their **DevSecOps maturity** through structured activities, maturity levels, and recommendations.
6+
7+
---
8+
9+
## About the Project
10+
11+
The DSOMM consists of **two closely related repositories**:
12+
13+
1. **DevSecOps-MaturityModel**
14+
- Frontend visualization and UI
15+
- Built with **Angular**
16+
17+
2. **DevSecOps-MaturityModel-data**
18+
- Source of truth for all DSOMM activities
19+
- YAML-based structured data
20+
- generated `model.yaml` file consumed by the frontend
21+
22+
---
23+
24+
## Prerequisites
25+
26+
Before contributing, ensure you have the following installed:
27+
28+
1. **Node.js (LTS)**
29+
- [Node.js Documentation](https://nodejs.org/)
30+
31+
2. **Angular CLI**
32+
- [Angular Documentation](https://angular.dev/installation)
33+
```bash
34+
npm install -g @angular/cli
35+
```
36+
37+
---
38+
39+
## Setting Up the Project Locally
40+
41+
### 1. Fork the Repository
42+
43+
Fork the repository on GitHub:
44+
45+
[![GitHub forks](https://img.shields.io/github/forks/devsecopsmaturitymodel/DevSecOps-MaturityModel?style=social)](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel/fork)
46+
47+
### 2. Clone Your Fork
48+
49+
Clone your fork locally:
50+
```bash
51+
git clone https://github.com/<your-username>/DevSecOps-MaturityModel.git
52+
```
53+
### 3. Change directory to DSOMM
54+
```bash
55+
cd DevSecOps-MaturityModel
56+
```
57+
### 4. Install Dependencies
58+
59+
Install all required npm packages:
60+
```bash
61+
npm install
62+
```
63+
### 5.Running the Application
64+
Start the local development server:
65+
```bash
66+
ng serve
67+
```
68+
Open your browser and navigate to:
69+
```
70+
http://localhost:4200/
71+
```
72+
The application will automatically reload if you change any source files.
73+
74+
## Coding Style and Conventions
75+
76+
### Frontend
77+
78+
* [ESLint](https://eslint.org/) is used for linting
79+
* [Prettier](https://prettier.io/) is used for formatting
80+
81+
### YAML Files
82+
83+
To validate the schemas of the DSOMM yaml files in the IDE, it is recommended to use the VS Code extension [YAML – Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) (`redhat.vscode-yaml`). The schemas are stored in `/src/assets/YAML/schemas`.
84+
85+
86+
Run the linter:
87+
```bash
88+
ng lint
89+
```
90+
---
91+
92+
## Running Tests
93+
94+
### Unit Tests
95+
```bash
96+
ng test
97+
```
98+
99+
### Build Verification
100+
101+
```bash
102+
ng build
103+
```
104+
105+
Ensure your changes do not break the build.
106+
107+
---
108+
109+
## Contribution Workflow
110+
111+
1. **Find or create an issue**
112+
113+
2. **Create a feature branch:**
114+
```bash
115+
git checkout -b feature/short-description
116+
```
117+
118+
3. **Make your changes**
119+
120+
4. **Run checks locally:**
121+
```bash
122+
ng lint
123+
ng test
124+
ng build
125+
```
126+
127+
5. **Commit your changes:**
128+
```bash
129+
git commit -m "feat: short meaningful description"
130+
```
131+
132+
6. **Push your branch and open a Pull Request:**
133+
```bash
134+
git push origin feature/short-description
135+
```
136+
137+
7. **Open the PR against the main branch**
138+
139+
Clearly describe what you changed and why.
140+
141+
---
142+
143+
## Pull Request Guidelines
144+
145+
* Contributors are strongly encouraged to **sign all commits using GPG**
146+
[Learn how to add a GPG key to your GitHub account](https://docs.github.com/en/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account)
147+
* Keep PRs focused and reasonably sized
148+
* Do not mix unrelated changes
149+
* Follow existing project structure and conventions
150+
151+
---
152+
153+
## Code of Conduct
154+
155+
Please follow the project [Code of Conduct](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel/blob/main/CODE_OF_CONDUCT.md) when interacting with maintainers and contributors.

Development.md

Lines changed: 0 additions & 72 deletions
This file was deleted.

0 commit comments

Comments
 (0)