From 93b073ecfd109bf161db5a99f09d9339a2228a8e Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sat, 29 Nov 2025 18:02:23 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 12 ++++++++++ README.md | 3 +++ hooks/hooks.json | 29 ++++++++++++++++++++++++ plugin.lock.json | 45 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 hooks/hooks.json create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..5e4d42a --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "sobelow", + "description": "Sobelow security-focused static analysis for Phoenix and Elixir projects", + "version": "1.0.1", + "author": { + "name": "Bradley Golden", + "url": "https://github.com/bradleygolden" + }, + "hooks": [ + "./hooks" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..cfc2ba7 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# sobelow + +Sobelow security-focused static analysis for Phoenix and Elixir projects diff --git a/hooks/hooks.json b/hooks/hooks.json new file mode 100644 index 0000000..1513bfe --- /dev/null +++ b/hooks/hooks.json @@ -0,0 +1,29 @@ +{ + "description": "Sobelow security analysis with context-aware feedback", + "hooks": { + "PostToolUse": [ + { + "matcher": "Edit|Write|MultiEdit", + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/post-edit-check.sh", + "timeout": 30 + } + ] + } + ], + "PreToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/pre-commit-check.sh", + "timeout": 30 + } + ] + } + ] + } +} diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..9fcb332 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:bradleygolden/claude-marketplace-elixir:plugins/sobelow", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "22f15eb428dd1e661150f1fb8ea7bc38166f3ad1", + "treeHash": "56f1f47d85ef5b87bd794523c93ed0b41ff01f56200ee294579105bc91d61bff", + "generatedAt": "2025-11-28T10:14:22.826142Z", + "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": "sobelow", + "description": "Sobelow security-focused static analysis for Phoenix and Elixir projects", + "version": "1.0.1" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "9b1665347a85bb0eec6c1d651a71b25c90efd488ef5223f84e8f553b98e786ad" + }, + { + "path": "hooks/hooks.json", + "sha256": "bedfe6d6d64ca67260a9bba3dde2e0b0df35506ab15cbb93a52447fdae675c00" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "6af4a399d4e4801bb5ababc465ac15702491815ea6cf6120b9aa92c07637f959" + } + ], + "dirSha256": "56f1f47d85ef5b87bd794523c93ed0b41ff01f56200ee294579105bc91d61bff" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file