얇은 git CLI 래퍼. F6-L2 sync MVP 의 빌딩 블록. - run/isRepo/hasRemote/addAll/commit/push/currentBranch - commit() 은 "nothing to commit" 을 changed=false 로 구분 (정상 path) - 그 외 실패는 throw, exitCode + stderr 보존 - 8 vitest cases — empty file 로 GIT_CONFIG_GLOBAL/SYSTEM 격리 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>