Skip to content

Organize gitignore and ignore local editor caches#37

Merged
hawkff merged 2 commits into
mainfrom
chore/organize-gitignore-local-caches
Jun 20, 2026
Merged

Organize gitignore and ignore local editor caches#37
hawkff merged 2 commits into
mainfrom
chore/organize-gitignore-local-caches

Conversation

@hawkff

@hawkff hawkff commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • organize .gitignore into labeled sections
  • ignore Cursor project state via .cursor/
  • ignore Kotlin local build/cache state via .kotlin/
  • ignore macOS AppleDouble files that can break Android builds
  • keep existing local/generated artifacts ignored

Validation

  • git diff --check
  • git check-ignore -v .cursor .kotlin .DS_Store ._foo .masterdnsvpn-build

Greptile Summary

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.

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]
Loading
%%{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]
Loading

Reviews (2): Last reviewed commit: "Remove redundant build ignore pattern" | Re-trigger Greptile

@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

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! 🐇✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main purpose of the changes: organizing .gitignore and adding local editor cache ignores.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description clearly describes all changes made to .gitignore, including reorganization, new ignore patterns, and validation steps performed.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment thread .gitignore Outdated
@hawkff hawkff merged commit 251aa83 into main Jun 20, 2026
5 checks passed
@hawkff hawkff deleted the chore/organize-gitignore-local-caches branch June 20, 2026 01:30
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