Skip to content

Latest commit

 

History

History
39 lines (29 loc) · 2.17 KB

File metadata and controls

39 lines (29 loc) · 2.17 KB

Contributing

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.

Adding a new script

  • All .sh scripts go in shell/, 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 the mongosh script), 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).

Testing your change

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.

Submitting changes

  • Open a pull request describing what the script does (or what changed) and how you tested it.
  • Update README.md (and CLAUDE.md if 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.

Reporting a security issue

Please see SECURITY.md rather than opening a public issue.