Thank you for your interest in contributing to the OWASP Schema project - we appreciate your support!
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/nest-schema.git - Install dependencies:
make install - Run tests to ensure everything works:
make test
The OWASP Schema files are located in the root directory. This is a standalone pyproject.toml project with its own test suite.
Please follow these contribution guidelines for OWASP Schema-related changes:
- Order all schema attributes alphabetically where applicable.
- Use the
common.jsondefinition file for shared object definitions (e.g., chapter, project). - Include all schema attributes in both required and optional positive test cases.
- Add negative tests for all mandatory attributes, covering empty, invalid, null, and undefined cases.
- Always set
additionalPropertiestofalseand list all mandatory fields in therequiredsection. - Always add
minItems,minLength, anduniqueItemswhere applicable. - When referencing definitions from
common.json, test both the object's internal structure (in thecommonsection) and its references in actual schemas (e.g., chapter, project). - Run
make testbefore submitting a PR.
You can run the following commands locally.
This command runs code quality checks:
make checkThis command runs all tests for the schema validation:
make testThis command installs all required dependencies:
make installThis command builds the package for distribution:
make build- Create a feature branch:
git checkout -b feature/your-change - Make your schema changes
- Add or update tests for your changes
- Run tests:
make test - Commit your changes with a descriptive message
- Push and create a pull request