12 Commits

Author SHA1 Message Date
59cc67f857 Merge pull request 'development' (#311) from development into main
Reviewed-on: #311
2026-01-29 03:03:54 +00:00
6e9b703151 Merge pull request 'chore: release v5.4.0' (#310) from chore/release-v5.4.0 into development
Reviewed-on: #310
2026-01-29 03:02:36 +00:00
b603743811 chore: release v5.4.0
- CHANGELOG.md: [Unreleased] → [5.4.0] - 2026-01-28
- README.md: title → v5.4.0
- marketplace.json: version → 5.4.0
- CLAUDE.md: version → 5.4.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:00:58 -05:00
6613ef1d67 Merge pull request 'development' (#301) from development into main
Reviewed-on: #301
2026-01-29 02:26:42 +00:00
6619d0a2fb Merge pull request 'development' (#299) from development into main
Reviewed-on: #299
2026-01-29 02:19:11 +00:00
dc08ce1439 Merge pull request 'development' (#293) from development into main
Reviewed-on: #293
2026-01-29 01:42:49 +00:00
2173f3389a Merge pull request 'development' (#289) from development into main
Reviewed-on: #289
2026-01-28 22:49:18 +00:00
fab1345bcb Merge pull request 'development' (#286) from development into main
Reviewed-on: #286
2026-01-28 22:41:07 +00:00
36e6ac2dd0 Merge pull request 'development' (#283) from development into main
Reviewed-on: #283
2026-01-28 21:48:57 +00:00
3e0e779803 Merge pull request 'development' (#280) from development into main
Reviewed-on: #280
2026-01-28 20:37:52 +00:00
74198743ab Merge pull request 'development' (#271) from development into main
Reviewed-on: #271
2026-01-28 19:27:45 +00:00
d57bff184e Merge pull request 'development' (#265) from development into main
Reviewed-on: #265
2026-01-28 18:45:38 +00:00
5 changed files with 38 additions and 25 deletions

View File

@@ -6,7 +6,7 @@
}, },
"metadata": { "metadata": {
"description": "Project management plugins with Gitea and NetBox integrations", "description": "Project management plugins with Gitea and NetBox integrations",
"version": "5.3.0" "version": "5.4.0"
}, },
"plugins": [ "plugins": [
{ {

View File

@@ -4,7 +4,7 @@ All notable changes to the Leo Claude Marketplace will be documented in this fil
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased] ## [5.4.0] - 2026-01-28
### Added ### Added

View File

@@ -46,7 +46,7 @@ Run `./scripts/verify-hooks.sh`. If changes affect MCP servers or hooks, inform
## Project Overview ## Project Overview
**Repository:** leo-claude-mktplace **Repository:** leo-claude-mktplace
**Version:** 5.3.0 **Version:** 5.4.0
**Status:** Production Ready **Status:** Production Ready
A plugin marketplace for Claude Code containing: A plugin marketplace for Claude Code containing:

View File

@@ -1,4 +1,4 @@
# Leo Claude Marketplace - v5.3.0 # Leo Claude Marketplace - v5.4.0
A collection of Claude Code plugins for project management, infrastructure automation, and development workflows. A collection of Claude Code plugins for project management, infrastructure automation, and development workflows.

View File

@@ -1,12 +1,11 @@
#!/bin/bash #!/bin/bash
# doc-guardian notification hook # doc-guardian notification hook
# Tracks documentation dependencies and queues updates # Tracks documentation dependencies and queues updates
# This is a command hook - guaranteed not to block workflow
# #
# SILENT BY DEFAULT - No output to avoid interrupting Claude's workflow. # IMPORTANT: Output is purely informational - uses passive language
# Changes are queued to .doc-guardian-queue for later processing. # to avoid triggering Claude to seek user confirmation.
# Run /doc-sync or /doc-audit to see and process pending updates. # Run /doc-sync to process the queue when ready.
#
# Set DOC_GUARDIAN_VERBOSE=1 to enable notification output.
# Read tool input from stdin (JSON with file_path) # Read tool input from stdin (JSON with file_path)
INPUT=$(cat) INPUT=$(cat)
@@ -49,26 +48,40 @@ DEPENDENT_DOCS="${DOC_DEPS[$MODIFIED_TYPE]}"
# Queue file for tracking pending updates # Queue file for tracking pending updates
QUEUE_FILE="${CLAUDE_PROJECT_ROOT:-.}/.doc-guardian-queue" QUEUE_FILE="${CLAUDE_PROJECT_ROOT:-.}/.doc-guardian-queue"
# Add to queue (always, for deduplication we check file+type combo) # Debounce: skip notification if same type was logged in last 5 seconds
# Format: timestamp | type | file_path | dependent_docs # This prevents 4+ rapid notifications during batch edits
QUEUE_ENTRY="$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS" DEBOUNCE_SECONDS=5
# Check if this exact file+type combo already exists in queue (dedup)
if [ -f "$QUEUE_FILE" ]; then if [ -f "$QUEUE_FILE" ]; then
if grep -qF "| $MODIFIED_TYPE | $FILE_PATH |" "$QUEUE_FILE" 2>/dev/null; then LAST_ENTRY=$(tail -1 "$QUEUE_FILE" 2>/dev/null || true)
# Already queued, skip silently LAST_TYPE=$(echo "$LAST_ENTRY" | cut -d'|' -f2 | tr -d ' ')
exit 0 LAST_TIME=$(echo "$LAST_ENTRY" | cut -d'|' -f1 | tr -d ' ')
if [ "$LAST_TYPE" = "$MODIFIED_TYPE" ] && [ -n "$LAST_TIME" ]; then
# Convert timestamps to seconds for comparison
LAST_EPOCH=$(date -d "$LAST_TIME" +%s 2>/dev/null || echo "0")
NOW_EPOCH=$(date +%s)
DIFF=$((NOW_EPOCH - LAST_EPOCH))
if [ "$DIFF" -lt "$DEBOUNCE_SECONDS" ]; then
# Still add to queue, but skip notification
{
echo "$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS"
} >> "$QUEUE_FILE" 2>/dev/null || true
exit 0
fi
fi fi
fi fi
# Add to queue # Add to queue (create if doesn't exist, append if does)
echo "$QUEUE_ENTRY" >> "$QUEUE_FILE" 2>/dev/null || true {
echo "$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS"
} >> "$QUEUE_FILE" 2>/dev/null || true
# SILENT by default - only output if DOC_GUARDIAN_VERBOSE is set # Count pending updates
# This prevents Claude from stopping to ask about documentation updates PENDING_COUNT=$(wc -l < "$QUEUE_FILE" 2>/dev/null | tr -d ' ' || echo "1")
if [ "${DOC_GUARDIAN_VERBOSE:-0}" = "1" ]; then
PENDING_COUNT=$(wc -l < "$QUEUE_FILE" 2>/dev/null | tr -d ' ' || echo "1") # Output passive notification (no action implied)
echo "[doc-guardian] queued: $MODIFIED_TYPE ($PENDING_COUNT pending)" # Uses "queued" instead of "update needed" to avoid triggering Claude to ask about it
fi echo "[doc-guardian] drift queued: $MODIFIED_TYPE$DEPENDENT_DOCS ($PENDING_COUNT total)"
exit 0 exit 0