diff --git a/doctor.sh b/doctor.sh index 9f4138a..ca36f08 100644 --- a/doctor.sh +++ b/doctor.sh @@ -127,6 +127,12 @@ else fail "Node.js not found" fi +if command -v jq &>/dev/null; then + pass "jq $(jq --version 2>/dev/null | sed 's/^jq-//')" +else + fail "jq not found — statusline & rtk-rewrite hooks require it" +fi + if command -v cargo &>/dev/null; then pass "Cargo $(cargo --version | awk '{print $2}')" else diff --git a/install-plugins.sh b/install-plugins.sh index 668a1cb..a4d466f 100644 --- a/install-plugins.sh +++ b/install-plugins.sh @@ -193,6 +193,25 @@ else fi fi +# --- jq (required by active hooks: statusline.sh, rtk-rewrite.sh) --- +if command -v jq &>/dev/null; then + ok "jq $(jq --version 2>/dev/null | sed 's/^jq-//')" +else + info "Installing jq..." + case $OS in + macos) brew install jq ;; + linux-apt) sudo apt-get install -y jq ;; + linux-dnf) sudo dnf install -y jq ;; + linux-pacman) sudo pacman -S --noconfirm jq ;; + *) warn "Cannot auto-install jq on $OS — statusline/rtk hooks need it" ;; + esac + if command -v jq &>/dev/null; then + ok "jq installed" + else + warn "jq install failed — statusline & rtk-rewrite hooks require it" + fi +fi + # --- Claude Code CLI --- if command -v claude &>/dev/null; then ok "Claude Code $(claude --version 2>/dev/null | head -1)"