Awesome Reviewers

When code depends on runtime configuration (tooling paths, IDE/CLI context, feature flags), treat environment variables as an explicit contract and don’t rely on implicit process state.

Apply these rules: 1) Prefer documented env inputs over assumed I/O

2) When spawning subprocesses, make the child’s environment deterministic

Code example (env-safe spawn):

function runCore(hookFile: string, input: Record<string, unknown>) {
  const childExe = process.execPath; // don’t depend on PATH
  return Bun.spawnSync([childExe, join(HOOKS_DIR, hookFile)], {
    stdin: "pipe",
    env: process.env, // or explicitly set PATH/bun dir if needed
    encoding: "utf-8",
    // ...forward other required options
  });
}

Checklist for reviews: