Thanks for your interest in contributing. KlusterShield is a security-focused compliance tool — contributions are welcome but held to a high standard, especially around correctness of NIST/CMMC control mappings.
git clone https://github.com/<your-username>/klustershield.git
cd klustershield
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install pytest pytest-cov ruff black mypy bandit pip-auditgit checkout -b fix/your-fix-name
# or
git checkout -b feat/your-feature-name- Keep PRs focused — one fix or feature per PR
- If you're adding a compliance check, include the NIST/CMMC control ID and a link to the source document
- All new code must have tests
# Lint
ruff check klustershield/ scripts/
black --check klustershield/ scripts/
# Tests
PYTHONPATH=. pytest tests/ --cov=klustershield --cov-report=term-missing
# Security
bandit -r klustershield/ scripts/ --severity-level medium
pip-audit -r requirements.txt- Reference the issue your PR closes (
Closes #123) - Fill out the PR template completely
- CI must pass — the pipeline runs lint, type check, tests, SAST, and dependency scanning automatically
| Type | Welcome |
|---|---|
| Bug fixes | ✅ Always |
| New NIST control checks | ✅ With source citation |
| CMMC L1/L2 control mapping | ✅ See roadmap issues |
| FedRAMP controls | ✅ See roadmap issues |
| Test coverage improvements | ✅ Always |
| Docs and examples | ✅ Always |
| New CLI commands | |
| Architecture changes |
If you're adding or modifying a compliance check:
- Cite the source — link to the specific NIST SP, CMMC practice, or FedRAMP control in a code comment
- Don't guess — if you're unsure whether a Kubernetes configuration satisfies a control, flag it as
WARNnotPASS - Test edge cases — test PASS, FAIL, WARN, and SKIP conditions for every check
- Update the control mapping — if it maps to multiple frameworks, update the mapping YAML
Do not open a public issue for security vulnerabilities.
Email rudy@rudymartinez.ai with:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
We'll respond within 48 hours and coordinate a fix before public disclosure.
Be professional. This project targets defense and government environments — keep discussions technical and respectful.
By contributing, you agree your contributions are licensed under the Apache License 2.0 with the explicit patent grant that license provides.