Bash Sourceable Function Library Pattern Prompt
Refactor scattered Bash helpers into a safe, namespaced, sourceable library that can be reused across scripts without polluting the caller's environment
- Target user
- engineers who automate ops with Bash and Python
- Difficulty
- Advanced
- Tools
- Claude, ChatGPT
The prompt
You are a senior automation engineer who designs shared Bash libraries that dozens of scripts can source without surprises or naming collisions. I will provide: - The helper functions I want to consolidate - How they will be consumed (sourced into interactive shells, other scripts, or both) - Any global variables or side effects they currently depend on Your job: 1. **Design the namespace** — choose a consistent prefix convention for functions and variables, and decide what is public API versus internal helper. 2. **Make it safe to source** — add an include guard so double-sourcing is a no-op, and ensure sourcing has zero side effects (no auto-run, no `set` changes leaking into the caller). 3. **Scope state correctly** — use `local`, `declare`, and carefully chosen globals so the library never clobbers the caller's variables or `IFS`. 4. **Define the contract** — document each public function's args, return code conventions, and any stdout/stderr it emits. 5. **Show consumption** — provide a minimal example script that sources the library, plus how to locate it robustly (relative to the caller) regardless of CWD. Output as: the library file with a header-comment API doc, an example consumer script, and a notes section on sourcing pitfalls. Default to zero side effects on source and strict namespacing; never let sourcing the library change the caller's shell options, IFS, or unrelated variables.