diff --git a/CLAUDE.md b/CLAUDE.md index fd11f5785..a3a2bf2c8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -124,6 +124,43 @@ The Package.swift heavily uses environment variables for conditional compilation - Library evolution mode generates .swiftinterface files - Various private framework integrations can be toggled +## Git and GitHub Workflow + +**IMPORTANT: This project uses GitBulter for version control management** + +### Critical Git Rules +- **NEVER change branches** - The user manages branches through GitBulter +- **NEVER run git commit commands** - The user commits through GitBulter GUI +- **ALWAYS create pull requests** using `gh pr create` with the exact branch specified by the user +- **DO NOT switch branches** when creating pull requests + +### Commit Workflow +When asked to commit changes: +1. **Generate a commit message** and provide it to the user +2. **List the files to be committed** (specify if not all files) +3. **Let the user commit through GitBulter GUI** - do not run git commit commands +4. Wait for user confirmation before proceeding with any PR creation + +Example response when asked to commit: +``` +Here's the commit message for you to use in GitBulter: + +"Add feature X to improve Y + +- Implemented new functionality +- Updated tests +- Fixed related issues" + +Files to commit: +- src/feature.swift +- tests/feature_test.swift +``` + +### Pull Request Workflow +1. Only create PR after user confirms the commit is done +2. Use `gh pr create` from the specified branch +3. Do not change HEAD or switch branches during PR creation + ## Important Notes - This project uses private Apple APIs and frameworks - NOT for App Store distribution