SKILL.md
Google Shell Style Guide
Official Google Shell scripting standards for consistent, maintainable Bash scripts.
Quick Reference
Golden Rules
- Use
#!/bin/bash— specify interpreter - Quote variables —
"$var"not$var - Check exit codes —
set -eor explicit checks - Use functions — organize code logically
- Avoid parsing
ls— use globs or find - Use
[[over[— more features, fewer gotchas - ShellCheck for linting — catch common mistakes
Naming Conventions (Preview)
| Element | Convention | Example |
|---|---|---|
| Functions | lowercasewithunderscores | getusercount |
| Variables | lowercasewithunderscores | user_count |
| Constants | UPPERSNAKECASE | MAX_RETRIES |
| Environment vars | UPPERSNAKECASE | PATH |
Basic Patterns (Preview)
#!/bin/bash
# ✓ CORRECT
set -euo pipefail # Exit on error, undefined vars, pipe failures
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
function main() {
local user_count="$1"
if [[ -z "${user_count}" ]]; then
echo "Error: user_count required" >&2
return 1
fi
echo "Processing ${user_count} users"
}
main "$@"
When to Use This Guide
- Writing new shell scripts
- Refactoring existing scripts
- Code reviews
- Setting up ShellCheck
- Onboarding new team members
Install
npx skills add testdino-hq/google-styleguides-skills/shell
Full Guide
See [shell.md](shell.md) for complete details, examples, and edge cases.