{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:basher83/lunar-claude:plugins/infrastructure/ansible-best-practices", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "eef1ea0fdc4539368ef81ddc9ac68389c80a1e57", "treeHash": "c9023a71527b9bb43fa99df4eb2c7dc8197daaaa62431b006bcd78599c5390e3", "generatedAt": "2025-11-28T10:14:11.921713Z", "toolVersion": "publish_plugins.py@0.2.0" }, "origin": { "remote": "git@github.com:zhongweili/42plugin-data.git", "branch": "master", "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" }, "manifest": { "name": "ansible-best-practices", "description": "Ansible playbook refactoring, role development, testing, and best practices with Infisical secrets management", "version": "1.0.0" }, "content": { "files": [ { "path": "README.md", "sha256": "e29716e1fad616884a71aebbba2c77c5948663e492bd1c6989993cc06e6f4d66" }, { "path": ".claude-plugin/plugin.json", "sha256": "3c2b518746bbfbddb923eefef236873a6939cc148b0b41dba91e88a4603dd408" }, { "path": "skills/ansible-best-practices/SKILL.md", "sha256": "c6c05c8d6e3cbad2f377424d7bb7704895f3742c5ae8c6d20d1d7aa20e96196b" }, { "path": "skills/ansible-best-practices/tools/lint-all.sh", "sha256": "5efc687e1fdf9cf3ca461f559f083f009d4028ab6c4fb170ee3325238d285b74" }, { "path": "skills/ansible-best-practices/tools/check_idempotency.py", "sha256": "727d4e35a560d50748f1fea99761a4aa14b9646cbdf978c7ec69ea8d0e73f5ce" }, { "path": "skills/ansible-best-practices/patterns/role-structure-standards.md", "sha256": "fa04e62bf3d59a2d883afaa19749850ef73abd524bad38f5193b281a382b0ffc" }, { "path": "skills/ansible-best-practices/patterns/testing-comprehensive.md", "sha256": "f98bf5b1d0ea916beb1ccf66d89504921f4ca2e9bcf7dda7ffaf90cd61fc0877" }, { "path": "skills/ansible-best-practices/patterns/variable-management-patterns.md", "sha256": "49becbed5312d7294321ce443729ccaf8d609f40b738b15dcc4a4271bb8327d0" }, { "path": "skills/ansible-best-practices/patterns/documentation-templates.md", "sha256": "1131d281cc706853ad06fa8d099dcac7e3658e30299d35019382d60e688b8bd0" }, { "path": "skills/ansible-best-practices/patterns/network-automation.md", "sha256": "17fcb8127b7bf96cf5fd3126492c1abf10258c674080acfb3c8af0c5f0565294" }, { "path": "skills/ansible-best-practices/patterns/playbook-role-patterns.md", "sha256": "0d3bca0260266215405c9e15a7876274b37b1b784a4c79c4c80c78f4215e0c08" }, { "path": "skills/ansible-best-practices/patterns/cluster-automation.md", "sha256": "a1f56c9d94370c70bf0ee0187f798f5bd1bdb15a3ff7a931a621a939b8313f9d" }, { "path": "skills/ansible-best-practices/patterns/error-handling.md", "sha256": "736c82e8410ac02ba18c104ef346b9c44e686d060414332db85ba75fe6e1c0d4" }, { "path": "skills/ansible-best-practices/patterns/ceph-automation.md", "sha256": "89a345ce583d56d0a9bfb54b707c8a074c0bf4dbc0951ecdda77af2f82d72024" }, { "path": "skills/ansible-best-practices/patterns/meta-dependencies.md", "sha256": "676ab77408753af4c477ffacceed202e00b4f8a3d360c68dc1b4a725096ccfc3" }, { "path": "skills/ansible-best-practices/patterns/secrets-management.md", "sha256": "484095a5c627fe89964edd3dddd28ef373be993a4276259ad5f2c1e212d05051" }, { "path": "skills/ansible-best-practices/patterns/handler-best-practices.md", "sha256": "0c58980b793024c84dc1d1573524dd7d04beb97b6ae0127969709f5887317d11" }, { "path": "skills/ansible-best-practices/anti-patterns/common-mistakes.md", "sha256": "07a257980ddd710c1670f4c286bf3fe6cf5ef95c12e603b2c3566364f144d64b" }, { "path": "skills/ansible-best-practices/examples/02-infisical-secrets/docker-deployment.yml", "sha256": "56c24f19770ae371717f7fbfbc1b27ad325b871dc852061260d47c8a3a99964c" }, { "path": "skills/ansible-best-practices/examples/02-infisical-secrets/README.md", "sha256": "c0554e6d3274543cf0b0d29ae4e99465d2f7a3b3dfab01ff9ac14291665823d1" }, { "path": "skills/ansible-best-practices/reference/production-repos.md", "sha256": "d7c0eaa4cd41a77135f7c29291aa4b380c65af87d33f58a81f9192999de8353c" } ], "dirSha256": "c9023a71527b9bb43fa99df4eb2c7dc8197daaaa62431b006bcd78599c5390e3" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }