git-worktree-runner sh.instructions.md

Shell coding guidelines for a Bash-based Git worktree tool. They describe its structure, naming, error handling, portability, debugging, and safe command use.

In plain words
What is it for?
Use them when adding, reviewing, or debugging shell scripts, especially the tool's startup code, functions, error paths, and worktree commands.
Why use it?
They give contributors consistent rules for changing shell code safely and keeping it compatible with older Bash versions, including the version included with macOS.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/coderabbitai/git-worktree-runner/sh
Clone the repo
git clone --depth 1 https://github.com/coderabbitai/git-worktree-runner

Made for: GitHub Copilot.

Per session 450 This file is loaded in full into every session.
When invoked 450 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00450 $0.00450
Opus 5 $0.00225 $0.00225
Sonnet 5 $0.00090 $0.00090
Haiku 4.5 $0.00045 $0.00045

Measured yesterday against content hash c8f54135f6a0, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

git-worktree-runner sh.instructions.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- Keep dependencies minimal: only `git`, `sed`, `awk`, `find`, `grep` (avoid jq/curl unless justified).
.github/instructions/sh.instructions.md · 48 lines

What it actually says

Shell Instructions

Architecture

Key Pattern: Everything is sourced at startup (set -e enabled). Functions call each other directly. No subshells except for hooks and AI tools.

Code Conventions

Shell Script Style

  • Bash 3.2+ compatible (macOS default), but 4.0+ features allowed where appropriate
  • Always quote variables: "$var" not $var
  • Function-scoped vars: Use local var="value"
  • Error handling: Check return codes; functions return 1 on failure
  • Naming: snake_case for functions/vars, UPPER_CASE for constants

Strict Mode & Safety

  • Global set -e in bin/gtr: guard non-critical commands with || true.
  • Prefer [ ] over [[ ]] for POSIX portability (use [[ only when needed).
  • Always quote glob inputs; disable unintended globbing (set -f temporarily if required).

Portability

  • Target Bash 3.2+: avoid associative arrays; use simple string/loop constructs.
  • Avoid readarray and process substitution unsupported in older Bash.

Debugging

  • Quick trace: bash -x ./bin/gtr <cmd>.
  • Inline: wrap suspicious block with set -x / set +x.
  • Function presence: declare -f create_worktree or declare -f resolve_target.
  • Variable inspection: echo "DEBUG var=$var" >&2 (stderr keeps stdout clean for command substitution).

External Commands

  • Keep dependencies minimal: only git, sed, awk, find, grep (avoid jq/curl unless justified).
  • Check availability before use if adding new tools.

Quoting & Paths

  • Use "${var}"; for loop over lines: while IFS= read -r line; do ... done to preserve spaces.
  • Sanitize branch names via sanitize_branch_name (do NOT duplicate logic elsewhere).
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 48 lines · 450 tokens per session scan A c8f54135f6a0

Subscribe to this mod's changes

git-worktree-runner sh.instructions.md is an instructions file published in the GitHub repository coderabbitai/git-worktree-runner (1,754 stars, last pushed 4d ago), licensed Apache-2.0. It adds 450 tokens to every session, about $0.0022 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.