From 066ae71cf48fcb430bf785650b42e46fb74f4890 Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sun, 30 Nov 2025 08:41:23 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 12 ++++++++++ README.md | 3 +++ commands/git-start-new.md | 35 +++++++++++++++++++++++++++++ plugin.lock.json | 45 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 commands/git-start-new.md create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..ddfd151 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "git-start-new", + "description": "Simple example plugin demonstrating basic slash commands", + "version": "1.0.0", + "author": { + "name": "Matthew Pazaryna", + "email": "[email protected]" + }, + "commands": [ + "./commands" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..03213d6 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# git-start-new + +Simple example plugin demonstrating basic slash commands diff --git a/commands/git-start-new.md b/commands/git-start-new.md new file mode 100644 index 0000000..dda0132 --- /dev/null +++ b/commands/git-start-new.md @@ -0,0 +1,35 @@ +--- +description: A new feature branch +shortcut: gsn +category: utility +difficulty: beginner +estimated_time: instant +version: 1.0.0 +--- + +Create a new feature branch from main and ensure safe development practices. Required branch name: $ARGUMENTS + +Follow these steps: +1. Check current git status and warn if there are uncommitted changes +2. Ensure we're not already on main branch (if we are, that's fine, we'll create from main) +3. Switch to main branch: `git checkout main` +4. Pull latest changes: `git pull origin main` +5. If no branch name provided in $ARGUMENTS, suggest branch name based on: + - Current date (format: YYYY-MM-DD) + - Common prefixes: feature/, fix/, chore/, docs/ + - Ask me to confirm or specify different branch name +6. Use provided branch name from $ARGUMENTS or the confirmed suggested name +7. Create and switch to new branch: `git checkout -b [BRANCH_NAME]` +8. Show current branch status: `git branch --show-current` +9. Show git status to confirm clean working directory +10. Remind about best practices: + - Keep commits small and focused + - Use conventional commit messages (feat:, fix:, chore:, docs:) + - Regularly push to remote with: `git push -u origin [BRANCH_NAME]` + - Use `/release-version` command when ready to merge to main + +Safety checks: +- Warn if already on a feature branch and ask for confirmation +- Warn if uncommitted changes exist and suggest stashing or committing first +- Prevent accidental work directly on main branch +- Ensure main is up to date before branching \ No newline at end of file diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..b3354bf --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:mpazaryna/claude-toolkit:plugins/git-start-new", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "7f65768fef0a47d43d2dc4f8a4cf31040b880f10", + "treeHash": "17c887bcecd256f7201b9fac62dc13c3540ab1b4f8e106fbfe200d25e1852e36", + "generatedAt": "2025-11-28T10:27:11.158425Z", + "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-start-new", + "description": "Simple example plugin demonstrating basic slash commands", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "ad390ef1be3877d1f8e4f51d6524cb3f667bbe33bbde586a1cc15fee6579fdf7" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "5b027eeb3c0f25c0adde10207518102220eec675bd365434b1b0c5e89bf6f35a" + }, + { + "path": "commands/git-start-new.md", + "sha256": "f670ba3ac9f08e58a19b81fd57bb19c77578a19603980c1237666bd2ce519d24" + } + ], + "dirSha256": "17c887bcecd256f7201b9fac62dc13c3540ab1b4f8e106fbfe200d25e1852e36" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file