Add single-line visual headers to 66 command files across 10 plugins: - clarity-assist (2 commands): 💬 - claude-config-maintainer (5 commands): ⚙️ - cmdb-assistant (11 commands): 🖥️ - code-sentinel (3 commands): 🔒 - contract-validator (5 commands): ✅ - data-platform (10 commands): 📊 - doc-guardian (5 commands): 📝 - git-flow (8 commands): 🔀 - pr-review (7 commands): 🔍 - viz-platform (10 commands): 🎨 Each command now displays a consistent header at execution start: ┌────────────────────────────────────────────────────────────────┐ │ [icon] PLUGIN-NAME · Command Description │ └────────────────────────────────────────────────────────────────┘ Addresses #275 (other plugin commands visual output) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
117 lines
2.8 KiB
Markdown
117 lines
2.8 KiB
Markdown
# /commit-sync - Commit, Push, and Sync
|
|
|
|
## Visual Output
|
|
|
|
When executing this command, display the plugin header:
|
|
|
|
```
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
│ 🔀 GIT-FLOW · Commit Sync │
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
Then proceed with the workflow.
|
|
|
|
## Purpose
|
|
|
|
Full sync operation: commit local changes, push to remote, sync with upstream/base branch, and clean up stale remote-tracking branches.
|
|
|
|
## Behavior
|
|
|
|
### Step 1: Run /commit
|
|
|
|
Execute the standard commit workflow.
|
|
|
|
### Step 2: Push to Remote
|
|
|
|
Push committed changes to remote branch.
|
|
|
|
### Step 3: Sync with Base
|
|
|
|
Pull latest from base branch and rebase/merge:
|
|
|
|
```bash
|
|
# Fetch all with prune (removes stale remote-tracking refs)
|
|
git fetch --all --prune
|
|
|
|
# Rebase on base branch
|
|
git rebase origin/<base-branch>
|
|
|
|
# Push again (if rebased)
|
|
git push --force-with-lease
|
|
```
|
|
|
|
### Step 4: Detect Stale Local Branches
|
|
|
|
Check for local branches tracking deleted remotes:
|
|
|
|
```bash
|
|
# Find local branches with gone upstreams
|
|
git branch -vv | grep ': gone]'
|
|
```
|
|
|
|
If stale branches found, report them:
|
|
|
|
```
|
|
Stale local branches (remote deleted):
|
|
- feat/old-feature (was tracking origin/feat/old-feature)
|
|
- fix/merged-bugfix (was tracking origin/fix/merged-bugfix)
|
|
|
|
Run /branch-cleanup to remove these branches.
|
|
```
|
|
|
|
### Step 5: Report Status
|
|
|
|
```
|
|
Sync complete:
|
|
|
|
Local: feat/password-reset @ abc1234
|
|
Remote: origin/feat/password-reset @ abc1234
|
|
Base: development @ xyz7890 (synced)
|
|
|
|
Your branch is up-to-date with development.
|
|
No conflicts detected.
|
|
|
|
Cleanup:
|
|
Remote refs pruned: 2
|
|
Stale local branches: 2 (run /branch-cleanup to remove)
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `GIT_DEFAULT_BASE` | `development` | Branch to sync with |
|
|
| `GIT_SYNC_STRATEGY` | `rebase` | How to incorporate upstream changes |
|
|
| `GIT_AUTO_PRUNE` | `true` | Auto-prune stale remote refs on sync |
|
|
|
|
## Conflict Handling
|
|
|
|
If conflicts occur during rebase:
|
|
|
|
```
|
|
Conflicts detected while syncing with development.
|
|
|
|
Conflicting files:
|
|
- src/auth/login.ts
|
|
- src/auth/types.ts
|
|
|
|
Options:
|
|
1. Open conflict resolution (I'll guide you)
|
|
2. Abort sync (keep local state)
|
|
3. Accept all theirs (⚠️ loses your changes in conflicts)
|
|
4. Accept all ours (⚠️ ignores upstream in conflicts)
|
|
```
|
|
|
|
## Output
|
|
|
|
On success:
|
|
```
|
|
Committed: abc1234
|
|
Pushed to: origin/feat/password-reset
|
|
Synced with: development (xyz7890)
|
|
|
|
Status: Clean, up-to-date
|
|
Stale branches: None (or N found - run /branch-cleanup)
|
|
```
|