- Add comprehensive push-all command documentation - Include PR slash command screenshot - Update .gitignore configuration - Update slash commands README 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
474 lines
12 KiB
Markdown
474 lines
12 KiB
Markdown
---
|
|
name: Commit and push everything
|
|
description: Stage all changes, create commit, and push to remote (use with caution)
|
|
tags: git, workflow, automation
|
|
---
|
|
|
|
# Commit and Push Everything
|
|
|
|
⚠️ **CAUTION**: This command will stage ALL changes, commit them, and push to the remote repository. Use only when you're confident all changes should be committed together.
|
|
|
|
## Pre-flight Safety Checks
|
|
|
|
Before proceeding, I will verify:
|
|
|
|
1. **Current Status**
|
|
- Run `git status` to see what will be committed
|
|
- Ensure no unwanted files are included
|
|
- Verify you're on the correct branch
|
|
|
|
2. **Review Changes**
|
|
- Run `git diff --stat` to see change statistics
|
|
- Confirm all changes are intentional
|
|
- Check for any uncommitted work
|
|
|
|
3. **Security Checks**
|
|
- ❌ No secrets or credentials in changes
|
|
- ❌ No API keys, passwords, or tokens
|
|
- ❌ No `.env` files or private keys
|
|
- ✅ `.gitignore` properly configured
|
|
- ✅ No large binary files without Git LFS
|
|
- ✅ No build artifacts (node_modules, dist, __pycache__)
|
|
|
|
## Workflow Steps
|
|
|
|
### Step 1: Show Current Status
|
|
|
|
Run `git status` and display:
|
|
- Modified files
|
|
- Added files
|
|
- Deleted files
|
|
- Untracked files
|
|
|
|
### Step 2: Show Change Statistics
|
|
|
|
Run `git diff --stat` to show:
|
|
- Number of files changed
|
|
- Total insertions
|
|
- Total deletions
|
|
|
|
### Step 3: Safety Verification
|
|
|
|
⚠️ **STOP if any of these are detected:**
|
|
|
|
```bash
|
|
# Sensitive files:
|
|
.env
|
|
.env.local
|
|
*.key
|
|
*.pem
|
|
credentials.json
|
|
secrets.yaml
|
|
config/database.yml (with passwords)
|
|
*.p12
|
|
*.pfx
|
|
id_rsa
|
|
*.cer
|
|
|
|
# Large files (>10MB)
|
|
*.mp4, *.mov, *.zip, *.tar.gz
|
|
|
|
# Build artifacts:
|
|
node_modules/
|
|
dist/
|
|
build/
|
|
__pycache__/
|
|
*.pyc
|
|
.DS_Store
|
|
thumbs.db
|
|
*.swp
|
|
```
|
|
|
|
If any detected, **WARN USER** and ask for confirmation.
|
|
|
|
### Step 4: Request Confirmation
|
|
|
|
Present summary and ask:
|
|
|
|
```
|
|
📊 Changes Summary:
|
|
- X files modified
|
|
- Y files added
|
|
- Z files deleted
|
|
- Total: +AAA insertions, -BBB deletions
|
|
|
|
⚠️ I will now:
|
|
1. Stage all changes (git add .)
|
|
2. Create a descriptive commit
|
|
3. Push to remote repository
|
|
|
|
Current branch: [branch-name]
|
|
Remote: [remote-url]
|
|
|
|
🔒 Safety checks:
|
|
✅ No secrets detected
|
|
✅ No large files
|
|
✅ .gitignore configured
|
|
⚠️ [Any warnings]
|
|
|
|
Type 'yes' to proceed or 'no' to cancel.
|
|
```
|
|
|
|
**WAIT for explicit user confirmation before proceeding.**
|
|
|
|
### Step 5: Stage All Changes (After Confirmation)
|
|
|
|
Execute:
|
|
```bash
|
|
git add .
|
|
```
|
|
|
|
Verify staging:
|
|
```bash
|
|
git status
|
|
```
|
|
|
|
### Step 6: Generate Commit Message
|
|
|
|
Analyze the changes and create a descriptive conventional commit message:
|
|
|
|
**Format:**
|
|
```
|
|
[type]: Brief summary (max 72 characters)
|
|
|
|
Detailed description of changes:
|
|
- Key change 1
|
|
- Key change 2
|
|
- Key change 3
|
|
```
|
|
|
|
**Commit Types:**
|
|
- `feat`: New feature or enhancement
|
|
- `fix`: Bug fix
|
|
- `docs`: Documentation changes only
|
|
- `style`: Code formatting, missing semicolons, etc.
|
|
- `refactor`: Code restructuring without behavior change
|
|
- `test`: Adding or updating tests
|
|
- `chore`: Maintenance, dependencies, config
|
|
- `perf`: Performance improvements
|
|
- `build`: Build system or external dependencies
|
|
- `ci`: CI/CD configuration changes
|
|
|
|
**Examples:**
|
|
```
|
|
feat: Add user authentication with JWT tokens
|
|
|
|
- Implement login and registration endpoints
|
|
- Add JWT token generation and validation
|
|
- Create authentication middleware
|
|
- Add comprehensive auth tests
|
|
```
|
|
|
|
```
|
|
docs: Update all concept README files with comprehensive documentation
|
|
|
|
Extract and consolidate information from guide into individual folders
|
|
- Add architecture diagrams and tables
|
|
- Include practical examples
|
|
- Expand best practices sections
|
|
```
|
|
|
|
### Step 7: Create Commit
|
|
|
|
Execute:
|
|
```bash
|
|
git commit -m "$(cat <<'EOF'
|
|
[Generated commit message]
|
|
EOF
|
|
)"
|
|
```
|
|
|
|
Show commit hash and message.
|
|
|
|
### Step 8: Push to Remote
|
|
|
|
Execute:
|
|
```bash
|
|
git push
|
|
```
|
|
|
|
If push fails, try:
|
|
```bash
|
|
git pull --rebase origin [branch-name]
|
|
git push
|
|
```
|
|
|
|
### Step 9: Verify Success
|
|
|
|
Show:
|
|
```bash
|
|
git log -1 --oneline --decorate
|
|
```
|
|
|
|
Confirm:
|
|
```
|
|
✅ Successfully pushed to remote!
|
|
|
|
Commit: [hash] [message]
|
|
Branch: [branch] → origin/[branch]
|
|
Files changed: X
|
|
```
|
|
|
|
## Safety Guidelines
|
|
|
|
### ❌ DO NOT Proceed If:
|
|
|
|
- **Secrets detected**: API keys, passwords, tokens, certificates
|
|
- **Sensitive data**: Database dumps, user data, PII
|
|
- **Large files**: Files >10MB without Git LFS
|
|
- **Build artifacts**: node_modules, dist, __pycache__, .venv
|
|
- **Temporary files**: .DS_Store, *.swp, *.tmp, thumbs.db
|
|
- **User hasn't confirmed**: Always wait for explicit "yes"
|
|
- **Protected branch**: main/master without proper review process
|
|
- **Merge conflicts**: Unresolved conflicts exist
|
|
- **Failing tests**: Pre-commit hooks or CI failing
|
|
|
|
### ✅ Good Use Cases:
|
|
|
|
- Documentation updates across multiple files
|
|
- Feature implementation with tests and docs
|
|
- Bug fixes with related test updates
|
|
- Configuration and setup changes
|
|
- Refactoring with comprehensive changes
|
|
- Project-wide formatting or linting fixes
|
|
- End-of-day commit of working feature
|
|
|
|
### ⚠️ Warning Signs - Ask User First:
|
|
|
|
```
|
|
Modified: .env
|
|
Modified: config/secrets.yml
|
|
Added: private_key.pem
|
|
Added: node_modules/ (1,234 files)
|
|
Warning: Large file detected: video.mp4 (45MB)
|
|
Warning: On protected branch: main
|
|
Warning: Pre-commit hook failed
|
|
```
|
|
|
|
## Error Handling
|
|
|
|
### If `git add .` fails:
|
|
1. Check file permissions
|
|
2. Look for locked files
|
|
3. Verify repository is initialized
|
|
4. Run `git status` for diagnostics
|
|
|
|
### If `git commit` fails:
|
|
1. **Pre-commit hooks failed**: Fix issues and retry
|
|
2. **No changes to commit**: Already up to date
|
|
3. **Invalid commit message**: Adjust format
|
|
4. **Git config missing**: Set user.name and user.email
|
|
|
|
### If `git push` fails:
|
|
1. **Rejected (non-fast-forward)**:
|
|
```bash
|
|
git pull --rebase
|
|
git push
|
|
```
|
|
|
|
2. **Permission denied**: Check credentials and access
|
|
|
|
3. **Remote branch doesn't exist**:
|
|
```bash
|
|
git push -u origin [branch-name]
|
|
```
|
|
|
|
4. **Protected branch**: Use pull request workflow
|
|
|
|
## Alternative Workflows
|
|
|
|
If user wants more control, suggest:
|
|
|
|
**Option 1: Selective Staging**
|
|
```
|
|
Would you like to:
|
|
1. Select specific files to commit?
|
|
2. Review each file individually?
|
|
3. Create multiple commits by category?
|
|
```
|
|
|
|
**Option 2: Interactive Staging**
|
|
```
|
|
Use `git add -p` for interactive patch selection?
|
|
This lets you review each change before staging.
|
|
```
|
|
|
|
**Option 3: Pull Request Flow**
|
|
```
|
|
Instead of direct push, would you like to:
|
|
1. Create a feature branch
|
|
2. Push to branch
|
|
3. Create pull request
|
|
Use the /pr command for this workflow.
|
|
```
|
|
|
|
## Post-Push Actions
|
|
|
|
After successful push:
|
|
|
|
### 1. Verify on Remote
|
|
- Check GitHub/GitLab/Bitbucket web interface
|
|
- Confirm commit appears correctly
|
|
- Review diff on remote
|
|
|
|
### 2. CI/CD Pipeline (if applicable)
|
|
- Confirm pipeline started
|
|
- Monitor build status
|
|
- Check for any failures
|
|
|
|
### 3. Team Notification (if applicable)
|
|
- Notify in Slack/Teams channel
|
|
- Update issue tracker (close/link issues)
|
|
- Tag reviewers for PR
|
|
|
|
### 4. Local Cleanup
|
|
```bash
|
|
# Verify everything is clean
|
|
git status
|
|
|
|
# Should show:
|
|
# On branch [name]
|
|
# Your branch is up to date with 'origin/[name]'.
|
|
# nothing to commit, working tree clean
|
|
```
|
|
|
|
## Example Interaction
|
|
|
|
**User**: `/push-all`
|
|
|
|
**Assistant**:
|
|
```
|
|
🔍 Analyzing repository status...
|
|
|
|
📊 Current Status:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Modified files (9):
|
|
✏️ 01-slash-commands/README.md
|
|
✏️ 02-subagents/README.md
|
|
✏️ 03-memory/README.md
|
|
✏️ 04-mcp/README.md
|
|
✏️ 05-skills/README.md
|
|
✏️ 06-plugins/README.md
|
|
✏️ 07-hooks/README.md
|
|
✏️ 08-checkpoints/README.md
|
|
✏️ 09-advanced-features/README.md
|
|
|
|
📈 Change Statistics:
|
|
9 files changed
|
|
+3,706 insertions
|
|
-587 deletions
|
|
|
|
🔒 Safety Checks:
|
|
✅ No secrets detected
|
|
✅ No large files (>10MB)
|
|
✅ .gitignore properly configured
|
|
✅ No build artifacts
|
|
✅ No temporary files
|
|
|
|
🌿 Branch Information:
|
|
Current: main
|
|
Remote: origin/main
|
|
Status: Up to date (can fast-forward)
|
|
|
|
📝 Proposed commit message:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
docs: Update all concept README files with comprehensive documentation
|
|
|
|
Extract and consolidate information from guide into individual folders:
|
|
- Add architecture diagrams, tables, and flowcharts
|
|
- Include practical code examples and templates
|
|
- Expand best practices and troubleshooting sections
|
|
- Provide installation instructions for all concepts
|
|
|
|
Total: +3,706 lines of comprehensive documentation
|
|
|
|
🤖 Generated with Claude Code
|
|
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
⚠️ I will now:
|
|
1. Stage all changes (git add .)
|
|
2. Commit with the message above
|
|
3. Push to origin/main
|
|
|
|
⚠️ This affects 9 files. Please confirm.
|
|
|
|
Type 'yes' to proceed, 'no' to cancel, or 'review' to see diffs.
|
|
```
|
|
|
|
**User**: `yes`
|
|
|
|
**Assistant**:
|
|
```
|
|
✅ Staging all changes...
|
|
git add .
|
|
|
|
✅ Creating commit...
|
|
git commit -m "docs: Update all concept README files..."
|
|
|
|
✅ Pushing to remote...
|
|
git push origin main
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
🎉 Successfully pushed to remote!
|
|
|
|
Commit: 41527ae docs: Update all concept README files...
|
|
Branch: main → origin/main
|
|
Files: 9 changed (+3,706, -587)
|
|
Remote: https://github.com/user/repo
|
|
|
|
✅ All changes have been successfully pushed!
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
```
|
|
|
|
## Quick Reference Card
|
|
|
|
**What this command does:**
|
|
1. ✅ Checks git status and shows changes
|
|
2. ✅ Displays change statistics
|
|
3. ✅ Performs comprehensive safety checks
|
|
4. ⚠️ Requests explicit user confirmation
|
|
5. ✅ Stages all changes with `git add .`
|
|
6. ✅ Generates descriptive conventional commit
|
|
7. ✅ Creates commit with proper message
|
|
8. ✅ Pushes to remote repository
|
|
9. ✅ Verifies and confirms success
|
|
|
|
**When to use:**
|
|
- ✅ Coordinated multi-file documentation updates
|
|
- ✅ Feature implementation with tests and docs
|
|
- ✅ Bug fixes affecting multiple files
|
|
- ✅ Project-wide refactoring or formatting
|
|
- ✅ End-of-day commits of working features
|
|
- ✅ Configuration and setup changes
|
|
|
|
**When NOT to use:**
|
|
- ❌ Uncertain about what's being committed
|
|
- ❌ Contains sensitive data or secrets
|
|
- ❌ On protected branches (main/master) without review
|
|
- ❌ Merge conflicts are present
|
|
- ❌ Want granular commit history for different changes
|
|
- ❌ Pre-commit hooks are failing
|
|
- ❌ Want to review each change individually
|
|
|
|
## Related Commands
|
|
|
|
- **`/pr`** - Full pull request preparation with checklist
|
|
- **`/optimize`** - Code optimization before committing
|
|
- **Individual git commands** - For more granular control
|
|
|
|
## Best Practices
|
|
|
|
1. **Use descriptive branch names**: `feature/auth`, `fix/login-bug`
|
|
2. **Commit related changes together**: Don't mix features and fixes
|
|
3. **Review before pushing**: Always check `git diff`
|
|
4. **Pull before push**: Avoid conflicts with `git pull --rebase`
|
|
5. **Use conventional commits**: Helps with changelog generation
|
|
6. **Test before commit**: Run tests to catch issues early
|
|
7. **Keep commits atomic**: One logical change per commit when possible
|
|
8. **Write clear messages**: Future you will thank present you
|
|
|
|
---
|
|
|
|
**⚠️ Remember**: With great automation comes great responsibility. Always review your changes before pushing! When in doubt, use individual git commands for more control.
|