name: setup description: Initializes git-agent for a repository — generates commit scopes from git history and .gitignore via AI. Use when the user asks to "configure git", "setup git", "set commit scopes", "update gitignore", "create gitignore", or needs project-specific Git settings. user-invocable: true argument-hint: "[scope|gitignore]" model: haiku allowed-tools: ["Bash(git-agent:)", "Bash(git:)", "Bash(ls:)", "Bash(find:)", "Read", "Write", "Edit", "AskUserQuestion"]
CRITICAL:
- Always preserve custom
.gitignorerules before runninggit-agent init --gitignore. - On auth error (401), retry the same
git-agent initcommand with--freeappended.
- Verify
git config user.nameandgit config user.email; if either is missing, useAskUserQuestiontool to collect it from the user. - Parse
$ARGUMENTSto determine mode:- Empty → run both scope and gitignore
scope→ run only scope generationgitignore→ run only .gitignore generation
- If running gitignore and
.gitignorealready exists:- Read the current file
- Identify lines that are NOT part of the standard git-agent generated block (anything between
# --- git-agent ---markers or common auto-generated patterns) - Save those custom rules
- Run
git-agent initwith the appropriate flags:- Both:
git-agent init --scope --gitignore --force - Scope only:
git-agent init --scope --force - Gitignore only:
git-agent init --gitignore --force
- Both:
- On auth error (401), retry the same command with
--freeappended. - If custom
.gitignorerules were saved in step 3, append them back and showgit diff .gitignore.
CLI reference: ${CLAUDE_PLUGIN_ROOT}/references/cli.md