You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR reorganizes .gitignore into clearly labeled sections and adds coverage for Cursor editor state (.cursor/), Kotlin build cache (.kotlin/), and macOS AppleDouble files (._*, __MACOSX/). Existing entries are preserved; directory patterns are normalized with trailing slashes, and the now-redundant .idea/deploymentTargetDropDown.xml entry is removed since .idea/ covers it.
Adds .cursor/, .kotlin/, ._*, and __MACOSX/ to cover common developer environment artifacts not previously ignored.
Trailing slashes added to directory entries so patterns explicitly match only directories.
/nkmr and /external changed to /nkmr/ and /external/; these now match only directories at the repo root.
Confidence Score: 5/5
Safe to merge — purely additive .gitignore housekeeping with no tracked files affected.
The change only reorganizes and extends .gitignore. All new entries cover editor/OS/build artifacts that should never be committed, and the trailing-slash normalization on existing entries tightens directory matching in a harmless way for this project.
No files require special attention.
Important Files Changed
Filename
Overview
.gitignore
Reorganized into labeled sections; added .cursor/, .kotlin/, ._*, __MACOSX/; normalized directory patterns with trailing slashes; removed now-subsumed .idea/deploymentTargetDropDown.xml entry.
The .gitignore file is rewritten to expand and reorganize ignore rules across six functional sections: macOS filesystem metadata (.DS_Store, ._*, __MACOSX/), IDE/editor directories (.idea/, .vscode/, .cursor/, *.iml), Gradle/Kotlin build state (.gradle/, .kotlin/, build/), native/Android build outputs (/captures/, .externalNativeBuild/, .cxx/, and project-specific paths), local configuration and generated artifacts (local.properties, /app/..., /service_account_credentials.json, /nkmr/), and an /external/ section.
Changes
.gitignore Normalization
Layer / File(s)
Summary
Ignore rule additions and restructuring .gitignore
Rewrites the file to add macOS metadata patterns, IDE/editor directory patterns, Gradle/Kotlin and nested build output rules, native/Android build output paths, local config and generated app artifact entries, a service account credentials entry, and an /external/ section; removes the prior narrow .idea/deploymentTargetDropDown.xml entry.
Estimated code review effort
🎯 1 (Trivial) | ⏱️ ~3 minutes
Poem
A rabbit hops through tangled trees,
Sweeping .DS_Store leaves with ease. .idea/, .cursor/, .vscode/ too—
All tucked away from the reviewer's view.
Build outputs buried, credentials hidden tight,
The .gitignore den is tidy tonight! 🐇✨
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
Greptile Summary
This PR reorganizes
.gitignoreinto clearly labeled sections and adds coverage for Cursor editor state (.cursor/), Kotlin build cache (.kotlin/), and macOS AppleDouble files (._*,__MACOSX/). Existing entries are preserved; directory patterns are normalized with trailing slashes, and the now-redundant.idea/deploymentTargetDropDown.xmlentry is removed since.idea/covers it..cursor/,.kotlin/,._*, and__MACOSX/to cover common developer environment artifacts not previously ignored./nkmrand/externalchanged to/nkmr/and/external/; these now match only directories at the repo root.Confidence Score: 5/5
Safe to merge — purely additive .gitignore housekeeping with no tracked files affected.
The change only reorganizes and extends .gitignore. All new entries cover editor/OS/build artifacts that should never be committed, and the trailing-slash normalization on existing entries tightens directory matching in a harmless way for this project.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[.gitignore] --> B[OS / filesystem] A --> C[IDE / editor] A --> D[Gradle / Kotlin build state] A --> E[Android / native build outputs] A --> F[Local config and artifacts] A --> G[Submodules] B --> B1[DS_Store] B --> B2[AppleDouble files] B --> B3[__MACOSX dir] C --> C1[iml files] C --> C2[.idea dir] C --> C3[.vscode dir] C --> C4[.cursor dir - new] D --> D1[.gradle dir] D --> D2[.kotlin dir - new] D --> D3[build dir] E --> E1[captures] E --> E2[externalNativeBuild] E --> E3[cxx] E --> E4[jniLibs] E --> E5[libcore_build] E --> E6[masterdnsvpn-build] F --> F1[local.properties] F --> F2[app libs] F --> F3[sing-box asset] F --> F4[service_account_credentials] G --> G1[external dir]%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A[.gitignore] --> B[OS / filesystem] A --> C[IDE / editor] A --> D[Gradle / Kotlin build state] A --> E[Android / native build outputs] A --> F[Local config and artifacts] A --> G[Submodules] B --> B1[DS_Store] B --> B2[AppleDouble files] B --> B3[__MACOSX dir] C --> C1[iml files] C --> C2[.idea dir] C --> C3[.vscode dir] C --> C4[.cursor dir - new] D --> D1[.gradle dir] D --> D2[.kotlin dir - new] D --> D3[build dir] E --> E1[captures] E --> E2[externalNativeBuild] E --> E3[cxx] E --> E4[jniLibs] E --> E5[libcore_build] E --> E6[masterdnsvpn-build] F --> F1[local.properties] F --> F2[app libs] F --> F3[sing-box asset] F --> F4[service_account_credentials] G --> G1[external dir]Reviews (2): Last reviewed commit: "Remove redundant build ignore pattern" | Re-trigger Greptile