Skip to content

chore: tidy up and harden .gitignore - #37

Merged
jvsena42 merged 2 commits into
mainfrom
fix/update-gitignore
Jul 30, 2026
Merged

chore: tidy up and harden .gitignore#37
jvsena42 merged 2 commits into
mainfrom
fix/update-gitignore

Conversation

@jvsena42

Copy link
Copy Markdown
Owner

Summary

Consolidates and expands .gitignore, which had accumulated duplicate entries (*.log twice, the Android Studio block twice, captures/ three times) and was missing rules for real build output that was leaking into git status.

The immediate trigger: composeApp/release/baselineProfiles/**/*.dm showed up as untracked. The existing rule was .dm, which matches a file named .dm — not the extension — so signed-APK wizard output was never ignored.

Changes

  • Reorganized into labelled sections and removed all duplicate entries.
  • Ignore signed-APK wizard output: /*/release/, *.dm, *.aab. Scoped to module roots (/*/release/) deliberately, so it can never shadow an Android variant source set such as composeApp/src/release/.
  • Added: .vscode/, google-services.json, *.hprof, *.tmp, *.swp, *.iws, *.pid, test-results/, test-reports/, .kotlin_cache/, kotlinc/, kotlin-tooling-box/, *.xcarchive, /gradle/gradle-daemon-jvm.properties.
  • Added .claude/settings.local.json — previously only ignored via a contributor's global git ignore, so a fresh clone would have surfaced (and could have committed) machine-local settings.
  • Preserved the existing Xcode negation block verbatim. Blanket *.xcodeproj / *.xcworkspace rules were deliberately not added: project.pbxproj, the shared scheme, and contents.xcworkspacedata are tracked, and a blanket rule would silently ignore any newly added file under the project.

Test plan

  • git ls-files -i -c --exclude-standard returns empty — no tracked file is shadowed by the new rules.
  • git check-ignore -v confirms composeApp/release/*.apk and composeApp/release/**/*.dm are ignored, while a hypothetical composeApp/src/release/res/values/strings.xml is not.
  • Cloned the branch into a clean directory and ran ./gradlew :composeApp:assembleDebug with only ANDROID_HOME set (no local.properties) — builds successfully, confirming nothing the build needs is missing from a fresh checkout.
  • Cross-checked every path = reference in iosApp.xcodeproj/project.pbxproj against the fresh clone; the only absent entries are the Worn.app / WornShareExtension.appex build products.
  • No Gradle script reads local.properties, a keystore, or google-services.json, so ignoring them changes nothing for contributors.

Checklist

  • Code follows the project's architecture and conventions
  • Changes applied to both Android and iOS where applicable (n/a — no UI or platform code touched)
  • No hardcoded user-facing strings (n/a)
  • ./gradlew detekt passes (n/a — no Kotlin sources changed; verified via the fresh-clone build)
  • Tests added/updated where relevant (n/a — tooling-only change, verified manually above)
  • No generated or temporary files committed

🤖 Generated with Claude Code

@jvsena42
jvsena42 enabled auto-merge July 30, 2026 22:53
@jvsena42
jvsena42 merged commit c555fe4 into main Jul 30, 2026
2 checks passed
@jvsena42
jvsena42 deleted the fix/update-gitignore branch July 30, 2026 22:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant