From ad78f252d1ebda7ec993109a246bfecf03fda36c Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sat, 29 Nov 2025 17:57:42 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 13 +++++++++++ README.md | 3 +++ hooks/hooks.json | 31 ++++++++++++++++++++++++++ plugin.lock.json | 45 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 92 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..4dff114 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,13 @@ +{ + "name": "git-workflow-hooks", + "description": "git-workflow automation hooks for development workflow", + "version": "3.0.0", + "author": { + "name": "Ossie Irondi", + "email": "admin@kamdental.com", + "url": "https://github.com/AojdevStudio" + }, + "hooks": [ + "./hooks/hooks.json" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..eba0ad5 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# git-workflow-hooks + +git-workflow automation hooks for development workflow diff --git a/hooks/hooks.json b/hooks/hooks.json new file mode 100644 index 0000000..d494b01 --- /dev/null +++ b/hooks/hooks.json @@ -0,0 +1,31 @@ +{ + "hooks": { + "PostToolUse": [ + { + "matcher": "Bash.*git commit", + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/commit-message-validator.py", + "description": "Validate commit messages" + }, + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/auto-changelog-updater.py", + "description": "Update changelog automatically" + } + ] + }, + { + "matcher": "Bash.*git push", + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/prevent-direct-push.py", + "description": "Prevent direct pushes to protected branches" + } + ] + } + ] + } +} diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..85b8066 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:AojdevStudio/dev-utils-marketplace:git-workflow-hooks", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "debcfed08f402d8f9ab0ca238d215a62c5703b6c", + "treeHash": "bb57be4a8fc4201f09908c41f0d4ec9de2f0b895ed2575bd9967a8489921d855", + "generatedAt": "2025-11-28T10:09:52.043960Z", + "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": "git-workflow-hooks", + "description": "git-workflow automation hooks for development workflow", + "version": "3.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "f3783fa4b190c638310f168ec377b44c4f45786ffc66b59ce8e62cb4e59b50dc" + }, + { + "path": "hooks/hooks.json", + "sha256": "1b933e82f20405a145f25197348ba6a4b3ac1aed6e44d9c309b6d5b788e3f771" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "c137b67aceafad814a94d4dc77cfdc64afe00348dbce830693d5ae446365090c" + } + ], + "dirSha256": "bb57be4a8fc4201f09908c41f0d4ec9de2f0b895ed2575bd9967a8489921d855" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file