Summary
Add Build/ to the template .gitignore used by Socket Apple/Xcode project guidance, bootstrap, and guidance-sync workflows for Xcode app repositories.
This came up in gaelic-ghost/envbar after switching Xcode to use workspace-relative build folders instead of sending build products into global DerivedData. A normal local build succeeded, but it left a large untracked Build/ tree in the repo until xcodebuild clean removed it.
Why this matters
Workspace-relative build folders are a reasonable local Xcode preference, especially when a developer wants build products close to the repo instead of hidden somewhere under DerivedData. Socket-generated or Socket-synced Xcode app guidance should treat that as expected local developer behavior, not as a source-control noise trap.
Suggested change
Update the relevant Apple/Xcode app template and guidance-sync surfaces so the default .gitignore includes at least:
Build/
DerivedData/
xcuserdata/
*.xcuserstate
Also check any repo-maintenance or sync validation docs that describe ignored local Xcode output folders, so the wording stays consistent across bootstrap, sync, and maintenance guidance.
Acceptance criteria
- Xcode app template
.gitignore includes Build/ for workspace-relative build products.
- Apple/Xcode project guidance or sync workflows preserve or add
Build/ where they manage local generated-output ignore rules.
- Repo-maintenance docs/examples remain consistent with the template behavior.
- Existing
DerivedData/, xcuserdata/, and *.xcuserstate ignore behavior is preserved.
Evidence
gaelic-ghost/envbar builds successfully with xcodebuild -project envbar.xcodeproj -scheme envbar -configuration Debug -destination platform=macOS build.
- With workspace-relative build output, the build generated a large untracked
Build/ directory because the repo only ignored DerivedData/, xcuserdata/, and *.xcuserstate.
- Adding
Build/ to .gitignore fixed the local source-control noise while preserving workspace-relative build output.
Summary
Add
Build/to the template.gitignoreused by Socket Apple/Xcode project guidance, bootstrap, and guidance-sync workflows for Xcode app repositories.This came up in
gaelic-ghost/envbarafter switching Xcode to use workspace-relative build folders instead of sending build products into global DerivedData. A normal local build succeeded, but it left a large untrackedBuild/tree in the repo untilxcodebuild cleanremoved it.Why this matters
Workspace-relative build folders are a reasonable local Xcode preference, especially when a developer wants build products close to the repo instead of hidden somewhere under DerivedData. Socket-generated or Socket-synced Xcode app guidance should treat that as expected local developer behavior, not as a source-control noise trap.
Suggested change
Update the relevant Apple/Xcode app template and guidance-sync surfaces so the default
.gitignoreincludes at least:Also check any repo-maintenance or sync validation docs that describe ignored local Xcode output folders, so the wording stays consistent across bootstrap, sync, and maintenance guidance.
Acceptance criteria
.gitignoreincludesBuild/for workspace-relative build products.Build/where they manage local generated-output ignore rules.DerivedData/,xcuserdata/, and*.xcuserstateignore behavior is preserved.Evidence
gaelic-ghost/envbarbuilds successfully withxcodebuild -project envbar.xcodeproj -scheme envbar -configuration Debug -destination platform=macOS build.Build/directory because the repo only ignoredDerivedData/,xcuserdata/, and*.xcuserstate.Build/to.gitignorefixed the local source-control noise while preserving workspace-relative build output.