feature/* ──→ develop ──→ release/vX.X.X ──→ main (tag + release notes)
hotfix/* ──→ main + develop
| Branch | Purpose |
|---|---|
main |
Production only. Never commit directly. |
develop |
Default branch. All feature PRs target here. |
release/vX.X.X |
Release prep. Branched from develop, merged into main + tag. |
feature/* |
New features. Branched from develop. |
fix/* |
Bug fixes. Branched from develop. |
hotfix/* |
Critical production fixes. Branched from main, merged into main + develop. |
- Branch
release/vX.X.Xfromdevelop - Bump version, finalize changelog
- PR →
main(squash merge) - Tag
vX.X.Xon main → GitHub creates release notes automatically - Back-merge
main→develop
- Test on
~/XcodeAutoPilotTestusing MCP tools in Claude Code - Call
autopilot_build→ confirm errors detected with source context - Generate fixes, call
autopilot_apply_fixes→ confirm fixes applied - Call
autopilot_buildagain → confirm 0 errors - Only open a PR after the full loop passes
- Create a GitHub issue describing the change
- Branch off
developwith a descriptive name (e.g.feat/apply-fixes-tool,fix/error-parser) - Develop and commit with conventional commit messages
- Test on XcodeAutoPilotTest (see above)
- Open PR targeting
develop— assignleejh08, add appropriate label, addleejh08as reviewer - User approves and merges
Follow Conventional Commits:
feat:— new featurefix:— bug fixchore:— maintenance, config, toolingdocs:— documentationrefactor:— code restructuring without behavior changetest:— tests
Always append:
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use exactly one of the five repo labels per issue/PR:
fix— bug fixesfeature— new featureschore— maintenancedocs— documentationci— CI/CD and build pipeline
- Assignee: always
leejh08 - Reviewer: always
leejh08
MCP servers expose tools only — no internal LLM calls. Claude Code handles all reasoning. The server handles build execution, context extraction, and safe file patching.
| Tool | Responsibility |
|---|---|
autopilot_build |
Run xcodebuild, return structured errors + source context |
autopilot_apply_fixes |
Safely apply fixes from Claude Code (backup + rollback) |
autopilot_list_schemes |
List available Xcode schemes |
autopilot_clean |
Run xcodebuild clean |
autopilot_history |
Return session fix history |
autopilot_build → analyze errors + context → autopilot_apply_fixes → autopilot_build → ... → 0 errors
.mcp.jsonis gitignored — copy from.mcp.json.example- Never commit secrets; GitHub push protection is enabled
npm install
npm run build # tsc
npm test # vitest