# ─── Python ───────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg
*.egg-info/
.eggs/
build/
dist/
wheels/
*.whl
.installed.cfg

# Virtual environments
.venv/
venv/
env/
ENV/

# Tooling caches
.pytest_cache/
.ruff_cache/
.mypy_cache/
.pyright/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
.cache/

# ─── Editors / OS ─────────────────────────────────────────────────────────
.vscode/
.idea/
*.swp
*~
.DS_Store
Thumbs.db

# ─── Environment / secrets ─────────────────────────────────────────────────
.env
.env.*
!.env.example

# ─── Trilho B: toolchain (regenerable build outputs of B0/B1) ───────────────
# Built CPython, native wheels, staged site-packages and cloned sources.
# Reproduce with toolchain/00_fetch_cpython.sh, 01_build_wheels.sh, 02_stage_deps.sh.
toolchain/dist/
toolchain/.src/
toolchain/wheelhouse/

# ─── Trilho B: android-host (Gradle / NDK build artifacts) ──────────────────
android-host/build/
android-host/app/build/
android-host/app/.cxx/
android-host/.gradle/
android-host/.kotlin/
android-host/local.properties
android-host/captures/
*.apk
*.aab
*.ap_
*.dex

# Keep the Gradle wrapper jar tracked (do not ignore it):
!android-host/gradle/wrapper/gradle-wrapper.jar

# MkDocs build output
site/

# `tempest build` embeds the user app here as a generated asset (phase C): the
# legacy single-file slot and the multi-file project bundle. Both are build
# artifacts staged from the user's project, not source.
android-host/app/src/main/assets/tempest_app.py
android-host/app/src/main/assets/tempest_app_bundle.zip

# Bundled prebuilt host APK (staged from `make apk` output via `make stage-host`).
# Shipped in the wheel via [tool.hatch.build] artifacts; too big to track in git.
tempestroid/_assets/*.apk

# Runtime lock for scheduled tasks — per-session (sessionId/pid), not source.
.claude/scheduled_tasks.lock
.claude/worktrees/
docs/assets/emulator/pool/
