Thanks for considering a contribution to devops-utils. This repository is a collection of small, standalone
operational scripts for Netgrif deployments — there's no build, no shared runtime, and no CI, so the bar for
contributing is mostly about keeping each script self-contained, safe, and well-documented on its own.
- All
.shscripts go inshell/, regardless of what system they target. Non-shell scripts go under a top-level directory named after the system they target (e.g.mongodb/for themongoshscript), creating a new directory if none fits. - Start the file with a short header comment covering: what it does, usage (including any required arguments/environment variables), and requirements (e.g. minimum server version, required CLI tools).
- Keep scripts standalone. Don't introduce a package manager, shared library, or build step unless a real duplication problem across multiple scripts justifies it.
- Prefer explicit configuration (a config block or environment variables) over hardcoded values, especially for connection details and credentials.
- Match the existing indentation style for the language (see
.editorconfig).
There's no automated test suite. Before opening a PR, run the script by hand against a disposable/test instance of the target system and confirm it behaves as documented, including its error paths (e.g. missing dependency, bad credentials, empty result set).
For shell scripts, running ShellCheck locally before submitting is encouraged.
- Open a pull request describing what the script does (or what changed) and how you tested it.
- Update
README.md(andCLAUDE.mdif the change affects how Claude Code should work with the repo) if you add, rename, or meaningfully change a script's usage. - If you add or remove a script, bump the count in the "scripts" badge at the top of
README.md— it's a static badge, not one GitHub/shields.io can compute automatically. - Keep PRs focused on one script or one fix at a time.
Please see SECURITY.md rather than opening a public issue.