Here Be Git
Initialise a git repository with optional configuration for agent workflows.
Workflow
Step 1: Initialise Git Repository
Run git init in the current working directory. Confirm to the user that the repository has been initialised.
Step 2: Agent Commit Instructions
Ask the user:
Would you like me to add instructions for the agent to always commit when it's done with a task?
If the user confirms:
- Check if
AGENTS.md exists in the current directory
- If it exists, append the commit instructions to it
- If it doesn't exist, create it with the commit instructions
The commit instructions to add:
## Git Workflow
- Always commit your changes when you have completed a task or reached a logical stopping point
- Use clear, descriptive commit messages that explain what was done and why
- Ensure the working directory is clean (all changes committed) before ending your session
After creating or updating AGENTS.md:
- Check if
CLAUDE.md exists in the current directory
- If it doesn't exist, create it with just
@AGENTS.md followed by a newline
- If it exists but doesn't already have
@AGENTS.md at the top, prepend @AGENTS.md followed by a newline to the existing content
- Commit both files together with an appropriate message
Step 3: Gitignore Configuration
Ask the user:
Would you like me to create a .gitignore? If so, what flavour or patterns should I include? (e.g., Node.js, Python, macOS, IDE files, or specific files/patterns)
If the user provides a flavour or patterns:
- Generate an appropriate
.gitignore based on their input
- For common flavours, include standard patterns:
- Node.js:
node_modules/, dist/, .env, *.log, etc.
- Python:
__pycache__/, *.pyc, .venv/, venv/, .env, *.egg-info/, etc.
- macOS:
.DS_Store, .AppleDouble, .LSOverride, ._*
- IDE files:
.idea/, .vscode/, *.swp, *.swo, *.sublime-*
- Include any specific files or patterns the user mentions
- Commit the
.gitignore with an appropriate message
If the user declines, skip this step.
Notes
- If git is already initialised in the directory, inform the user and skip to Step 2
- Use the AskUserQuestion tool for the confirmation prompts
- Keep commits atomic and well-described