Use this checklist before merging any Pull Request (PR) that touches code, scripts, manifests, or documentation. It represents the quality standard required to keep the Stellar-K8s repository healthy, clean, and navigable.
- Formatting: Run
make fmtlocally to format all Rust code. Ensuremake fmt-checkpasses. - Clippy Lints: Run
make lintto verify that there are no compiler warnings. All Clippy alerts must be clean. - Dependency Audit: Run
make auditto ensure there are no unreviewed or un-ignored security vulnerabilities in dependencies. - Unused Imports & Dead Code:
- Remove all unused imports in modified files.
- Do not introduce new
#[allow(dead_code)]attributes without adding an explanatory comment justifying why the code is currently unused.
- Documentation Comments: All new public functions, structs, enums, and modules must have proper Rust doc comments (
///or//!).
- Local Unit Tests: Run
make test(orcargo test) and confirm that all unit and integration tests pass successfully. - No Regression: Ensure any modified logic is accompanied by updated or new unit tests validating the behavior.
- Shellcheck: All modified or new bash scripts in
scripts/must passshellcheck -S error. Sourcingscripts/lib/errors.shis highly recommended for standard logs. - Script Naming: Scripts must follow the
kebab-case.shnaming convention. - Regenerate Manifests: If your changes modify CRD definitions (in
src/crd/), API docs generation scripts, or Helm templates, you must regenerate and commit the updated output files:- Run
make generate-api-docsto regeneratedocs/api-reference.md. - Ensure all Helm chart values and CRDs are up to date.
- Run
- Relative Links: Verify all links inside documentation files point to valid targets. Relative paths must exist.
- Link Validation: Run
python3 scripts/check-links.pylocally and ensure it reports zero broken links. - File Names: New documentation files must follow the
kebab-case.mdnaming convention. - Index Registration: New documentation files must be registered under the correct category in
mkdocs.ymlnavigation block to prevent dangling or orphaned pages.
- Conventional Commits: Commit messages must follow the Conventional Commits specification (e.g.,
feat: ...,fix: ...,docs: ...). - DCO Sign-off: Every commit must be signed off with the Developer Certificate of Origin (DCO) using
git commit -s(resulting in aSigned-off-by: Name <email>footer).