Stage all changes, create commit, and push to remote (use with caution)
Stages all changes, creates conventional commit, and pushes to remote with safety checks.
/plugin marketplace add ohare93/claude-setup/plugin install ohare93-jmo-development-tools@ohare93/claude-setupCAUTION: Commit all working copy changes and push to remote. Use only when confident all changes belong together.
Run in parallel:
jj status - Show modified/added/deleted filesjj diff --stat - Show change statisticsjj log -n 3 - Show recent commits for message styleSTOP and WARN if detected:
.env*, *.key, *.pem, credentials.json, secrets.yaml, id_rsa, *.p12, *.pfx, *.cer*_API_KEY, *_SECRET, *_TOKEN variables with real values (not placeholders like your-api-key, xxx, placeholder)>10MB without Git LFSnode_modules/, dist/, build/, __pycache__/, *.pyc, .venv/.DS_Store, thumbs.db, *.swp, *.tmpAPI Key Validation:
Check modified files for patterns like:
OPENAI_API_KEY=sk-proj-xxxxx # Real key detected!
AWS_SECRET_KEY=AKIA... # Real key detected!
STRIPE_API_KEY=sk_live_... # Real key detected!
# Acceptable placeholders:
API_KEY=your-api-key-here
SECRET_KEY=placeholder
TOKEN=xxx
API_KEY=<your-key>
SECRET=${YOUR_SECRET}
Verify:
.gitignore properly configuredPresent summary:
Changes Summary:
- X files modified, Y added, Z deleted
- Total: +AAA insertions, -BBB deletions
Safety: [status] No secrets | [status] No large files | [warnings]
Branch: [name] -> origin/[name]
I will: jj commit -> jj git push
Type 'yes' to proceed or 'no' to cancel.
WAIT for explicit "yes" before proceeding.
Analyze changes and create conventional commit:
Format:
[type]: Brief summary (max 72 characters)
- Key change 1
- Key change 2
- Key change 3
Types: feat, fix, docs, style, refactor, test, chore, perf, build, ci
Example:
docs: Update concept README files with comprehensive documentation
- Add architecture diagrams and tables
- Include practical examples
- Expand best practices sections
jj commit -m "[Generated commit message]"
jj git push
jj log -n 1 # Verify
Successfully pushed to remote!
Commit: [hash] [message]
Branch: [branch] -> origin/[branch]
Files changed: X (+insertions, -deletions)
jj statusjj git fetch then jj rebase -d main then retry pushjj git push --allow-newGood:
Avoid:
If user wants control, suggest:
jj splitjj squash to combine commitsRemember: Always review changes before pushing. When in doubt, use individual jj commands for more control.