diff --git a/.gitignore b/.gitignore
index e69de29..834a486 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# macOS
+.DS_Store
+
+# Xcode user data
+*.xcuserstate
+*.pbxuser
+*.mode1v3
+*.mode2v3
+
+# Project user-specific data
+wake.xcodeproj/xcuserdata/
+wake.xcodeproj/project.xcworkspace/xcuserdata/
+
+# Keep shared data (trackable)
+# wake.xcodeproj/xcshareddata/
+
+# SwiftPM / Build artifacts
+.build/
+.swiftpm/xcode/xcuserdata/
+.swiftpm/xcode/package.xcworkspace/xcuserdata/
+
+# Derived data and build output
+DerivedData/
+build/
diff --git a/wake.xcodeproj/xcuserdata/elliwood.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/wake.xcodeproj/xcuserdata/elliwood.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
deleted file mode 100644
index 7b5cc31..0000000
--- a/wake.xcodeproj/xcuserdata/elliwood.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/wake.xcodeproj/xcuserdata/elliwood.xcuserdatad/xcschemes/xcschememanagement.plist b/wake.xcodeproj/xcuserdata/elliwood.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index a4c98a3..0000000
--- a/wake.xcodeproj/xcuserdata/elliwood.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- SchemeUserState
-
- wake.xcscheme_^#shared#^_
-
- orderHint
- 0
-
-
-
-