mirror of
https://github.com/tiennm99/try-claudekit.git
synced 2026-04-18 03:21:06 +00:00
feat: add ClaudeKit configuration
Add agent definitions, slash commands, hooks, and settings for Claude Code project tooling.
This commit is contained in:
47
.claude/commands/git/push.md
Normal file
47
.claude/commands/git/push.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: Intelligently push commits to remote with safety checks and insights
|
||||
category: workflow
|
||||
allowed-tools: Bash(git:*), Task
|
||||
---
|
||||
|
||||
Push commits to remote repository with appropriate safety checks and branch management.
|
||||
|
||||
## Git Expert Integration
|
||||
For complex push scenarios (force push requirements, diverged branches, upstream conflicts, protected branch workflows), consider using the Task tool with `git-expert` subagent for specialized git expertise.
|
||||
|
||||
## Efficiency Note:
|
||||
Be concise. Use single bash calls where possible. Skip verbose explanations and intermediate status messages. Execute the push directly if safe, show only the result.
|
||||
|
||||
## Instructions for Claude:
|
||||
|
||||
1. Run safety checks in a single bash call:
|
||||
!git status --porcelain=v1 && echo "---" && git branch -vv | grep "^\*" && echo "---" && git remote -v | head -2 && echo "---" && git log --oneline @{u}..HEAD 2>/dev/null
|
||||
|
||||
Parse output to check:
|
||||
- Any uncommitted changes (warn if present)
|
||||
- Current branch and tracking info
|
||||
- Remote repository URL
|
||||
- Commits to be pushed
|
||||
|
||||
2. If safe to push (no uncommitted changes), execute push immediately:
|
||||
- For tracked branch: `git push`
|
||||
- For new branch: `git push -u origin [branch-name]`
|
||||
- If behind remote: Stop and suggest `git pull --rebase`
|
||||
|
||||
3. Show only the final result:
|
||||
- If successful: Show the push output with ✅ emoji and success message
|
||||
- If failed: Show error and suggest fix
|
||||
- If unsafe: Show what needs to be done first
|
||||
|
||||
4. Special cases to handle:
|
||||
- Diverged branches: Suggest rebase or merge strategy
|
||||
- No upstream branch: Use -u flag
|
||||
- Force push needed: Warn strongly, require confirmation
|
||||
- Protected branch: Remind about PR workflow
|
||||
|
||||
Example concise output:
|
||||
- Skip: "Let me check if it's safe to push"
|
||||
- Skip: "I'll analyze your branch status"
|
||||
- Skip: "Ready to push X commits"
|
||||
- Skip: "Executing push..."
|
||||
- Just show the push result directly
|
||||
Reference in New Issue
Block a user