Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:00:18 +08:00
commit 765529cd13
69 changed files with 18291 additions and 0 deletions

305
plugin.lock.json Normal file
View File

@@ -0,0 +1,305 @@
{
"$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": []
}
}