- Git & GitHub Workflows (via Grove Wrap)
- All git and GitHub operations go through
- gw
- — never use raw
- git
- or
- gh
- commands directly.
- Grove Wrap adds safety tiers, Conventional Commits enforcement, protected branch guards, and agent-safe defaults.
- When to Activate
- Activate this skill when:
- Making git commits, pushing, pulling, branching, or stashing
- Creating, reviewing, or merging pull requests
- Creating, viewing, or closing GitHub issues
- Checking CI/workflow run status
- Reviewing git history, diffs, or blame
- Resolving merge conflicts
- Any version control operation
- Safety System
- gw enforces a three-tier safety model:
- Tier
- Flag Required
- Examples
- READ
- None
- gw git status
- ,
- gw git log
- ,
- gw gh pr list
- WRITE
- --write
- gw git commit
- ,
- gw git push
- ,
- gw git pull
- ,
- gw gh pr create
- DANGEROUS
- --write --force
- gw git reset
- ,
- gw git force-push
- ,
- gw git rebase
- Protected branches
- (
- main
- ,
- master
- ,
- production
- ,
- staging
- ) can NEVER be force-pushed, even with
- --force
- .
- Agent mode
- (auto-detected for Claude Code): stricter row limits, force operations blocked, all operations audit-logged.
- Dry run
- any command with
- --dry-run
- to preview what would happen.
- Conventional Commits Format
- gw validates commit messages against Conventional Commits automatically. Format:
( ): - Commit Types
- Type
- Purpose
- Example
- feat
- New feature
- feat: add user authentication
- fix
- Bug fix
- fix: correct validation error
- docs
- Documentation
- docs: update README
- style
- Code formatting
- style: format with prettier
- refactor
- Code restructure
- refactor: extract helper function
- test
- Add/modify tests
- test: add auth tests
- chore
- Maintenance
- chore: update dependencies
- perf
- Performance
- perf: optimize query speed
- ci
- CI/CD changes
- ci: fix deploy workflow
- Breaking changes
- Add an exclamation mark after the type, e.g. feat!: replace XML config with YAML Git Commands — Reading (Always Safe) gw git status
Enhanced git status
gw git log
Formatted commit history
gw git log --limit 20
Last 20 commits
gw git diff
Show changes
gw git diff --staged
Show staged changes
gw git blame file.ts
Blame with context
gw git show abc123
Show commit details
Git Commands — Writing (Needs --write ) gw git add --write .
Stage files
gw git add --write src/lib/thing.ts
Stage specific file
gw git commit --write -m "feat: add new feature"
Commit (validates conventional commits!)
gw git push --write
Push to remote
gw git pull --write
Pull from remote
gw git pull --write --rebase
Pull with rebase strategy
gw git branch --write feature/new-thing
Create branch
gw git switch --write feature/new-thing
Switch branches
gw git stash --write
Stash changes
gw git stash --write pop
Pop stash
gw git unstage --write file.ts
Unstage files
Git Commands — Dangerous (Needs --write --force ) gw git push --write --force
Force push (blocked to protected branches!)
gw git reset --write --force HEAD~1
Hard reset
gw git rebase --write --force main
Rebase onto main
gw git merge --write --force feature
Merge branches
Grove Shortcuts These combine common multi-step operations into single commands:
Quick save: stage all + WIP commit
gw git save --write
Quick sync: fetch + rebase + push
gw git sync --write
WIP commit that skips hooks
gw git wip --write
Undo last commit (keeps changes staged)
gw git undo --write
Amend last commit message
gw git amend --write -m "better message"
FAST MODE: skip ALL hooks, commit + push in one shot
gw git fast --write -m "fix: emergency hotfix" Branching Strategy Branch Naming feature/feature-name # New features fix/bug-description # Bug fixes experiment/new-idea # Experiments release/v1.0.0 # Releases Feature Branch Workflow
Create and switch to feature branch
gw git branch --write feature/user-auth gw git switch --write feature/user-auth
Work and commit
gw git add --write . gw git commit --write -m "feat: add JWT authentication"
Push and create PR
gw git push --write gw gh pr create --write --title "feat: add JWT authentication" GitHub — Pull Requests
Reading (always safe)
gw gh pr list
List open PRs
gw gh pr view 123
View PR details
gw gh pr status
PR status (CI, reviews, etc.)
Writing (needs --write)
gw gh pr create --write --title "feat: new thing" --body "Description" gw gh pr comment --write 123 "LGTM!" gw gh pr merge --write 123
Merge PR (prompts for confirmation)
GitHub — Issues
Reading (always safe)
gw gh issue list
List open issues
gw gh issue view 456
View issue details
Writing (needs --write)
gw gh issue create --write --title "Bug: thing broke" gw gh issue close --write 456 GitHub — Workflow Runs (CI)
Reading (always safe)
gw gh run list
List recent runs
gw gh run view 12345678
View run details
gw gh run watch 12345678
Watch a running workflow
Writing (needs --write)
gw gh run rerun --write 12345678 --failed
Rerun failed jobs
gw gh run cancel --write 12345678
Cancel a run
GitHub — API & Rate Limits
GET requests (always safe)
gw gh api repos/AutumnsGrove/Lattice
POST/PATCH (needs --write)
gw gh api --write repos/ { owner } / { repo } /labels -X POST -f name = "bug"
DELETE (needs --write --force)
gw gh api --write --force repos/ { owner } / { repo } /labels/old -X DELETE
Check rate limit status
gw gh rate-limit GitHub — Project Boards gw gh project list
List project boards
gw gh project view
View current project
Commit Examples Feature gw git commit --write -m "feat: add dark mode toggle - Implement theme switching logic - Add localStorage persistence - Update CSS variables" Bug Fix with Issue Link gw git commit --write -m "fix: correct timezone handling bug Fixes off-by-one error in date calculations. Closes #123" Breaking Change gw git commit --write -m "feat!: replace XML config with YAML BREAKING CHANGE: XML configuration no longer supported. See docs/migration.md for upgrade instructions." Agent-Optimized Commands (NEW) These commands are specifically designed for agentic workflows: Session Start (Always run this first!) gw context
One-shot session snapshot (rich output)
gw --json context
JSON snapshot (branch, changes, packages, issues)
Ship with Auto-Stage
Stage all + format + check + commit + push in ONE command
gw git ship --write -a -m "feat: implement feature"
Equivalent to: gw git add --write . && gw git ship --write -m "..."
PR Preparation gw git pr-prep
Full PR readiness report
gw --json git pr-prep
JSON: commits, files, packages, suggested title
Targeted CI gw ci --affected
Only check packages with changes
gw ci --affected --fail-fast
Fast feedback: stop on first failure
gw ci --diagnose
Structured error output when steps fail
gw --json ci --affected
JSON with parsed error details
Batch Issue Creation
Create multiple issues from JSON
gw gh issue batch --write --from-json issues.json echo '[{"title":"Bug: thing","labels":["bug"]}]' | gw gh issue batch --write --from-json - Impact Analysis (via gf) gf impact src/lib/auth.ts
Who imports this? What tests? Which routes?
gf test-for src/lib/auth.ts
Find tests covering this file
gf diff-summary
Structured diff with per-file stats
gf --json impact src/lib/auth.ts
All of the above as parseable JSON
Common Workflows Start a new feature gw context
Orient: what branch, what's changed?
gw git branch --write feature/my-feature gw git switch --write feature/my-feature
... make changes ...
gw git ship --write -a -m "feat: implement my feature" gw git pr-prep
Check readiness
gw gh pr create --write --title "feat: implement my feature" Quick fix and ship gw git fast --write -m "fix: correct typo in header" Ship with full checks gw git ship --write -a -m "feat: add auth refresh"
This does: auto-stage all → format → type-check → commit → push
Check CI before merging gw ci --affected --fail-fast
Quick: only changed packages
gw gh pr status
See CI status on current PR
gw gh run list
See recent workflow runs
gw gh run watch 12345678
Watch the current run
Pull latest changes gw git pull --write
Pull from remote (merge strategy)
gw git pull --write --rebase
Pull with rebase (cleaner history)
gw git pull --write origin main
Pull specific remote/branch
Sync branch with main gw git sync --write
Fetch + rebase + push
Save work in progress gw git save --write
Stage all + WIP commit
or
gw git stash --write
Stash without committing
Merge Conflicts When conflicts occur during sync/rebase/merge: gw git status
See conflicted files
Edit files to resolve conflicts:
<<<<<<< HEAD
Your changes
=======
Incoming changes
>>>>>>> feature-branch
After resolving:
gw git add --write resolved-file.ts gw git commit --write -m "fix: resolve merge conflicts" Worktrees Work on multiple branches simultaneously without stashing: gw git worktree add --write .. /grove-hotfix fix/urgent gw git worktree list gw git worktree remove --write .. /grove-hotfix Best Practices DO Start every session with gw context (or gw --json context for structured data) Use gw for all git/GitHub operations (never raw git or gh ) Use gf for all codebase search (never raw grep or rg ) Use Conventional Commits format (gw enforces this) Use gw git ship --write -a -m "..." for the fastest commit+push workflow Use gw ci --affected instead of full CI when possible Use gw git pr-prep before creating PRs Use gf impact before making changes to understand blast radius One logical change per commit Keep subject under 50 characters Use imperative mood ("Add" not "Added") Use --dry-run to preview destructive operations DON'T Use raw git or gh commands directly Force-push to protected branches Use vague messages ("Update files", "Fix stuff") Combine multiple unrelated changes in one commit Skip the --write flag (even if it seems tedious — it's a safety net) Troubleshooting "Protected branch" You tried to force-push to main . Create a PR instead: gw gh pr create --write --title "My changes" "Rate limit exhausted" gw gh rate-limit
Check when it resets
Committed to wrong branch gw git log --limit 1
Note the commit hash
gw git switch --write correct-branch
Cherry-pick the commit, then remove from wrong branch
Need to undo last commit gw git undo --write
Keeps changes staged
Related Resources gw source : tools/grove-wrap-go/ — Go source code and Makefile gw spec : docs/specs/gw-cli-spec.md — Technical specification Git guide : AgentUsage/git_guide.md — Extended documentation MCP integration : gw mcp serve exposes all commands as MCP tools for Claude Code