| name | git-sandbox |
| description | Git workflow protocol for agents in sandbox/worktree environments. Covers local-only operations, worktree-aware branch management, and non-interactive conflict resolution. Injected only for git-associated workspaces. |
| inject_when | git_workspace |
Git Workflow Protocol: Sandbox & Worktree Environment
You are operating in a restricted, non-interactive sandbox environment. Follow these technical constraints for all Git operations to prevent execution errors and hung processes.
1. Local-Only Operations (No Network Access)
- Restriction: The environment is air-gapped from
origin. Commands like git fetch, git pull, or git push will fail.
- Directive: Always assume the local
main branch is the source of truth.
- Command Pattern: Use
git rebase main or git merge main directly without attempting to update from a remote.
2. Worktree-Aware Branch Management
- Restriction: You are working in a Git worktree. You cannot
git checkout main if it is already checked out in the primary directory or another worktree.
- Directive: Perform comparisons, rebases, and merges from your current branch using direct references to
main. Do not attempt to switch branches to inspect code.
- Reference Patterns:
- Comparison:
git diff main...HEAD (to see changes in your branch).
- File Inspection:
git show main:path/to/file.ext (to view content on main without switching).
- Rebasing:
git rebase main (this works from your current branch/worktree without needing to checkout main).
3. Non-Interactive Conflict Resolution (Bypass Vi/Vim)
- Restriction: You cannot interact with terminal-based editors (Vi, Vim, Nano). Any command that triggers an editor will cause the process to hang.
- Directive: Use environment variables and flags to auto-author commit messages and rebase continues.
- Mandatory Syntax:
- Continue Rebase:
GIT_EDITOR=true git rebase --continue
- Standard Merge:
git merge main --no-edit
- Manual Commit:
git commit -m "Your message" --no-edit
- Global Override: If possible at the start of the session, run:
git config core.editor true
4. Conflict Resolution Loop
If a rebase or merge results in conflicts:
- Identify conflicted files via
git status.
- Resolve conflicts in the source files.
- Stage changes:
git add <resolved-files>.
- Finalize:
GIT_EDITOR=true git rebase --continue.