diff --git a/.gitignore b/.gitignore
index 00741cb..6a15e66 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,24 @@
+# macOS / editor noise
.DS_Store
-.idea/
\ No newline at end of file
+.idea/
+
+# Xcode per-user state (user-specific UI snapshots should not ship with the repo)
+**/xcuserdata/
+*.xcuserstate
+
+# ESP-IDF firmware build artefacts
+firmware/build/
+firmware/managed_components/
+firmware/sdkconfig
+firmware/sdkconfig.old
+firmware/sdkconfig.local
+firmware/sdkconfig.defaults.local
+firmware/dependencies.lock.local
+
+# Go server build artefacts
+server/StackChan
+server/StackChan.exe
+
+# Environment files for docker/compose and local overrides
+.env
+.env.local
diff --git a/app/StackChan.xcodeproj/project.xcworkspace/xcuserdata/yuanzhihong.xcuserdatad/UserInterfaceState.xcuserstate b/app/StackChan.xcodeproj/project.xcworkspace/xcuserdata/yuanzhihong.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index 93919c4..0000000
Binary files a/app/StackChan.xcodeproj/project.xcworkspace/xcuserdata/yuanzhihong.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/app/StackChan.xcodeproj/xcuserdata/yuanzhihong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/app/StackChan.xcodeproj/xcuserdata/yuanzhihong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
deleted file mode 100644
index 6c47dd4..0000000
--- a/app/StackChan.xcodeproj/xcuserdata/yuanzhihong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
diff --git a/app/StackChan.xcodeproj/xcuserdata/yuanzhihong.xcuserdatad/xcschemes/xcschememanagement.plist b/app/StackChan.xcodeproj/xcuserdata/yuanzhihong.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index d0e43d9..0000000
--- a/app/StackChan.xcodeproj/xcuserdata/yuanzhihong.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- SchemeUserState
-
- StackChan.xcscheme_^#shared#^_
-
- orderHint
- 0
-
-
- SuppressBuildableAutocreation
-
- 0EBD7D372ECDA27C0001A9D1
-
- primary
-
-
-
-
-