but

Installation
SKILL.md

GitButler CLI Skill

Use GitButler CLI (but) as the default version-control interface.

Non-Negotiable Rules

  1. Use but for all write operations. Never run git add, git commit, git push, git checkout, git merge, git rebase, git stash, or git cherry-pick. If the user says a git write command, translate it to but and run that.
  2. After mutations, read the returned output for the updated workspace state — it replaces a follow-up but status -fv.
  3. Never chain but mutations with && or ;. Each mutation can reassign CLI IDs, so the second command may silently target the wrong file or commit. Run one mutation, read the returned workspace state, and take fresh IDs from it.
  4. Use CLI IDs from but diff / but status -fv / but show; never hardcode IDs.
  5. Do not run but status or but status -fv as routine preflight for selected dirty-file or hunk commits. Start with but diff; use but status -fv when existing branch, stack, commit, conflict, or history state matters.
  6. For "commit these selected changes on a new branch", prefer one command: but commit <branch> -c -m "<msg>" --changes <ids>.

Choose Inspection By Task

Start with the narrowest inspection that answers the task. Avoid ritual status checks.

Installs
885
GitHub Stars
21.2K
First Seen
Feb 10, 2026
but — gitbutlerapp/gitbutler