{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:basher83/lunar-claude:plugins/devops/python-tools", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "11d9ecfb1ddf201c7123dae21e282738dc62376b", "treeHash": "615eb4886cac28c4065441216bbe4e12a7a578663b1676c5e74eda947033bb39", "generatedAt": "2025-11-28T10:14:12.499982Z", "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": "python-tools", "description": "Comprehensive Python development toolkit covering scripting (uv), code quality (ruff/pyright), and common patterns (JSON parsing)", "version": "1.0.0" }, "content": { "files": [ { "path": "README.md", "sha256": "ba2ee420552e3a63b97c46154655d69edfdbbc1569986ccd9db50bb52cbb4c51" }, { "path": "agents/agent-sdk-verifier.md", "sha256": "e6d55a9c6c550c0b4256f2d665cd401cc9c0d3dab6cf10751357eacf24cf72a7" }, { "path": ".claude-plugin/plugin.json", "sha256": "a6d68d84532da2ddff8281820a26918d7c02c3307028228ac34f5d425498d89a" }, { "path": "commands/review-sdk-app.md", "sha256": "2004215a97500ca6a401f731c8a9af7cc69bc5574f4b60c24ba9ee4d3f9980ab" }, { "path": "commands/new-sdk-app.md", "sha256": "18dd8a44046084819ad332b5d4b19ad6ee4ef73ff7950a5516da1fd3df0eb53f" }, { "path": "skills/python-code-quality/SKILL.md", "sha256": "51cf9f60e619c0f3e0155e1a2736fd59249ac65b4b89a980dd8edc4e324eeb60" }, { "path": "skills/python-code-quality/tools/python_ruff_checker.py", "sha256": "351666e095ca5e19d644c188b3ede49544e4e5dd6c02aedb1dade66a43acc8a2" }, { "path": "skills/python-code-quality/tools/python_formatter.py", "sha256": "4c8b9753aee96880c6339af16b73e0b5aa1cbe41cb6cbfa21865f8b70b1678cb" }, { "path": "skills/python-code-quality/patterns/ci-cd-quality-gates.md", "sha256": "0b69db1ce925a26c2092c732445ffc2153ecbfd0b09fd3155bafc31050758742" }, { "path": "skills/python-code-quality/patterns/pre-commit-integration.md", "sha256": "426316b54cb2d4977e2329fdd54b392bfbef2f067eb4246a645f1d06dea48938" }, { "path": "skills/python-code-quality/examples/ruff-minimal.toml", "sha256": "5958ecc66ffcc4a7792e9453b06b72debb13a71e596ba307aa2c4df23fb749ed" }, { "path": "skills/python-code-quality/examples/ruff-comprehensive.toml", "sha256": "6fd330ca6ebd4c4bcf01d206df5540bdd41ebe0bef43276dbfb42a9c6a13f4d9" }, { "path": "skills/python-code-quality/examples/pyrightconfig-strict.json", "sha256": "66ef73d95b58b7a0b5d7c44976957ea077d3623869dcaaf37e0a738ad949c2e1" }, { "path": "skills/python-code-quality/examples/pyrightconfig-starter.json", "sha256": "f2458fd5f97f091b1386fd676835eb3f3ad3fa0c6070ba153b78f03434b85503" }, { "path": "skills/python-code-quality/reference/ruff-formatting-settings.md", "sha256": "7471e21219426e96fccdcda9d923ba04349e617ba833e70e595c835e82118c3b" }, { "path": "skills/python-code-quality/reference/ruff-linting-settings.md", "sha256": "d8836697aab74b1a3c10e2e1fdcd6ca2b5390c415781a61a5a920a8a3d8bc032" }, { "path": "skills/python-code-quality/reference/ruff-configuration.md", "sha256": "a8a8046395df4211adefe3b730074c4a934eafe45b5e024dd05a6f0eb864e69e" }, { "path": "skills/python-code-quality/reference/pyright-configuration.md", "sha256": "35d577110e9635b2930dfc29148c50e0707a492f7706dc5fdba0338dcd2da327" }, { "path": "skills/claude-agent-sdk/SKILL.md", "sha256": "90fc4cdd83cea3f267ff7b3ad669344ce4896e3eaa9ac0e5db81c7e6993710ca" }, { "path": "skills/claude-agent-sdk/references/slash-commands.md", "sha256": "e64c07ced6e78f3db87544b2b2823036e740700d7146208f04c91742d34a9863" }, { "path": "skills/claude-agent-sdk/references/best-practices.md", "sha256": "b712ad1aac0244a5edb868b50eb25ea7f735e948195eb2eadd91055e4d60ae06" }, { "path": "skills/claude-agent-sdk/references/agent-patterns.md", "sha256": "b1d2728e6d2fef03b737c0f815cb3aa886cad81b33c744e0072797a7631cafa6" }, { "path": "skills/claude-agent-sdk/references/hooks-guide.md", "sha256": "9a4aa0a3333a0ba03d4daa0502b45f9511f12b8aaf8bcbdf439bfd4ba0042f53" }, { "path": "skills/claude-agent-sdk/references/tool-permissions.md", "sha256": "8b0012bda45877ec3f39526d190fdd9b0977206da54e14f85b8f64f82065005a" }, { "path": "skills/claude-agent-sdk/references/subagents.md", "sha256": "96c25ebeb629bbc1785c9e0a6675a565255842c4f52c6a0c054a079e9a94778f" }, { "path": "skills/claude-agent-sdk/references/skills.md", "sha256": "d8e5e5f201d81ff4048bf24ec15221f896ee1b7cd039b5ad87b27f547fc0b7e3" }, { "path": "skills/claude-agent-sdk/references/custom-tools.md", "sha256": "53a59bf9d8aa5b6d306baa44ffa047fea045e7bc4b957d210a04fe32ed346b89" }, { "path": "skills/claude-agent-sdk/references/sessions.md", "sha256": "09555d26bf55e34551978c00d2841d620939bb5060f71151508fa2c6fa8a3cac" }, { "path": "skills/claude-agent-sdk/references/api-reference.md", "sha256": "1fcf83d91988e1b78447d402ca3d5a0e426dccc9cfc053cee86904723bb398db" }, { "path": "skills/claude-agent-sdk/references/system-prompts.md", "sha256": "d42b18f7582770cc67cb7523f8afc2db4470acde9192cc97d601d0bd01b919ed" }, { "path": "skills/claude-agent-sdk/examples/setting_sources.py", "sha256": "94d9c9b8856d60d91b2972ca06c3570aae00c9d45a55f0c78d586043fad79c74" }, { "path": "skills/claude-agent-sdk/examples/mcp_calculator.py", "sha256": "444df6810e8fcbb1a092601737723f7ebf6ea4de4ff5f1e6b94576ed864c4968" }, { "path": "skills/claude-agent-sdk/examples/hooks.py", "sha256": "de7d454a698d4f1e59e01ff13bfb18625e16091e3a639066e35ee5bbd7caa5d5" }, { "path": "skills/claude-agent-sdk/examples/quick_start.py", "sha256": "50671f3d23e583322815b35392740d71b33d5d8d81fb9b5646a5f8263160b973" }, { "path": "skills/claude-agent-sdk/examples/system_prompt.py", "sha256": "17cf2544af9d700694011dc585c85ca413f426476016d54ba9b539e3eee1e458" }, { "path": "skills/claude-agent-sdk/examples/agents.py", "sha256": "e6f026be8c386f86eee740d23ae27e86851d872de09b27c1fce14ccff685668e" }, { "path": "skills/claude-agent-sdk/examples/plugin_example.py", "sha256": "fc7fcbe59d2b80baf27f7c54f0cd380157fc65fe891b4ead67aa73ea0eee39a3" }, { "path": "skills/claude-agent-sdk/examples/basic-orchestrator.py", "sha256": "9377a88c9ab6f07b986e917a6f1cf1757865bcfda57840bb3752bab5dd06dd76" }, { "path": "skills/claude-agent-sdk/examples/tool_permission_callback.py", "sha256": "33355dd11bd6cce4860220d897b79da1993f280634684ffb870eb4cf0fc1d1dd" }, { "path": "skills/claude-agent-sdk/examples/streaming_mode.py", "sha256": "c0765c7665ccd4dd502691a95ff6710b61057e852eae092ab5cc6dd57d112cea" }, { "path": "skills/claude-agent-sdk/assets/sdk-template.py", "sha256": "f37fabd2726d968e9201487b99299be335adb1bf5789b11bc6db94dfd4064f98" }, { "path": "skills/claude-agent-sdk/assets/sdk-validation-checklist.md", "sha256": "5fc3c81b0d5a096cd910238e38d4465723e70fc8439af624bb30602fcd9cdbac" }, { "path": "skills/python-uv-scripts/SKILL.md", "sha256": "c6b804178b49ebecd5ab6710d6d20889b55df19c484bf24c1dc481d80c97233c" }, { "path": "skills/python-uv-scripts/tools/validate_script.py", "sha256": "79c83d1931a7ef18e13bf732462402dc4cb25caacbcfab4daa3242d89ea46790" }, { "path": "skills/python-uv-scripts/tools/convert_to_uv.py", "sha256": "53fa5f4a5d857260cd3090e3faaa64e9ce1af0ba1eecb7e649ce54cca591b2a1" }, { "path": "skills/python-uv-scripts/patterns/api-clients.md", "sha256": "f85d943f2da6e501655dca8b27431d98dd11392a62a40e443403120a2f6c6742" }, { "path": "skills/python-uv-scripts/patterns/data-processing.md", "sha256": "0ceebdf6844c45b1a6f79006f8974b308bcf052775bf4e0864c831d3b3c90656" }, { "path": "skills/python-uv-scripts/patterns/cli-applications.md", "sha256": "5438d0f1865ecaf6fce45e0df3a05c4ce8bc3d63d313b44b3b73981b7d1a3076" }, { "path": "skills/python-uv-scripts/patterns/security-patterns.md", "sha256": "c5a69109c85ed5fed02610fbc95618f9f625b1b00cc16c7d5e6a0c0134d54ca4" }, { "path": "skills/python-uv-scripts/patterns/error-handling.md", "sha256": "09227d605daa70631eda9ca4e688c7a54a396054afa2d137f09c3fd921a2f0dc" }, { "path": "skills/python-uv-scripts/patterns/system-automation.md", "sha256": "6f8c8f3da5feb9aa7b7fbc1ee9377464f9e7d5ab97ad2ddbea1fe11c12d3226f" }, { "path": "skills/python-uv-scripts/anti-patterns/common-mistakes.md", "sha256": "7eddb4e883b7648be8b49d26271dd5f1e4fd31342c4d44ab10d164b03e2b6b86" }, { "path": "skills/python-uv-scripts/anti-patterns/when-not-to-use.md", "sha256": "3cd6aef95e811a97aa840b1f31e7deb4051ce8f1a8d1c0b7868b8d38b6b2d4ea" }, { "path": "skills/python-uv-scripts/workflows/ci-cd-integration.md", "sha256": "9fcfdcfa640878493e004e2325788be956409033b5b92886dcbc1a3f13cb1a96" }, { "path": "skills/python-uv-scripts/workflows/team-adoption.md", "sha256": "c8450682922edf11cba92b379d6d638ac0678368b4026fcbf27db9c606811add" }, { "path": "skills/python-uv-scripts/workflows/testing-strategies.md", "sha256": "1973bf32d32eab67b3b2329314e7de888559149cf6cd59db316259f3ba64aac2" }, { "path": "skills/python-uv-scripts/examples/04-api-clients/netbox_client.py", "sha256": "a78cd68ac926d992e0a8140eb9f68511c6201caff4d8c6ddc3f83083ded5c96a" }, { "path": "skills/python-uv-scripts/examples/03-production-ready/check_cluster_health_enhanced.py", "sha256": "24d4a993f889f346bd29f6359b23a23c238114333d8330e58faa1c806884bdb4" }, { "path": "skills/python-uv-scripts/assets/templates/basic-script.py", "sha256": "269a78e8544fb38a0eab4d5a0cc5e6bcbd9231886fb75f47d9b27b73572db2a7" }, { "path": "skills/python-uv-scripts/assets/templates/cli-app.py", "sha256": "8dcdf56c9de3ec508b79fcdf5bfa22a28944c67edaf784ec4854d7eb751e0927" }, { "path": "skills/python-uv-scripts/assets/templates/data-processor.py", "sha256": "dc71ea76464971c3cafa094d4353fe84037be284144c51766d612ca8edf8b82f" }, { "path": "skills/python-uv-scripts/assets/templates/api-client.py", "sha256": "66df4e1205a5a319f543a09c558c1d6ffa5c5c0c91f8a617476730cd7a9f62ea" }, { "path": "skills/python-uv-scripts/reference/bash-to-python.md", "sha256": "0660847c66e2ec2f5fa5846eae5f36d48a6ddb8e815b35f15641ca9a34e38236" }, { "path": "skills/python-uv-scripts/reference/dependency-management.md", "sha256": "ee3707b8129acfc14e198396f4a2e9b0baa353df4bb93eda9dfcbe018d61dfed" }, { "path": "skills/python-uv-scripts/reference/security-patterns.md", "sha256": "a351428b18cc3d335e3224c83ca5362f846f4dcd0ab316cd671e60867afd23ae" }, { "path": "skills/python-uv-scripts/reference/pep-723-spec.md", "sha256": "104163f5053aaf9a965474fd04cb673f5d97eb5ea2bc7a13935213bc39f9c569" }, { "path": "skills/python-json-parsing/SKILL.md", "sha256": "5fd634250635fe88ac46e80c372b2d0627b1bf0eb17f2914f45804eb670e00b3" }, { "path": "skills/python-json-parsing/reference/python-json-parsing-best-practices-2025.md", "sha256": "08b9dc521a91b4f098b51edc4e31c4efd04f12d380edbbaf2eb2233df2a14826" } ], "dirSha256": "615eb4886cac28c4065441216bbe4e12a7a578663b1676c5e74eda947033bb39" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }