# Python
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
*.egg
.pytest_cache/

# Virtual environments
venv/
.venv/

# IDE
.idea/
.vscode/
*.iml

# OS
.DS_Store
Thumbs.db

# Android / Gradle
.gradle/
local.properties
/build/
/app/build/
/experiments/quest/**/build/
/app/release/
*.apk
*.aab

# Scratch / working directory (local pet packs, generated test assets, etc.)
/tmp/
/build-*.log
*.jks
*.keystore
/captures
.externalNativeBuild
.cxx
dist/

# Environment
.env
*.env.local

# TLS dev certificates
certs/

# Local tools
.subframe/
voice-lab-runs/
realtime-voice-runs/
realtime-agent-runs/
voice_rec_*.wav

# Ad-hoc debugging artifacts (logcat dumps, screenshots, UI XMLs)
.scratch/

# VitePress
user-docs/.vitepress/cache/
user-docs/.vitepress/dist/
node_modules/
# Anchor VitePress-only npm manifests to root/user-docs so desktop/package.json is tracked.
/package.json
/package-lock.json
/user-docs/package.json
/user-docs/package-lock.json

# Local upstream references (not shipped in this repo)
hermes-agent-upstream/
hermes-agent-fork/

# Claude Code internal state (worktrees, image cache, conversation logs)
.claude/
.claude-launcher/

# Per-issue dev-loop brief generated by scripts/start-issue.sh into each worktree
ISSUE-BRIEF.md

# Kotlin compiler cache
.kotlin/

# Release signing & Play Store credentials — never commit these
play-service-account.json
keystore.properties

# Desktop TUI smoke harness runtime artifacts
.smoke-relay.pid
.smoke-relay.log

# Legacy generated desktop tray assets may remain after upgrading a worktree.
desktop/tray/ui/vendor/
# Generated from assets/screenshots/02_chat.png before docs dev/build.
/user-docs/public/chat-demo.png
/user-docs/public/product/desktop-ui/
