Stage all changes, create commit, and push to remote (use with caution)
npx claudepluginhub ohare93/claude-setup --plugin jmo-development-tools# Commit and Push Everything **CAUTION**: Commit all working copy changes and push to remote. Use only when confident all changes belong together. ## Workflow ### 1. Analyze Changes Run in parallel: - `jj status` - Show modified/added/deleted files - `jj diff --stat` - Show change statistics - `jj log -n 3` - Show recent commits for message style ### 2. Safety Checks **STOP and WARN if detected:** - Secrets: `.env*`, `*.key`, `*.pem`, `credentials.json`, `secrets.yaml`, `id_rsa`, `*.p12`, `*.pfx`, `*.cer` - API Keys: Any `*_API_KEY`, `*_SECRET`, `*_TOKEN` variables with real values (n...
CAUTION: 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.