diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index d9ce0e5..f923c68 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "home-lab-developer-tools", "displayName": "Home Lab Developer Tools", - "version": "0.14.0", + "version": "0.15.1", "description": "Home lab and Raspberry Pi workflows for Cursor, Claude Code, and MCP-compatible editors - 22 skills, 11 rules, and 50 MCP tools for managing Docker Compose stacks, monitoring, DNS, reverse proxy, networking, backups, disaster recovery, security auditing, logs, notifications, OS management, certificates, multi-node, diagnostics, and system administration on a Raspberry Pi home lab via SSH.", "author": { "name": "TMHSDigital", diff --git a/AGENTS.md b/AGENTS.md index e831390..82f2956 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,4 +1,4 @@ - + # AGENTS.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 4817429..0b60236 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.15.1] - 2026-05-22 + +See [release notes](https://github.com/TMHSDigital/Home-Lab-Developer-Tools/releases/tag/v0.15.1) for details. + +## [0.15.0] - 2026-05-22 + +See [release notes](https://github.com/TMHSDigital/Home-Lab-Developer-Tools/releases/tag/v0.15.0) for details. + ## [0.14.0] - 2026-05-22 ### Added diff --git a/CLAUDE.md b/CLAUDE.md index 50ef9a9..15381a8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,4 +1,4 @@ - + # CLAUDE.md @@ -12,7 +12,7 @@ Home Lab Developer Tools integrates home lab and Raspberry Pi workflows into AI- This is a monorepo -- the skills, rules, and companion MCP server live in the same repository. The MCP server connects to a Raspberry Pi via SSH to execute commands. -**Version:** 0.14.0 +**Version:** 0.15.1 **License:** CC-BY-NC-ND-4.0 **npm:** @tmhs/homelab-mcp **Author:** TMHSDigital diff --git a/README.md b/README.md index d917af5..82cc021 100644 --- a/README.md +++ b/README.md @@ -175,14 +175,14 @@ Add to your Cursor MCP config (`.cursor/mcp.json`): |---|---| | `homelab_serviceHealth` | Docker container health status | | `homelab_serviceLogs` | Tail container logs | -| `homelab_serviceRestart` | Restart a container | +| `homelab_serviceRestart` | Restart a container (requires confirm=true) | **Compose** (4) | Tool | What It Does | |---|---| -| `homelab_composeUp` | Start compose stacks (all or specific) | -| `homelab_composeDown` | Stop compose stacks | +| `homelab_composeUp` | Start compose stacks (all or specific) (requires confirm=true) | +| `homelab_composeDown` | Stop compose stacks (requires confirm=true) | | `homelab_composePull` | Pull latest images | | `homelab_composePs` | List running compose containers | @@ -232,6 +232,28 @@ Add to your Cursor MCP config (`.cursor/mcp.json`): | `homelab_openPorts` | Scan listening TCP ports and map to processes | | `homelab_containerScan` | Scan container images for vulnerabilities via Trivy | +**Logs** (2) + +| Tool | What It Does | +|---|---| +| `homelab_journalLogs` | Query systemd journal with unit, priority, and time filters | +| `homelab_logSearch` | Search across container logs with grep patterns | + +**Notifications** (2) + +| Tool | What It Does | +|---|---| +| `homelab_ntfySend` | Send a push notification via Ntfy | +| `homelab_ntfyTopics` | List Ntfy topics and recent messages | + +**Certificates** (3) + +| Tool | What It Does | +|---|---| +| `homelab_certCheck` | Check SSL certificate expiry, issuer, and fingerprint | +| `homelab_certRenew` | Trigger Let's Encrypt certificate renewal (requires confirm=true) | +| `homelab_certList` | List all managed certificates from certbot and NPM | + **OS / Packages** (4) | Tool | What It Does | @@ -369,9 +391,9 @@ Any client supporting MCP stdio transport can use the Home Lab MCP server. Point | **v0.8.0** | **SSL/TLS Certificates** | **+3** | **+1** | **--** | **44** | | **v0.9.0** | **Multi-Node Foundation** | **+4** | **+1** | **+1** | **48** | | **v0.10.0** | **Testing Infrastructure** | **+2** | **--** | **--** | **50** | -| v0.11.0 | Documentation Site | -- | -- | -- | 50 | -| v0.12.0 | Polish and Hardening | +2 | -- | -- | 52 | -| **v1.0.0** | **Stable Release** | -- | -- | -- | **52** | +| **v0.14.0** | **Security Hardening** | **--** | **--** | **--** | **50** | +| v0.15.0 | Documentation Site | -- | -- | -- | 50 | +| v1.0.0 | Stable Release | -- | -- | -- | 50 | See [ROADMAP.md](ROADMAP.md) for detailed per-version tool, skill, and rule breakdowns. diff --git a/mcp-server/package-lock.json b/mcp-server/package-lock.json index 3e1da86..57ea4ea 100644 --- a/mcp-server/package-lock.json +++ b/mcp-server/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "^1.12.1", "ssh2": "^1.16.0", - "zod": "^3.23.0" + "zod": "^4.4.3" }, "bin": { "homelab-mcp": "dist/index.js" @@ -3011,9 +3011,9 @@ "license": "ISC" }, "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/mcp-server/package.json b/mcp-server/package.json index 0413c8c..5ddd1b2 100644 --- a/mcp-server/package.json +++ b/mcp-server/package.json @@ -26,7 +26,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "^1.12.1", "ssh2": "^1.16.0", - "zod": "^3.23.0" + "zod": "^4.4.3" }, "devDependencies": { "@types/node": "^25.9.0", diff --git a/requirements-test.txt b/requirements-test.txt index 24e29be..8213312 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,2 +1,2 @@ -pytest>=8.0.0 +pytest>=9.0.3 pyyaml>=6.0.3 diff --git a/rules/ansible-best-practices.mdc b/rules/ansible-best-practices.mdc index 4245440..589b9bc 100644 --- a/rules/ansible-best-practices.mdc +++ b/rules/ansible-best-practices.mdc @@ -3,7 +3,7 @@ description: Flag Ansible antipatterns including non-FQCN modules, missing tags, alwaysApply: false globs: - "**/ansible/**/*.yml" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Ansible Best Practices diff --git a/rules/backup-coverage.mdc b/rules/backup-coverage.mdc index a875451..80f06c3 100644 --- a/rules/backup-coverage.mdc +++ b/rules/backup-coverage.mdc @@ -4,7 +4,7 @@ alwaysApply: false globs: - "**/compose*.yml" - "**/docker-compose*.yml" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Backup Coverage diff --git a/rules/compose-arm64.mdc b/rules/compose-arm64.mdc index e06f6d8..a1228a1 100644 --- a/rules/compose-arm64.mdc +++ b/rules/compose-arm64.mdc @@ -4,7 +4,7 @@ alwaysApply: false globs: - "**/compose*.yml" - "**/docker-compose*.yml" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Compose ARM64 Compatibility diff --git a/rules/exposed-ports.mdc b/rules/exposed-ports.mdc index db01aca..b112ead 100644 --- a/rules/exposed-ports.mdc +++ b/rules/exposed-ports.mdc @@ -4,7 +4,7 @@ alwaysApply: false globs: - "**/compose*.yml" - "**/docker-compose*.yml" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Exposed Ports diff --git a/rules/homelab-secrets.mdc b/rules/homelab-secrets.mdc index 723d4d5..4be65df 100644 --- a/rules/homelab-secrets.mdc +++ b/rules/homelab-secrets.mdc @@ -1,7 +1,7 @@ --- description: Flag hardcoded credentials, IP addresses, SSH keys, and secrets in home lab code and configuration files. alwaysApply: true -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Home Lab Secrets Detection diff --git a/rules/inventory-consistency.mdc b/rules/inventory-consistency.mdc index 34b1544..57c68b5 100644 --- a/rules/inventory-consistency.mdc +++ b/rules/inventory-consistency.mdc @@ -5,7 +5,7 @@ globs: - "**/hosts" - "**/inventory*" - "**/.env*" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Inventory Consistency diff --git a/rules/privileged-containers.mdc b/rules/privileged-containers.mdc index 6db1a07..4185116 100644 --- a/rules/privileged-containers.mdc +++ b/rules/privileged-containers.mdc @@ -4,7 +4,7 @@ alwaysApply: false globs: - "**/compose*.yml" - "**/docker-compose*.yml" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Privileged Containers diff --git a/rules/resource-limits.mdc b/rules/resource-limits.mdc index c2a3e1a..c5c8ab8 100644 --- a/rules/resource-limits.mdc +++ b/rules/resource-limits.mdc @@ -4,7 +4,7 @@ alwaysApply: false globs: - "**/compose*.yml" - "**/docker-compose*.yml" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Resource Limits diff --git a/rules/ssh-safety.mdc b/rules/ssh-safety.mdc index 508e687..61d2936 100644 --- a/rules/ssh-safety.mdc +++ b/rules/ssh-safety.mdc @@ -1,7 +1,7 @@ --- description: Flag dangerous SSH commands that could cause data loss or system damage on the Raspberry Pi. alwaysApply: true -standards-version: 1.9.0 +standards-version: 1.10.0 --- # SSH Command Safety diff --git a/rules/weak-credentials.mdc b/rules/weak-credentials.mdc index b1b911a..d2ae39c 100644 --- a/rules/weak-credentials.mdc +++ b/rules/weak-credentials.mdc @@ -5,7 +5,7 @@ globs: - "**/compose*.yml" - "**/docker-compose*.yml" - "**/.env*" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Weak Credentials diff --git a/rules/yaml-conventions.mdc b/rules/yaml-conventions.mdc index ba4d0b3..8511ba9 100644 --- a/rules/yaml-conventions.mdc +++ b/rules/yaml-conventions.mdc @@ -4,7 +4,7 @@ alwaysApply: false globs: - "**/*.yml" - "**/*.yaml" -standards-version: 1.9.0 +standards-version: 1.10.0 --- # YAML Conventions diff --git a/skills/alerting-rules/SKILL.md b/skills/alerting-rules/SKILL.md index 14dc68b..2e52627 100644 --- a/skills/alerting-rules/SKILL.md +++ b/skills/alerting-rules/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_alertList - homelab_prometheusQuery - homelab_ntfySend -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Alerting Rules diff --git a/skills/ansible-workflows/SKILL.md b/skills/ansible-workflows/SKILL.md index c1da29b..ae53980 100644 --- a/skills/ansible-workflows/SKILL.md +++ b/skills/ansible-workflows/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_inventorySync - homelab_nodeList - homelab_nodeExec -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Ansible Workflows diff --git a/skills/backup-recovery/SKILL.md b/skills/backup-recovery/SKILL.md index b273316..ed53113 100644 --- a/skills/backup-recovery/SKILL.md +++ b/skills/backup-recovery/SKILL.md @@ -6,7 +6,7 @@ tools: - homelab_backupRun - homelab_backupList - homelab_backupDiff -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Backup and Recovery diff --git a/skills/certificate-management/SKILL.md b/skills/certificate-management/SKILL.md index 4471ad5..1acd66c 100644 --- a/skills/certificate-management/SKILL.md +++ b/skills/certificate-management/SKILL.md @@ -6,7 +6,7 @@ tools: - homelab_certRenew - homelab_certList - homelab_npmCerts -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Certificate Management diff --git a/skills/disaster-recovery/SKILL.md b/skills/disaster-recovery/SKILL.md index 512c6c5..e9f27a3 100644 --- a/skills/disaster-recovery/SKILL.md +++ b/skills/disaster-recovery/SKILL.md @@ -8,7 +8,7 @@ tools: - homelab_volumeBackup - homelab_backupStatus - homelab_backupRun -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Disaster Recovery diff --git a/skills/dns-management/SKILL.md b/skills/dns-management/SKILL.md index d029e51..0962756 100644 --- a/skills/dns-management/SKILL.md +++ b/skills/dns-management/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_adguardStats - homelab_adguardFilters - homelab_adguardQueryLog -standards-version: 1.9.0 +standards-version: 1.10.0 --- # DNS Management diff --git a/skills/docker-compose-stacks/SKILL.md b/skills/docker-compose-stacks/SKILL.md index 13bb2a4..3d29d45 100644 --- a/skills/docker-compose-stacks/SKILL.md +++ b/skills/docker-compose-stacks/SKILL.md @@ -6,7 +6,7 @@ tools: - homelab_composeDown - homelab_composePull - homelab_composePs -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Docker Compose Stacks diff --git a/skills/grafana-dashboards/SKILL.md b/skills/grafana-dashboards/SKILL.md index b87867f..6ec5b95 100644 --- a/skills/grafana-dashboards/SKILL.md +++ b/skills/grafana-dashboards/SKILL.md @@ -4,7 +4,7 @@ description: Create, import, export, and manage Grafana dashboards for home lab tools: - homelab_grafanaSnapshot - homelab_prometheusQuery -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Grafana Dashboards diff --git a/skills/log-analysis/SKILL.md b/skills/log-analysis/SKILL.md index e53df3b..71410c8 100644 --- a/skills/log-analysis/SKILL.md +++ b/skills/log-analysis/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_journalLogs - homelab_logSearch - homelab_serviceLogs -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Log Analysis diff --git a/skills/multi-node-management/SKILL.md b/skills/multi-node-management/SKILL.md index 644845c..bd17f57 100644 --- a/skills/multi-node-management/SKILL.md +++ b/skills/multi-node-management/SKILL.md @@ -6,7 +6,7 @@ tools: - homelab_nodeExec - homelab_nodeStatus - homelab_inventorySync -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Multi-Node Management diff --git a/skills/network-configuration/SKILL.md b/skills/network-configuration/SKILL.md index 7e4083c..ffe5974 100644 --- a/skills/network-configuration/SKILL.md +++ b/skills/network-configuration/SKILL.md @@ -6,7 +6,7 @@ tools: - homelab_adguardStats - homelab_npmProxyHosts - homelab_openPorts -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Network Configuration diff --git a/skills/notification-workflows/SKILL.md b/skills/notification-workflows/SKILL.md index a4419a9..6ab21c9 100644 --- a/skills/notification-workflows/SKILL.md +++ b/skills/notification-workflows/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_ntfySend - homelab_ntfyTopics - homelab_alertList -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Notification Workflows diff --git a/skills/os-update-management/SKILL.md b/skills/os-update-management/SKILL.md index 78b379b..e073867 100644 --- a/skills/os-update-management/SKILL.md +++ b/skills/os-update-management/SKILL.md @@ -7,7 +7,7 @@ tools: - homelab_aptHistory - homelab_kernelInfo - homelab_systemdServices -standards-version: 1.9.0 +standards-version: 1.10.0 --- # OS Update Management diff --git a/skills/performance-tuning/SKILL.md b/skills/performance-tuning/SKILL.md index 3c530e3..c441b0b 100644 --- a/skills/performance-tuning/SKILL.md +++ b/skills/performance-tuning/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_kernelInfo - homelab_piStatus - homelab_systemdServices -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Performance Tuning diff --git a/skills/pi-system-management/SKILL.md b/skills/pi-system-management/SKILL.md index 12cd401..914b7ba 100644 --- a/skills/pi-system-management/SKILL.md +++ b/skills/pi-system-management/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_piStatus - homelab_piReboot - homelab_diskUsage -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Pi System Management diff --git a/skills/reverse-proxy-management/SKILL.md b/skills/reverse-proxy-management/SKILL.md index 998b0ab..0b56d3d 100644 --- a/skills/reverse-proxy-management/SKILL.md +++ b/skills/reverse-proxy-management/SKILL.md @@ -5,7 +5,7 @@ tools: - homelab_npmProxyHosts - homelab_npmCerts - homelab_certCheck -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Reverse Proxy Management diff --git a/skills/secrets-management/SKILL.md b/skills/secrets-management/SKILL.md index ce62eb8..443a381 100644 --- a/skills/secrets-management/SKILL.md +++ b/skills/secrets-management/SKILL.md @@ -6,7 +6,7 @@ tools: - homelab_ufwStatus - homelab_fail2banStatus - homelab_openPorts -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Secrets Management diff --git a/skills/security-hardening/SKILL.md b/skills/security-hardening/SKILL.md index 3a8c57e..e9c8cc9 100644 --- a/skills/security-hardening/SKILL.md +++ b/skills/security-hardening/SKILL.md @@ -6,7 +6,7 @@ tools: - homelab_fail2banStatus - homelab_openPorts - homelab_containerScan -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Security Hardening diff --git a/skills/service-monitoring/SKILL.md b/skills/service-monitoring/SKILL.md index 84ed56e..c1ad7e2 100644 --- a/skills/service-monitoring/SKILL.md +++ b/skills/service-monitoring/SKILL.md @@ -7,7 +7,7 @@ tools: - homelab_serviceRestart - homelab_prometheusQuery - homelab_uptimeKumaStatus -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Service Monitoring diff --git a/skills/ssh-management/SKILL.md b/skills/ssh-management/SKILL.md index 383a461..cfc8dc2 100644 --- a/skills/ssh-management/SKILL.md +++ b/skills/ssh-management/SKILL.md @@ -3,7 +3,7 @@ name: ssh-management description: Manage SSH keys, harden SSH configuration, set up tunnels, and troubleshoot connection issues. tools: - homelab_sshTest -standards-version: 1.9.0 +standards-version: 1.10.0 --- # SSH Management diff --git a/skills/storage-management/SKILL.md b/skills/storage-management/SKILL.md index b15c9ae..c36698a 100644 --- a/skills/storage-management/SKILL.md +++ b/skills/storage-management/SKILL.md @@ -4,7 +4,7 @@ description: Manage Samba shares, Syncthing file sync, Docker volumes, and disk tools: - homelab_diskUsage - homelab_volumeBackup -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Storage Management diff --git a/skills/troubleshooting/SKILL.md b/skills/troubleshooting/SKILL.md index d0e730f..796525f 100644 --- a/skills/troubleshooting/SKILL.md +++ b/skills/troubleshooting/SKILL.md @@ -9,7 +9,7 @@ tools: - homelab_logSearch - homelab_healthCheck - homelab_diagnostics -standards-version: 1.9.0 +standards-version: 1.10.0 --- # Troubleshooting