Contributing
Welcome to Festo CycloneDX Editor Validator contributing guide, thank you for investing your time in contributing to our project! To get an overview of the project, read the documentation.
Issues
Create Issues
Before submitting, please ensure that you are using the latests code by performing a git pull
. Also, please ensure that an issue does not already exists.
Always include your python version number (python --version
) and the tool version (cdx-ev --version
).
Solve Issue
Feel free to assign issues to yourself and make changes to our tool. Please consider the points mentioned here.
Make changes to CycloneDX Editor Validator
Prerequisites
For compatibility reasons, the code should be compliant to python 3.10 or higher.
Make sure to use the latest code by performing a
git pull
.For a major change it is recommended that you get in touch with us by creating an issue to discuss changes prior to dedicating time and resources. This process allows us to better coordinate our efforts and prevent duplication of work.
Commit your changes using a descriptive commit message that follows our commit message format. The same applies for titles of PRs. This is required as we generate our release notes from these messages.
Otherwise, feel free to directly [submit a pull request](#submitting-pull-requests).
Write new commands, options or arguments
Please consider the following rules for commands, options and arguments:
Argument type |
Style |
Examples |
---|---|---|
Subcommand |
kebab-case [1] |
cdx-ev merge-vex |
Option |
kebab-case |
cdx-ev --issues-file |
Option value |
<kebab-case> [1] |
cdx-ev --issues-file <file> |
Positional argument |
<snake-case> |
cdx-ev merge-vex <sbom_file> <vex_file> |
Optional position argument |
[<kebab-case>] |
No good examples, yet. |
Footnotes:
Submitting Pull Requests
The following things are to consider before submitting a pull request.
Commit Message Format
The message format was mainly inspired by the guidelines of Angular.
Please use the following format:
<type>: <subject>
<optional footer with additional details>
Type
Must be one of the following:
feat: A new feature
fix: A bug fix
docs: Documentation only changes
refactor: A code change that neither fixes a bug nor adds a feature. (e.g., style or performance changes)
tests: Adding missing or correcting existing tests
chore: Changes to the build process or auxiliary tools and libraries such as documentation generation
Subject
The subject contains succinct description of the change:
Use the imperative, present tense: “change” not “changed” nor “changes”
Don’t capitalize first letter
No dot (.) at the end
Do not describe the reason of the change, describe the content of the change (what, not why).
Examples
fix: do not add license option to default operations
feat: add 'amend' option
refactor: apply black