Skip to content

Latest commit

 

History

History
75 lines (60 loc) · 4.76 KB

CONTRIBUTING.md

File metadata and controls

75 lines (60 loc) · 4.76 KB

Welcome to the StartLeft contributing guide

First off, thanks for taking the time to contribute!!

StartLeft is an Open Source project that welcomes collaborators to extend or improve its functionality. Despite the fact that it was born as an internal IriusRisk project, there are some characteristics that make it especially suitable to grow through the contributions of the community:

  • The nature of the project, whose functional scaling is based on the support of new, independent, source formats.
  • The conversion into the Open Threat Model (OTM) format is based on configuration files that can also be created independently depending on the expected OTM use.
  • The modularized architecture enables collaborators to contribute to each format's processor without conflicts.

New contributor guide

The contributing strategy for StartLeft is based on standardized procedures for collaborating in GitHub Open Source projects, so these resources may be helpful for you:

Getting started

All you need to know about StartLeft is on its documentation page. Once you get familiarized with the project, you can check out the Quickstart Guide for Developers, which will guide you through the process of setting up the development environment as well as providing you with all the basics to start coding.

Issues

If you spot a problem with StartLeft, search if an issue already exists. If a related issue does not exist, you can open a new issue.

Enhancements

To propose improvements or changes that are not properly bugs or problems you can also use the issues section. In this case, please try to be as clear as you can and include in your issue:

  • The context of the issue. Does it apply to the CLI? To the API? Is it an improvement for a specific SLP?
  • The motivation of the proposal. How will the proposed change improve StartLeft?
  • The goal of the issue. What is exactly the change that should be implemented?

Make changes

In order to use the best approach for integration with external developers (also applicable to any contributor), the GitHub guide for contributing to projects will be used. Summarizing, the steps that an external developer must follow to contribute are:

  1. Fork the StartLeft repository.
  2. Implement your changes in your forked repository.
  3. Create a Pull Request (PR) from the forked branch to the StartLeft dev branch in the main repository describing the changes done and their motivations.
  4. The PR will be reviewed by the owners' team using the GitHub strategy. for async communication.
  5. Once approved, the PR will be merged in the dev branch of the StartLeft repository and delivered in the next release.

Disclaimer: Any PR which contains changes in otm_schema.json file will be discarded. If you want to propose any change in the schema should be made through https://github.com/iriusrisk/OpenThreatModel

Code conventions

There are no specific code conventions for the StartLeft project. At this point, the generic Style Guide for Python Code is followed. So, please take a look at it before starting coding, paying special attention to the naming conventions. Anyway, if some doubt arises in a PR, it can be discussed to get aligned.

Useful links