# Contributing [![GitHub contributors](https://img.shields.io/github/contributors/juice-shop/juice-shop.svg)](https://github.com/juice-shop/juice-shop/graphs/contributors) [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)

[![CI/CD Pipeline](https://github.com/juice-shop/juice-shop/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/juice-shop/juice-shop/actions/workflows/ci.yml)
[![Coverage Status](https://coveralls.io/repos/github/juice-shop/juice-shop/badge.svg?branch=develop)](https://coveralls.io/github/juice-shop/juice-shop?branch=develop)[![Cypress tests](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/detailed/3hrkhu/develop&style=flat&logo=cypress)](https://dashboard.cypress.io/projects/3hrkhu/runs)
![Gitlab pipeline status](https://img.shields.io/gitlab/pipeline/bkimminich/juice-shop.svg)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/owasp-juice-shop/localized.svg)](https://crowdin.com/project/owasp-juice-shop)
![GitHub issues by-label "help wanted"](https://img.shields.io/github/issues/juice-shop/juice-shop/help%20wanted.svg?color=darkslateblue)
![GitHub issues by-label "good first issue"](https://img.shields.io/github/issues/juice-shop/juice-shop/good%20first%20issue.svg?color=darkgreen)

## Code Contributions

The ten minimum requirements for code contributions are:

1. All Pull Requests _must_ be based off the `develop` branch.
2. The code _must_ be compliant with the configured ESLint rules based on the [JS Standard Code Style](http://standardjs.com).
3. All PRs _should_ have a dedicated scope (e.g. not mixing code refactorings with delivering a new feature) and reasonable size.
4. All new and changed code _should_ have a corresponding unit and/or integration test.
5. New and changed challenges _must_ have a corresponding e2e test.
6. Noise (e.g. unnecessary comments) generated by AI tools _must_ be removed before opening a PR.
7. All [status checks](https://pwning.owasp-juice.shop/companion-guide/latest/part3/contribution.html#_continuous_integration_deployment) _must_ pass for the last commit within your PR.
8. All Git commits within a PR _must_ be [signed off](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt--s) to indicate the contributor's agreement with the [Developer Certificate of Origin](https://developercertificate.org/).
9. [Contributing to translations](https://pwning.owasp-juice.shop/companion-guide/latest/part3/translation.html) _should_ be done via [Crowdin](https://crowdin.com/project/owasp-juice-shop) and _not_ via GitHub PRs.
10. Particularly low-effort contributions (e.g. incomplete typo fixes in a single file, trivial text changes, code formatting) or any forms of potential "contribution farming" _must not_ be submitted as PRs. Doing so more than once _might_ be [considered spamming and handled accordingly](https://pwning.owasp-juice.shop/companion-guide/latest/part3/contribution.html#_handling_of_spam_prs).

### Contribution Guidelines

You can find our detailed contribution guidelines over here:

<https://pwning.owasp-juice.shop/companion-guide/latest/part3/contribution.html>

## I18N Contributions

Learn all about our crowdsourced [translation project on Crowdin](https://crowdin.com/project/owasp-juice-shop)
here: <https://pwning.owasp-juice.shop/companion-guide/latest/part3/translation.html>
