# Gradle
.gradle/
build/
!gradle/wrapper/gradle-wrapper.jar
!gradle-wrapper.properties
gradle-app.setting

# Project-local GRADLE_USER_HOME (used by the Claude sandbox so its
# write surface stays inside the project). Older sandbox layouts used
# .gradle-home/; current layout uses .gradle-user-home/. Both stay
# ignored so machines straddling the rename don't accidentally commit.
.gradle-home/
.gradle-user-home/

# Kotlin 2.x Gradle plugin build-session data.
.kotlin/

# Android
local.properties
*.apk
*.aab
*.ap_
*.dex
*.class
captures/
output.json
release/

# Keystores / secrets — the signing key lives OUTSIDE the repo; these
# patterns are defense-in-depth so a stray copy can never be committed.
*.jks
*.keystore
*.p12
*.pfx
keystore.properties
.env

# IDE — IntelliJ / Android Studio
.idea/
*.iml
*.iws
*.ipr
.cxx/

# IDE — VS Code
.vscode/

# Claude Code / sandbox — local, per-machine, never committed
CLAUDE.local.md
sandbox.local
.claude/

# Internal dev-diary — the verbose, private working record (tasks, granular
# changelog, raw decisions, roadmap tracker, tester notes). Its own private
# git repo lives here; the public repo never tracks it. See the "Public/private
# split" decision. CLAUDE.local.md (above) is symlinked into it.
internal/

# OS
.DS_Store
Thumbs.db

# Logs / temp
*.log
*.tmp
*.swp
*.swo
*~

# Profiling
profiler/

# Design scratch / mood board / candidates — reference only, never shipped
# and not derived-from. The source masters that shipped assets ARE derived
# from live (tracked) under art/ instead. See art/README.md.
inspirations/

# Shared defaults config — produced locally by `examples/pull-config.sh`
# from whatever the user has tuned on their device. Each developer's
# defaults are theirs alone; the file is layered into fixtures at deploy
# time but never checked in.
examples/defaults/

