CLI Reference
All commands run as git repobox <command>.
Setup
# Initialize repo.box in an existing git repo
git repobox init
# → Creates .repobox/config.yml template
# → Sets gpg.program = repobox in git config
# Check current identity
git repobox whoami
# → alice (evm:0xAAA...123)
Keys
# Generate a new EVM key pair
git repobox keys generate
# → Created: ~/.repobox/keys/0xAAA...123.key
# → Address: evm:0xAAA...123
# Generate with alias
git repobox keys generate --alias alice
# Import an existing private key
git repobox keys import <private-key>
# Set your identity (which key to sign with)
git repobox identity set <private-key>
git repobox identity set <private-key> --alias alice
Key storage:
- Private keys:
~/.repobox/keys/<address>.key - Identity:
~/.repobox/identity
Identity precedence (standard git config resolution):
git -c user.signingkey=evm:0x...(per-command)GIT_CONFIG_*env vars (per-process, used for agents).git/config(per-repo)~/.gitconfig(global)
Aliases
Local address book stored in ~/.repobox/aliases.
git repobox alias add claude evm:0xBBB...456
git repobox alias remove claude
git repobox alias list
Aliases resolve everywhere in CLI output:
❌ claude cannot edit .repobox/config.yml on >main
Spawning Agents
# Generate a key for the agent
git repobox keys generate --alias claude
# Add to .repobox/config.yml groups, then spawn:
GIT_CONFIG_COUNT=1 \
GIT_CONFIG_KEY_0=user.signingkey \
GIT_CONFIG_VALUE_0=evm:0xBBB...456 \
your-agent-command --task "fix the auth bug"
Sub-agents use + notation:
git repobox keys generate --alias claude+roudy-piglet
Verification & Debugging
# Check if an identity can do something
git repobox check evm:0xBBB...456 push >main
# ❌ denied — implicit deny
git repobox check evm:0xBBB...456 push >feature/fix
# ✅ allowed — rule: agents push >feature/**
# Validate .repobox/config.yml syntax
git repobox lint
# Show permission changes between versions
git repobox diff
# Verify commit signatures
git verify-commit HEAD
git log --show-signature
Passthrough Commands
These git commands have no permission checks:
git status, git log, git diff, git add, git stash, git fetch, git clone, git remote