diff --git a/plugins/clarity-assist/.claude-plugin/plugin.json b/plugins/clarity-assist/.claude-plugin/plugin.json index 84ae5fd..e0b1d69 100644 --- a/plugins/clarity-assist/.claude-plugin/plugin.json +++ b/plugins/clarity-assist/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "clarity-assist", - "version": "1.0.0", + "version": "1.2.0", "description": "Prompt optimization and requirement clarification with ND-friendly accommodations", "author": { "name": "Leo Miranda", diff --git a/plugins/contract-validator/.claude-plugin/plugin.json b/plugins/contract-validator/.claude-plugin/plugin.json index 5fac840..2e5c8eb 100644 --- a/plugins/contract-validator/.claude-plugin/plugin.json +++ b/plugins/contract-validator/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "contract-validator", - "version": "1.1.0", + "version": "1.2.0", "description": "Cross-plugin compatibility validation and Claude.md agent verification", "author": { "name": "Leo Miranda", diff --git a/plugins/data-platform/hooks/startup-check.sh b/plugins/data-platform/hooks/startup-check.sh index ed861c7..3cbb200 100755 --- a/plugins/data-platform/hooks/startup-check.sh +++ b/plugins/data-platform/hooks/startup-check.sh @@ -11,9 +11,17 @@ PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "$(realpath "$0")")")}" MARKETPLACE_ROOT="$(dirname "$(dirname "$PLUGIN_ROOT")")" LOCAL_VENV="$MARKETPLACE_ROOT/mcp-servers/data-platform/.venv/bin/python" -# Check cache first (preferred), then local +# Check cache first (preferred), then local symlink +CACHE_VENV_DIR="$HOME/.cache/claude-mcp-venvs/leo-claude-mktplace/data-platform/.venv" +LOCAL_VENV_DIR="$MARKETPLACE_ROOT/mcp-servers/data-platform/.venv" + if [[ -f "$CACHE_VENV" ]]; then VENV_PATH="$CACHE_VENV" + # Auto-create symlink in installed marketplace if missing + if [[ ! -e "$LOCAL_VENV_DIR" && -d "$CACHE_VENV_DIR" ]]; then + mkdir -p "$(dirname "$LOCAL_VENV_DIR")" 2>/dev/null + ln -sf "$CACHE_VENV_DIR" "$LOCAL_VENV_DIR" 2>/dev/null + fi elif [[ -f "$LOCAL_VENV" ]]; then VENV_PATH="$LOCAL_VENV" else diff --git a/plugins/doc-guardian/.claude-plugin/plugin.json b/plugins/doc-guardian/.claude-plugin/plugin.json index edec5f9..a7d9e9f 100644 --- a/plugins/doc-guardian/.claude-plugin/plugin.json +++ b/plugins/doc-guardian/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "doc-guardian", "description": "Automatic documentation drift detection and synchronization", - "version": "1.0.0", + "version": "1.1.0", "author": { "name": "Leo Miranda", "email": "leobmiranda@gmail.com" diff --git a/plugins/git-flow/.claude-plugin/plugin.json b/plugins/git-flow/.claude-plugin/plugin.json index 5092f24..921d32c 100644 --- a/plugins/git-flow/.claude-plugin/plugin.json +++ b/plugins/git-flow/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "git-flow", - "version": "1.0.0", + "version": "1.2.0", "description": "Git workflow automation with intelligent commit messages and branch management", "author": { "name": "Leo Miranda", diff --git a/plugins/projman/.claude-plugin/plugin.json b/plugins/projman/.claude-plugin/plugin.json index 00a2339..25153a9 100644 --- a/plugins/projman/.claude-plugin/plugin.json +++ b/plugins/projman/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "projman", - "version": "3.3.0", + "version": "3.4.0", "description": "Sprint planning and project management with Gitea integration", "author": { "name": "Leo Miranda", diff --git a/plugins/projman/hooks/startup-check.sh b/plugins/projman/hooks/startup-check.sh index 8491ce1..2fed56e 100755 --- a/plugins/projman/hooks/startup-check.sh +++ b/plugins/projman/hooks/startup-check.sh @@ -29,17 +29,19 @@ if [[ -f ".env" ]]; then if [[ -n "$GITEA_API_URL" && -n "$GITEA_API_TOKEN" && -n "$GITEA_REPO" ]]; then # Quick check for open issues without milestone (unplanned work) + # Note: grep -c returns 0 on no match but exits non-zero, causing || to also fire + # Use subshell to ensure single value OPEN_ISSUES=$(curl -s -m 5 \ -H "Authorization: token $GITEA_API_TOKEN" \ "${GITEA_API_URL}/repos/${GITEA_REPO}/issues?state=open&milestone=none&limit=1" 2>/dev/null | \ - grep -c '"number"' || echo "0") + grep -c '"number"' 2>/dev/null) || OPEN_ISSUES=0 if [[ "$OPEN_ISSUES" -gt 0 ]]; then # Count total unplanned issues TOTAL_UNPLANNED=$(curl -s -m 5 \ -H "Authorization: token $GITEA_API_TOKEN" \ "${GITEA_API_URL}/repos/${GITEA_REPO}/issues?state=open&milestone=none" 2>/dev/null | \ - grep -c '"number"' || echo "?") + grep -c '"number"' 2>/dev/null) || TOTAL_UNPLANNED="?" echo "$PREFIX ${TOTAL_UNPLANNED} open issues without milestone - consider /sprint-plan" fi fi