commit 61ed8caa8dca17e9f396158c970c9ec5d79ef433 Author: Zhongwei Li Date: Sat Nov 29 18:26:52 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..7034257 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,15 @@ +{ + "name": "easy-commit", + "description": "A plugin to help you write better git commit messages", + "version": "0.0.1", + "author": { + "name": "Steven Wu", + "email": "steven@feedmob.com" + }, + "commands": [ + "./commands/smart-commit.md" + ], + "hooks": [ + "./hooks/hooks.json" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..89ffd06 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# easy-commit + +A plugin to help you write better git commit messages diff --git a/commands/smart-commit.md b/commands/smart-commit.md new file mode 100644 index 0000000..fc9c99e --- /dev/null +++ b/commands/smart-commit.md @@ -0,0 +1,17 @@ +--- +allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*) +description: Create a git commit +--- + +## Context + +- Current git status: !`git status` +- Current git diff (staged and unstaged changes): !`git diff HEAD` +- Current branch: !`git branch --show-current` +- Recent commits: !`git log --oneline -15` + +## Your task + +Based on the above changes, create a single git commit. + +You have the capability to call multiple tools in a single response. Stage and create the commit using a single message. Do not use any other tools or do anything else. Do not send any other text or messages besides these tool calls. diff --git a/hooks/hooks.json b/hooks/hooks.json new file mode 100644 index 0000000..4bb131d --- /dev/null +++ b/hooks/hooks.json @@ -0,0 +1,12 @@ +{ + "description": "Send a system notification after successful git commit operations invoked via Ruby.", + "hooks": { + "PostToolUse": [ + { + "type": "command", + "command": "ruby ${CLAUDE_PLUGIN_ROOT}/hooks/notify_commit.rb", + "timeout": 30 + } + ] + } +} diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..c8a11f1 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,49 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:feed-mob/claude-code-marketplace:plugins/easy-commit", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "295e5f3b91680e09ba6115569e939a729d11d350", + "treeHash": "f02880573042490474171b2d46d315452d4afe590840d4b6ca1d38e3d8a03834", + "generatedAt": "2025-11-28T10:16:51.787964Z", + "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": "easy-commit", + "description": "A plugin to help you write better git commit messages", + "version": "0.0.1" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "652a0c4d71be39e037da826426a9c6d63efb18c379a1650216eaef8eade8fb56" + }, + { + "path": "hooks/hooks.json", + "sha256": "901ed2d1fb78f1cca683c796753b4aca68074c67ecbab2759263f029e627e502" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "ac1eaed1843afe8f36d8f4f5d8e192fa12940eda62df2721ec9275920d323688" + }, + { + "path": "commands/smart-commit.md", + "sha256": "a01e99d648e371573df17cdbb00a617efa5f8908064030d876e0057fdf800193" + } + ], + "dirSha256": "f02880573042490474171b2d46d315452d4afe590840d4b6ca1d38e3d8a03834" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file