Set up pre-commit hooks for the repository to automatically run code quality, security, API contract, Dockerfile, and YAML checks before each commit.
Acceptance Criteria
Tasks
The commit should be blocked if:
- The OpenAPI specification is invalid.
- Python code is not formatted correctly.
- Python linting fails.
- Type errors are detected.
- Security issues are found.
- Private keys or secrets are detected.
- Dockerfile syntax or best practice checks fail.
- YAML files are invalid.
- Added files are too large.
The commit should only continue if all checks pass.
Verification
Set up pre-commit hooks for the repository to automatically run code quality, security, API contract, Dockerfile, and YAML checks before each commit.
Acceptance Criteria
.pre-commit-config.yamlis created at the repository root.pip install pre-commit.pre-commit install.pre-commit run -a.api/openapi.yaml.Tasks
.pre-commit-config.yamlin the repository root.api/openapi.yaml.pre-commit run -aand fix issues if needed.The commit should be blocked if:
The commit should only continue if all checks pass.
Verification
pip install pre-commitsucceeds.pre-commit installsucceeds.pre-commit run -aexecutes all configured hooks.