First off, thank you for considering contributing to clsecure! It's people like you that make this tool better for everyone.
- Bugs & Issues: If you find a bug, please check the existing issues to see if it has already been reported. If not, open a new issue using the provided templates.
- Feature Requests: Have an idea to make clsecure better? Open an issue to discuss it before writing code.
- Pull Requests: Ready to contribute code? Great! See the workflow below.
clsecure uses a modular architecture for maintainability:
clsecure-srcis the main script (for development)lib/contains modulesbuild.shassembles the finalclsecurescripttests/contains BATS tests
- Fork & Clone: Fork the repository and clone it locally.
- Branch: Create a new branch for your feature or bugfix (
git checkout -b feature/my-new-feature). - Edit Modules: Modify
clsecure-srcand files inlib/. Keep modules focused and under 300 lines. - Follow Guidelines:
- Follow bash best practices (
set -euo pipefail). - Use the logging functions (
log_info,log_warn, etc.).
- Follow bash best practices (
- Rebuild: Run
./build.shto regenerate the single-fileclsecurescript. - Test: Run
./run_tests.shto execute unit tests. Please add tests for new functionality. - Commit: Commit your changes with a clear commit message.
- Push & PR: Push to your fork and submit a Pull Request.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.