{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:jeremylongshore/claude-code-plugins-plus:plugins/api-development/api-rate-limiter", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "9e134796cd3834b2c114ba429138d321313b9463", "treeHash": "4681c74fc68708fab3d65366e96ee8ff7588529d1cd66814f0ee3339dba71ed4", "generatedAt": "2025-11-28T10:18:07.744614Z", "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": "api-rate-limiter", "description": "Implement rate limiting with token bucket, sliding window, and Redis", "version": "1.0.0" }, "content": { "files": [ { "path": "README.md", "sha256": "ae54372002bde47e0fd42713f359d7f7451fff30362506befbf714360119c1b5" }, { "path": ".claude-plugin/plugin.json", "sha256": "b43868c03b7d1ab25aec8e57da55ddbf19cbd1dcabc512268cbffae9add186e3" }, { "path": "commands/add-rate-limiting.md", "sha256": "5d5eac511d4c1c824706cf9eab197b1c2207112981dd5269dc0f01c257e3a1d3" }, { "path": "skills/skill-adapter/references/examples.md", "sha256": "922bbc3c4ebf38b76f515b5c1998ebde6bf902233e00e2c5a0e9176f975a7572" }, { "path": "skills/skill-adapter/references/best-practices.md", "sha256": "c8f32b3566252f50daacd346d7045a1060c718ef5cfb07c55a0f2dec5f1fb39e" }, { "path": "skills/skill-adapter/references/README.md", "sha256": "4ba21318cbcdc1e9837ad8373070e2fd0ff89dc64eebe7a0768cecc3134035a0" }, { "path": "skills/skill-adapter/scripts/helper-template.sh", "sha256": "0881d5660a8a7045550d09ae0acc15642c24b70de6f08808120f47f86ccdf077" }, { "path": "skills/skill-adapter/scripts/validation.sh", "sha256": "92551a29a7f512d2036e4f1fb46c2a3dc6bff0f7dde4a9f699533e446db48502" }, { "path": "skills/skill-adapter/scripts/README.md", "sha256": "778710b170fef62572e60d76c04c0c7f11ff40a9a4b9e405bf98caa6814d0cc1" }, { "path": "skills/skill-adapter/assets/test-data.json", "sha256": "ac17dca3d6e253a5f39f2a2f1b388e5146043756b05d9ce7ac53a0042eee139d" }, { "path": "skills/skill-adapter/assets/README.md", "sha256": "629f15d82e15a8d4fd1c36d891be86fec282dce472da17b02675c726ed7f379f" }, { "path": "skills/skill-adapter/assets/rate_limit_template.conf", "sha256": "700c91a873be9af28b4c39c495e6343f9b6bd642aeac445b42e3e66b3784eff8" }, { "path": "skills/skill-adapter/assets/skill-schema.json", "sha256": "f5639ba823a24c9ac4fb21444c0717b7aefde1a4993682897f5bf544f863c2cd" }, { "path": "skills/skill-adapter/assets/error_message_template.json", "sha256": "2b9146ce11359adafbc33ecc071cfd813ec48aa7b5b8e0e4c6ab5016d1cdb3aa" }, { "path": "skills/skill-adapter/assets/config-template.json", "sha256": "0c2ba33d2d3c5ccb266c0848fc43caa68a2aa6a80ff315d4b378352711f83e1c" } ], "dirSha256": "4681c74fc68708fab3d65366e96ee8ff7588529d1cd66814f0ee3339dba71ed4" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }