chore: inline SessionStart hook, remove install-deps.sh, bump to 1.3.4

This commit is contained in:
Jacob Magar 2026-04-05 18:57:56 -04:00
parent e6dc17b484
commit 93a4ca08c6
6 changed files with 10 additions and 54 deletions

View file

@ -1,49 +0,0 @@
#!/bin/sh
# install-deps.sh — language-agnostic dependency installer for Claude Code plugins.
#
# Detects the package manager from lock files and installs deps into
# CLAUDE_PLUGIN_DATA on first run and whenever the lock file changes.
# Follows the same diff-copy-install-or-rollback pattern as the npm example
# in the Claude Code plugin docs.
#
# Supported: uv (Python), cargo (Rust), npm/yarn/pnpm (TypeScript/JavaScript)
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT}"
DATA_DIR="${CLAUDE_PLUGIN_DATA}"
# sync_if_changed <lockfile> <install-command>
# Skips install when the stored lockfile matches the bundled one.
# On install failure, removes the stored lockfile so the next session retries.
sync_if_changed() {
lockfile="$1"
install_cmd="$2"
if diff -q "${PLUGIN_ROOT}/${lockfile}" "${DATA_DIR}/${lockfile}" >/dev/null 2>&1; then
return 0
fi
cp "${PLUGIN_ROOT}/${lockfile}" "${DATA_DIR}/${lockfile}" \
&& eval "${install_cmd}" \
|| rm -f "${DATA_DIR}/${lockfile}"
}
if [ -f "${PLUGIN_ROOT}/uv.lock" ]; then
sync_if_changed "uv.lock" \
"UV_PROJECT_ENVIRONMENT=\"${DATA_DIR}/.venv\" uv sync --project \"${PLUGIN_ROOT}\""
elif [ -f "${PLUGIN_ROOT}/package-lock.json" ]; then
sync_if_changed "package-lock.json" \
"npm ci --prefix \"${DATA_DIR}\""
elif [ -f "${PLUGIN_ROOT}/yarn.lock" ]; then
sync_if_changed "yarn.lock" \
"yarn install --cwd \"${PLUGIN_ROOT}\" --modules-folder \"${DATA_DIR}/node_modules\""
elif [ -f "${PLUGIN_ROOT}/pnpm-lock.yaml" ]; then
sync_if_changed "pnpm-lock.yaml" \
"pnpm install --dir \"${PLUGIN_ROOT}\" --virtual-store-dir \"${DATA_DIR}/pnpm-store\""
elif [ -f "${PLUGIN_ROOT}/Cargo.lock" ]; then
sync_if_changed "Cargo.lock" \
"cargo build --release --manifest-path \"${PLUGIN_ROOT}/Cargo.toml\" --target-dir \"${DATA_DIR}/target\""
fi

View file

@ -1,7 +1,7 @@
{
"name": "unraid-mcp",
"displayName": "Unraid MCP",
"version": "1.3.3",
"version": "1.3.4",
"description": "Query, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, rclone, and live telemetry.",
"author": {
"name": "Jacob Magar",
@ -26,7 +26,7 @@
"hooks": [
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/.claude-plugin/install-deps.sh\""
"command": "diff -q \"${CLAUDE_PLUGIN_ROOT}/uv.lock\" \"${CLAUDE_PLUGIN_DATA}/uv.lock\" >/dev/null 2>&1 || (cp \"${CLAUDE_PLUGIN_ROOT}/uv.lock\" \"${CLAUDE_PLUGIN_DATA}/uv.lock\" && UV_PROJECT_ENVIRONMENT=\"${CLAUDE_PLUGIN_DATA}/.venv\" uv sync --project \"${CLAUDE_PLUGIN_ROOT}\") || rm -f \"${CLAUDE_PLUGIN_DATA}/uv.lock\""
}
]
}

View file

@ -1,6 +1,6 @@
{
"name": "unraid-mcp",
"version": "1.3.3",
"version": "1.3.4",
"description": "Unraid server management via MCP.",
"homepage": "https://github.com/jmagar/unraid-mcp",
"repository": "https://github.com/jmagar/unraid-mcp",

View file

@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [1.3.4] - 2026-04-05
### Changed
- **SessionStart hook**: Removed `install-deps.sh` script; hook command is inline again per Claude Code plugin docs pattern.
## [1.3.3] - 2026-04-05
### Changed

View file

@ -1,6 +1,6 @@
{
"name": "unraid-mcp",
"version": "1.3.3",
"version": "1.3.4",
"description": "Query, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, and live telemetry.",
"mcpServers": {
"unraid-mcp": {

View file

@ -10,7 +10,7 @@ build-backend = "hatchling.build"
# ============================================================================
[project]
name = "unraid-mcp"
version = "1.3.3"
version = "1.3.4"
description = "MCP Server for Unraid API - provides tools to interact with an Unraid server's GraphQL API"
readme = "README.md"
license = {file = "LICENSE"}