resq-cli 0.3.0

Developer CLI for the ResQ autonomous drone platform
Documentation
#!/usr/bin/env bash
# Copyright 2026 ResQ Software
# SPDX-License-Identifier: Apache-2.0
#
# Canonical ResQ post-checkout shim — source: resq-software/dev.
# Notifies when lock files change so devs know to resync dependencies.

set -euo pipefail

[ -n "${GIT_HOOKS_SKIP:-}" ] && exit 0

PREV_HEAD="${1:-}"
NEW_HEAD="${2:-}"
IS_BRANCH_CHECKOUT="${3:-}"

if [ "$IS_BRANCH_CHECKOUT" = "1" ] && [ "$PREV_HEAD" != "$NEW_HEAD" ]; then
    CHANGED=$(git diff --name-only "$PREV_HEAD" "$NEW_HEAD" 2>/dev/null || true)

    grep -q "^Cargo\.lock$"   <<<"$CHANGED" && echo "📦 Cargo.lock changed — run: cargo build"
    grep -q "^bun\.lockb\?$"  <<<"$CHANGED" && echo "📦 bun.lock changed — run: bun install"
    grep -q "^uv\.lock$"      <<<"$CHANGED" && echo "📦 uv.lock changed — run: uv sync"
    grep -q "^flake\.lock$"   <<<"$CHANGED" && echo "📦 flake.lock changed — exit and re-enter: nix develop"
fi

LOCAL_HOOK="$(git rev-parse --show-toplevel)/.git-hooks/local-post-checkout"
if [ -x "$LOCAL_HOOK" ]; then
    exec "$LOCAL_HOOK" "$@"
fi

exit 0