Contributing
Contributions are welcome. To propose a change:
- Fork and branch. Fork the repository, then create a branch off
masterusing kebab-case (e.g.issues/12-short-description). - Edit in
src/. Make changes to the scripts insrc/scripts/, not in anydeploy/copy. Shared logic belongs insrc/lib/common.sh— each script sources it viasource "$SCRIPT_DIR/../lib/common.sh", so reuse helpers there instead of duplicating code. - Match conventions. Follow the existing style:
-x/--xxxxflag pairs, a-h/--helphandler, and configuration read from a project-root.env(see.env.example). Never commit a real.env. Functions are PascalCase; the entry point isMain, wrapped byRunScript. - Regenerate the flags/usage reference. The flags/usage reference (each script as a collapsible
<details>block: title and source path in the<summary>, sanitized-hbody inside) is generated — bygen-docs.sh— into the marked region ofREADME.mdand intodocs/_includes/command-reference.md(rendered by the Command Reference page). The README per-script collapsible entries are generated; there is no hand-maintained<details>prose in the README. Everything else is hand-maintained: the per-script Parameters tables and theCLAUDE.mdnotes. If you change a script’s flags or usage, edit itsHelp()/GetArguments, then runbash src/scripts/gen-docs.shand commit the regenerated region and include.bash src/scripts/gen-docs.sh --checkreports drift and runs as an advisory (non-blocking) step in CI and the pre-commit hook. - Test before submitting. Run the affected script(s) with
bash [script-name].sh -hand through a normal run to confirm behaviour on a Unix-like system. Runbash tests/run.shand, if available,shellcheck src/scripts/*.sh src/lib/common.sh. - Open a pull request. Push your branch and open a PR against
masterwith a clear description of what changed and why. Open an issue first for larger changes.
License
This project is licensed under the MIT License. See the LICENSE.md file for details.